版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄TOC\o"1-3"\u第一章單片機(jī)設(shè)計(jì)目的和意義 1設(shè)計(jì)目的 1設(shè)計(jì)意義 1第二章設(shè)計(jì)思路 2硬件設(shè)計(jì)及芯片介紹 2設(shè)計(jì)任務(wù) 22.1.2AT89S52 2 3 4程序設(shè)計(jì) 4第三章單片機(jī)的系統(tǒng)框圖及其原理介紹 5單片機(jī)系統(tǒng)框圖 5單片機(jī)系統(tǒng)模塊介紹 5時(shí)鐘電路及復(fù)位電路 5電源電路 6串行通信電路 7硬件焊接與測(cè)試 7元件清單與硬件 7焊接考前須知 8第四章單片機(jī)應(yīng)用程序及調(diào)試 94.1KeilC軟件介紹 9跑馬燈程序 9口控制跑馬燈程序 9按鍵控制跑馬燈程序 10按鍵控制〔中斷優(yōu)先級(jí)〕跑馬燈程序 10程序調(diào)試遇到的問(wèn)題 11第五章基于單片機(jī)的波形發(fā)生器設(shè)計(jì) 12波形發(fā)生器的原理介紹及電路圖 12原理介紹 12波形發(fā)生器電路圖 12芯片介紹 125.2.1DAC0832 12硬件焊接 13元件清單 13硬件連接時(shí)遇到的問(wèn)題及焊接實(shí)圖 14波形發(fā)生器程序設(shè)計(jì) 15設(shè)計(jì)框圖 15波形發(fā)生器程序 15示波器波形 17設(shè)計(jì)過(guò)程遇到的問(wèn)題 18第六章實(shí)習(xí)總結(jié) 19第一章單片機(jī)設(shè)計(jì)目的和意義在理論學(xué)習(xí)的根底上,通過(guò)完成一個(gè)涉及51單片機(jī)多種資源應(yīng)用并且具有綜合功能的最小系統(tǒng)目標(biāo)板。目標(biāo)板的設(shè)計(jì)和編程應(yīng)用。將理論知識(shí)與實(shí)際應(yīng)用結(jié)合起來(lái),從實(shí)際出發(fā)分析問(wèn)題,研究問(wèn)題和解決問(wèn)題,將單片機(jī)的知識(shí)系統(tǒng)化,而且能夠?qū)﹄娮与娐罚娮釉骷?,印制電路板等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí)。同時(shí)在軟件編程,排錯(cuò)調(diào)試,焊接技術(shù),相關(guān)儀器的使用技能等方面得到較全面的鍛煉和提高。為今后能夠獨(dú)立進(jìn)展某些單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)打下堅(jiān)實(shí)的根底。第二章設(shè)計(jì)思路及芯片介紹設(shè)計(jì)任務(wù)此次實(shí)習(xí)旨在利用AT89S52單片機(jī)的內(nèi)部定時(shí)器,中斷,串口,F(xiàn)LASHROM等內(nèi)部資源擴(kuò)展4個(gè)按鍵,8位LED字符型顯示模塊,ISP在線(xiàn)調(diào)試模塊,可與PC機(jī)通訊的RS-232串行接口設(shè)備等外設(shè),實(shí)現(xiàn)并焊接制作一個(gè)具有多種I/O接口的綜合功能電路的最小系統(tǒng)板。2.1.2AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線(xiàn),看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷構(gòu)造,全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CUP停頓工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停頓,直到下一個(gè)中斷或硬件復(fù)位為止。以下圖為AT89S52芯片。圖1AT89S52芯片圖P0口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”P(pán)1口引腳第二功能:表1P1口第二功能引腳號(hào)第二功能T2〔定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入〕,時(shí)鐘輸出T2EX〔定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制〕MOSI〔在系統(tǒng)編程用〕MISO〔在系統(tǒng)編程用〕SCK〔在系統(tǒng)編程用〕P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。P3口端口引腳第二功能:表2P3口第二功能引腳號(hào)第二功能RXD(串行輸入口)TXD(串行輸出口)INT0(外中斷0)INT1(外中斷1)T0(定時(shí)/計(jì)數(shù)器0)T1(定時(shí)/計(jì)數(shù)器1)WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE〔地址鎖存允許〕輸出脈沖用于鎖存地址的低8位字節(jié)。PSEN:程序儲(chǔ)存允許〔PSEN〕輸出是外部程序存儲(chǔ)器的讀選通信號(hào)。EA/VPP:外部訪(fǎng)問(wèn)允許,欲使CPU僅訪(fǎng)問(wèn)外部程序存儲(chǔ)器〔地址為0000H-FFFFH〕,EA端必須保持低電平〔接地〕。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.1.2MAX232第一局部是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供應(yīng)RS-232串口電平的需要。第二局部是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳〔R1IN〕、12腳〔R1OUT〕、11腳〔T1IN〕、14腳〔T1OUT〕為第一數(shù)據(jù)通道8腳〔R2IN〕、9腳〔R2OUT〕、10腳〔T2IN〕、7腳〔T2OUT〕為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三局部是供電。15腳GND、16腳VCC〔+5v〕。圖2MAX232芯片2.1.3CYT78L05CYT78L05是一顆二端穩(wěn)壓電源調(diào)整器。78L05是一種固定電壓(5V)三端集成穩(wěn)壓器,其適用于很多應(yīng)用場(chǎng)合。1.VIN(輸入);2GND〔電源地);3VOUT(輸出)。圖378L05芯片2.2程序設(shè)計(jì)單片機(jī)當(dāng)中的程序應(yīng)該是高質(zhì)量的,精簡(jiǎn)的程序。在程序設(shè)計(jì)時(shí)應(yīng)該考慮單片機(jī)的運(yùn)算速率以及容量的大小。高質(zhì)量的程序應(yīng)該滿(mǎn)足以下幾個(gè)條件:⑴程序設(shè)計(jì)模塊化具有好的可重用性和可移植性。⑵程序代碼干凈整潔,具有良好的可維護(hù)性。⑶程序語(yǔ)句簡(jiǎn)明易懂。代碼設(shè)計(jì)簡(jiǎn)明扼要,提高程序的運(yùn)行效率以及程序所占用的空間。⑷用一定的注釋說(shuō)明程序,讓程序更易懂,有利于程序的維護(hù)。在此次實(shí)習(xí)過(guò)程中,某些程序使用了匯編語(yǔ)言編寫(xiě),而有些程序選擇了C語(yǔ)言來(lái)編寫(xiě)。在學(xué)習(xí)單片機(jī)的時(shí)侯一直是用匯編語(yǔ)言編寫(xiě)的,現(xiàn)在突然用C語(yǔ)言來(lái)編寫(xiě)程序,覺(jué)的不是很熟練。特別是用C語(yǔ)言來(lái)控制那些存放器以及地址時(shí)覺(jué)得心有余而力缺乏。還有對(duì)于子程序的使用不是很熟練。C語(yǔ)言編寫(xiě)中斷優(yōu)先級(jí)程序時(shí),無(wú)法實(shí)現(xiàn)優(yōu)先級(jí)別的控制,當(dāng)中斷返回是無(wú)法返回原來(lái)的狀態(tài)。希望這個(gè)問(wèn)題在此次實(shí)習(xí)過(guò)程中解決。對(duì)于匯編語(yǔ)言程序的編寫(xiě)也存在著很多的問(wèn)題。在用查表程序的時(shí)候,對(duì)于PC和DPTR的使用以及中斷程序的調(diào)用還是有一點(diǎn)小小的問(wèn)題。而且用匯編語(yǔ)言編寫(xiě)程序很麻煩,往往用C語(yǔ)言寫(xiě)的一個(gè)小小的程序,用匯編語(yǔ)言要寫(xiě)很久。但是匯編語(yǔ)言有它的優(yōu)點(diǎn),它能更好的控制存放器及內(nèi)存地址。希望在這次程序的編寫(xiě)與調(diào)試過(guò)程中能更好的理解語(yǔ)言的魅力。第三章單片機(jī)的系統(tǒng)框圖及其原理介紹3.1單片機(jī)系統(tǒng)框圖圖4單片機(jī)系統(tǒng)框圖3.2單片機(jī)系統(tǒng)模塊介紹3T89S52時(shí)鐘電路及復(fù)位電路AT89S52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端引腳為XTAL。這兩個(gè)引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。電路中的電容C1和C2的典型值通常選擇30pF,在這次實(shí)習(xí)中選用22fF的電容。該電容的大小會(huì)影響振蕩器頻率的上下、振蕩器的穩(wěn)定性和起振的快速性。為了提高溫度穩(wěn)定性,應(yīng)采用溫度穩(wěn)定性能好的電容。圖5為內(nèi)部時(shí)鐘電路。復(fù)位是單片機(jī)的初始化操作,只需給AT89S52的復(fù)位引腳RST加上大于2個(gè)機(jī)器周期的高電平就可使單片機(jī)復(fù)位。當(dāng)單片機(jī)的程序進(jìn)入了死機(jī)狀態(tài)時(shí)進(jìn)展復(fù)位,復(fù)位后PC等存放器都會(huì)被初始化。下表為復(fù)位時(shí)片內(nèi)各存放器的狀態(tài)。本次使用按鍵手動(dòng)電平復(fù)位是RST端經(jīng)過(guò)電阻與電源Vcc接通來(lái)實(shí)現(xiàn)。具體如以下圖所示。圖5時(shí)鐘與復(fù)位電路3電源電路圖6電源電路圖3.2.3串行通信電路圖7串行通信電路元件清單與硬件表3元件清單元件規(guī)格數(shù)量電容1〔c11c7〕0.1u〔104〕2電容2〔c1—c5〕1uF〔電解〕5電容3〔c8c9〕22pF2電容4〔c6〕22uF(電解)1電容5〔c10c12〕33u/25V(電解)2電阻1〔R1—R10〕1k10電阻2〔R11〕2001電位器103〔3296〕240針接插器40PIN116針接插器16PIN1MAX232MAX2321單片機(jī)AT89S521三端集成穩(wěn)壓器78L05D1CRYSTAL1按鍵SW—PB5發(fā)光二極管〔紅〕8發(fā)光二極管〔綠〕1JUMPERJUMPER210針JTAG口CON101串口—PC針+母18腳開(kāi)關(guān)SWDIP—81穩(wěn)壓電源插座1穩(wěn)壓電源擴(kuò)展插座〔白〕2.542芯座1單排針16針1雙排針10*2針1圖8焊接單片機(jī)板焊接考前須知在焊接前要清理烙鐵頭,以及給海綿吸水。助焊劑〔松香〕也可以適當(dāng)?shù)氖褂茫谑褂檬潜3趾檬覂?nèi)的通風(fēng)即可。焊接電路板的過(guò)程中,先焊接矮的電子元件,再焊接高的電子元件。在焊接芯片插座過(guò)程中,先不把芯片插在插座上,以免燙壞芯片。對(duì)于有正負(fù)極之分的元件,如電容、LED等要注意正負(fù)極的方向是否正確。在焊接元件的過(guò)程中,可以一點(diǎn)一點(diǎn)的焊接,這樣可以防止芯片的溫度過(guò)高而損壞某些元件。對(duì)于容易變軟的元件如JP1、JP2在焊接時(shí)要迅速的著錫,否則其上面的塑料會(huì)融化。此次實(shí)習(xí)的整個(gè)焊接過(guò)程還算順利。由于對(duì)復(fù)位電路中的電阻阻值沒(méi)有在意,把200Ω的電阻和1k的電阻互換。最后導(dǎo)致單片機(jī)的復(fù)位功能不能好的實(shí)現(xiàn)。得知如此后又將其取下來(lái)?yè)Q為正確的位置。還應(yīng)該注意的是對(duì)于晶振的焊接要放在后面的局部來(lái)焊接,以免對(duì)其造成損壞。在焊接完畢之后,還應(yīng)該檢查板上面是否有多余的焊錫。為了防止兩個(gè)不同的引腳的鏈接應(yīng)將多余的焊錫除掉,并且對(duì)每一塊仔細(xì)檢查盡量防止不該連接的引腳的連通。焊接并不是一件很容易的事情,有些部件并不是一個(gè)人可以焊接,還是需要同學(xué)的幫助才能完成。團(tuán)隊(duì)的力量是無(wú)可限量的,我們可以把很多復(fù)雜的事情分塊完成。在整個(gè)的焊接過(guò)程中得到了李老師和鄭教師細(xì)心的講解,防止了很多錯(cuò)誤。這次對(duì)整個(gè)焊接技巧第四章單片機(jī)應(yīng)用程序及調(diào)試4.1KeilC軟件介紹KeiluVision3是目前使用廣泛的單片機(jī)開(kāi)發(fā)軟件,它集成了源程序編輯和程序調(diào)試于一體,支持匯編、C、PL/M語(yǔ)言。在這次程序設(shè)計(jì)過(guò)程中使用這個(gè)軟件來(lái)編寫(xiě)程序。跑馬燈程序I/O口控制跑馬燈程序這個(gè)程序通過(guò)對(duì)AT89S52P1口的控制來(lái)讓LED燈實(shí)現(xiàn)跑馬燈的功能。程序開(kāi)場(chǎng)給P1口賦值tab1數(shù)組中的值,數(shù)值中低電平代表的口所連接的LED燈發(fā)光。每次顯示數(shù)組中的值后延時(shí)再進(jìn)展下一個(gè)值的顯示。#include<reg52.h>voiddelay(unsignedinti);unsignedchartab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff,0x00,0xff,0x00,0xff,0x55,0xaa,0x55,0xaa,0xff,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0xff,0x00,0xff};voidmain(void){ unsignedcharn; while(1) { for(n=0;n<36;n++) {P1=tab1[n]; delay(300);voiddelay(unsignedinti){unsignedintj; for(;i>0;i--) for(j=0;j<333;j++)按鍵控制跑馬燈程序這個(gè)程序通過(guò)按鍵K1、K3、K4、K5來(lái)控制P1口來(lái)顯示四組跑馬燈的顯示。程序開(kāi)場(chǎng)檢測(cè)是否有按鍵按下,如果沒(méi)有繼續(xù)等待按鍵。當(dāng)有按鍵按下是,根據(jù)按鍵按下時(shí)對(duì)應(yīng)數(shù)組的值來(lái)顯示LED燈。當(dāng)顯示完畢之后檢測(cè)按鍵,然后再顯示對(duì)應(yīng)的LED跑馬燈。#include<reg52.h>sbitP32=P3^2;sbitP33=P3^3;sbitP34=P3^4;sbitP35=P3^5;voiddelay(unsignedinti);unsignedchartab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff,0x00,0xff,0x00,0xff,0x55,0xaa,0x55,0xaa,0xff,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0xff,0x00,0xff};unsignedchartab2[]={0x00,0xff,0x00,0xaa,0x55,0x00,0xaa,0x55,0xff};unsignedchartab3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff,0x00,0xff};unsignedchartab4[]={0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0xff,0x00,0xff};voidmain(void){ unsignedcharn; while(1) if(P32==0x0) for(n=0;n<36;n++) {P1=tab1[n]; delay(300); if(P33==0x0) for(n=0;n<8;n++) {P1=tab2[n]; delay(300); if(P34==0x0) for(n=0;n<18;n++) {P1=tab3[n]; delay(300); if(P35==0x0) for(n=0;n<12;n++) {P1=tab4[n]; delay(300);voiddelay(unsignedinti){unsignedintj; for(;i>0;i--) for(j=0;j<333;j++)按鍵控制〔中斷優(yōu)先級(jí)〕跑馬燈程序這個(gè)程序?qū)崿F(xiàn)的是按鍵控制的中斷程序K3控制的中斷為高優(yōu)先級(jí),K1控制的中斷為低優(yōu)先級(jí)。程序開(kāi)場(chǎng)顯示規(guī)定的跑馬燈程序,當(dāng)按鍵K1按下時(shí),顯示對(duì)應(yīng)的跑馬燈程序。如果在此次顯示過(guò)程中,高優(yōu)先級(jí)的K3按下,則這個(gè)中斷被高級(jí)的中斷所中斷,執(zhí)行K3控制所對(duì)應(yīng)的LED跑馬燈。當(dāng)K3對(duì)應(yīng)的跑馬燈完畢之后返回K1控制的跑馬燈程序當(dāng)中執(zhí)行。當(dāng)K1對(duì)應(yīng)中斷的跑馬燈完畢之后返回主程序當(dāng)中。#include<reg52.h>voiddelay(unsignedinti);voidmain(void){ IE=0x85;TCON=0x05;PX1=1; while(1) { P1=0x00; delay(500); P1=0xff; delay(500);int0s()interrupt0using1{ unsignedchari;for(i=0;i<6;i++) {P1=0x55; delay(500); P1=0xaa; delay(800);int1s()interrupt2using2{unsignedchari; for(i=0;i<4;i++) {P1=0x33; delay(500); P1=0xcc; delay(800);voiddelay(unsignedinti){unsignedintj; for(;i>0;i--) for(j=0;j<333;j++)在編寫(xiě)跑馬燈程序時(shí)遇到了一些問(wèn)題。經(jīng)過(guò)查資料最后終于得到的解決。在編寫(xiě)程序的過(guò)程中,對(duì)I/O口的控制以及對(duì)按鍵查詢(xún)以及中斷方式的按鍵控制LED燈進(jìn)一步理解了。在用匯編語(yǔ)言編寫(xiě)按鍵查詢(xún)程序時(shí)能夠完成查詢(xún)并顯示所要顯示的跑馬燈。當(dāng)用C語(yǔ)言寫(xiě)程序時(shí)無(wú)法完成像匯編那樣的效果。具體原因也在查找中。在用到中斷優(yōu)先級(jí)控制LED燈時(shí),遇到的問(wèn)題是,無(wú)法完成優(yōu)先控制之后返回到原來(lái)的程序。并且中斷完成后也無(wú)法繼續(xù)原來(lái)的程序。經(jīng)過(guò)查資料,最后終于找到原因。因?yàn)閱纹瑱C(jī)默認(rèn)的存放器組是0組。當(dāng)用C語(yǔ)言寫(xiě)中斷優(yōu)先程序時(shí)必須把不同優(yōu)先級(jí)的中斷程序放在不同的存放器組當(dāng)中。這樣就順利的完成了中斷優(yōu)先級(jí)的控制。在單片機(jī)應(yīng)用程序的調(diào)試過(guò)程中仿真軟件的使用對(duì)于程序的調(diào)試效率起到了很大的作用。其中Proteus軟件和KeilC軟件。一般的單片機(jī)系統(tǒng)都可以通過(guò)Proteus軟件來(lái)搭接硬件。單片機(jī)應(yīng)用程序可以通過(guò)KeilC軟件來(lái)編寫(xiě)。每當(dāng)編寫(xiě)了程序之后可以通過(guò)仿真來(lái)驗(yàn)證自己的編寫(xiě)思路是否正確。通過(guò)不斷的編程與調(diào)試,發(fā)現(xiàn)自己已經(jīng)對(duì)單片機(jī)以及仿真軟件產(chǎn)生了很濃厚的興趣。我也將繼續(xù)保持這個(gè)興趣,繼續(xù)努力下去。第五章基于單片機(jī)的波形發(fā)生器設(shè)計(jì)及電路圖原理介紹波形發(fā)生器的設(shè)計(jì)是利用D/A轉(zhuǎn)換原理,將被測(cè)數(shù)字量轉(zhuǎn)換成模擬量,并用模擬方式顯示出低頻信號(hào)源,如方波、三角波、正弦波等等。通常數(shù)字電壓表都采用大規(guī)模的D/A轉(zhuǎn)換集成電路,測(cè)量精度高,讀數(shù)方便,在體積、重量、耗電、穩(wěn)定性及可靠性等方面性能指標(biāo)均明顯優(yōu)于指針式萬(wàn)用表。其中D/A轉(zhuǎn)換器將輸入的數(shù)字量轉(zhuǎn)換成模擬量,邏輯控制電路產(chǎn)生控制信號(hào),按規(guī)定的時(shí)序?qū)/A轉(zhuǎn)換器中各組模擬開(kāi)關(guān)接通或斷開(kāi),保證D/A轉(zhuǎn)換正常進(jìn)展。本系統(tǒng)以單片機(jī)AT89S52為系統(tǒng)的控制核心,結(jié)合D/A轉(zhuǎn)換芯片ADC0832設(shè)計(jì)一個(gè)簡(jiǎn)易波形發(fā)生器。5.1.2波形發(fā)生器電路圖圖9波形發(fā)生器電路圖DAC08320832采用雙緩沖接口方式,其傳送控制端接地,輸入所存允許斷ILE與+5V電源相連,利用一個(gè)地址碼進(jìn)展二次輸出操作,完成數(shù)據(jù)的傳送和沖動(dòng)轉(zhuǎn)換,第一次操作室P2.6為高電平,將P0口數(shù)據(jù)線(xiàn)上的數(shù)據(jù)鎖存于DAC0832的輸入存放器中。第二次操作是寫(xiě)控制信號(hào)由效,傳送控制端為低電平,將輸入存放器中的內(nèi)容鎖存入0832的DAC存放器中,D/A轉(zhuǎn)換器便開(kāi)場(chǎng)對(duì)鎖存于DAC存放器的8位數(shù)據(jù)進(jìn)展轉(zhuǎn)換,約經(jīng)過(guò)1/2時(shí)鐘周期后,在輸出端〔IOUT2、IOUT1〕建立穩(wěn)定的電流輸出。運(yùn)放的作用是將0832輸出的模擬電流信號(hào)轉(zhuǎn)換為電壓波形。DAC0832為一個(gè)8位D/A轉(zhuǎn)換器,單電源供電,在+5~+15V范圍內(nèi)均可正常工作?;鶞?zhǔn)電壓的范圍為±10V,電流建立時(shí)間為1μs,CMOS工藝,低功耗20mW。DAC0832的外部引腳及功能介紹圖如下:圖10DAC0832引腳圖DI0~DI7:數(shù)據(jù)輸入線(xiàn),TLL電平。ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線(xiàn),高電平有效。CS:片選信號(hào)輸入線(xiàn),低電平有效。WR1:為輸入存放器的寫(xiě)選通信號(hào)。XFER:數(shù)據(jù)傳送控制信號(hào)輸入線(xiàn),低電平有效。WR2:為DAC存放器寫(xiě)選通輸入線(xiàn)。Iout1:電流輸出線(xiàn)。當(dāng)輸入全為1時(shí)Iout1最大。Iout2:電流輸出線(xiàn)。其值與Iout1之和為一常數(shù)。Rfb:反應(yīng)信號(hào)輸入線(xiàn),芯片內(nèi)部有反應(yīng)電阻。Vcc:電源輸入線(xiàn)(+5v~+15v)。Vref:基準(zhǔn)電壓輸入線(xiàn)(-10v~+10v)。AGND:模擬地,摸擬信號(hào)和基準(zhǔn)電源的參考地。DGND:數(shù)字地,兩種地線(xiàn)在基準(zhǔn)電源處共地比擬好。元件清單表4波形發(fā)生器元件清單元件規(guī)格數(shù)量制板1ua7412ua741的對(duì)應(yīng)插座2DAC08321DAC0832的對(duì)應(yīng)插座1電阻315k2電阻4k1排針13針1焊線(xiàn)假設(shè)干硬件連接時(shí)遇到的問(wèn)題及焊接實(shí)圖在焊接這個(gè)開(kāi)發(fā)板的過(guò)程中遇到了諸多的問(wèn)題。首先元器件的布局太嚴(yán)密會(huì)對(duì)焊接時(shí)線(xiàn)的連接造成困難。然后對(duì)芯片插座、電阻、插針進(jìn)展焊接。在焊接線(xiàn)路的時(shí)候?qū)€(xiàn)路的的布局也值得一提。此次焊接時(shí)線(xiàn)的選擇用比擬嚴(yán)密的方式來(lái)布線(xiàn)。在焊接線(xiàn)路時(shí)很容易漏焊某些引腳對(duì)應(yīng)的焊線(xiàn)。在焊接ua741對(duì)應(yīng)的±15V電源和GND時(shí)都要把對(duì)應(yīng)的焊接到一起,這樣有利于電源的連接。值得一提的是波形發(fā)生電路的GND要和單片機(jī)的GND連接到一起。在連接示波器及電源是要保證電源正負(fù)的連接是正確的,否則會(huì)燒壞芯片造成沒(méi)有必要的損失。圖11波發(fā)生器硬件實(shí)圖設(shè)計(jì)框圖是是等待按鍵否是否K3鍵三角波K4鍵方波K5鍵正弦波K1鍵鋸齒波判斷是否有按鍵按下開(kāi)始判斷是否有按鍵按下產(chǎn)生波形繼續(xù)產(chǎn)生波形圖12波形發(fā)生器框圖波形發(fā)生器程序這個(gè)程序的設(shè)計(jì)是用開(kāi)關(guān)來(lái)控制顯示四種不同的波形。程序開(kāi)場(chǎng)檢測(cè)按鍵是否按下。如果沒(méi)有按鍵按下繼續(xù)檢測(cè)。當(dāng)檢測(cè)到按鍵時(shí)產(chǎn)生按鍵對(duì)應(yīng)的波形。當(dāng)產(chǎn)生波形的時(shí)候,不斷的檢測(cè)按鍵。當(dāng)檢測(cè)到按鍵時(shí)顯示對(duì)應(yīng)按鍵的波形。此次程序設(shè)計(jì)所使用的機(jī)器周期為1us,鋸齒波的周期為256us,三角波的周期為512us,矩形波的周期為80us,正弦波的周期為256us。ORG0000HAJMPSTARTORG0030HSTART: JNBP3.2,MAIN JNBP3.3,MAIN1 JNBP3.4,MAIN2 JNBP3.5,MAIN3 SJMPSTARTKEYCHECK:;按鍵檢測(cè)子程序 JNBP3.2,MAIN JNBP3.3,MAIN1 JNBP3.4,MAIN2 JNBP3.5,MAIN3 RETMAIN:MOVR0,#7FH ;產(chǎn)生鋸齒波 MOVA,#00HLOOP3:MOVX@R0,A INCA LCALLKEYCHECK;按鍵檢測(cè) SJMPLOOP3 LCALLDELAY LJMPSTARTMAIN1:MOVDPTR,#7FFFH ;產(chǎn)生三角波MOVA,#00HLOOP1:MOVX@DPTR,AINCANOPCJNEA,#0FFH,LOOP1LOOP2:DECAMOVX@DPTR,ACJNEA,#00H,LOOP2INCA LCALLKEYCHECK;按鍵檢測(cè)NOP AJMPLOOP1 LCALLKEYCHECK LCALLDELAY LJMPSTARTMAIN2:MOVDPTR,#7FFFH;產(chǎn)生矩形波LOOP4:MOVA,#00H MOVX@DPTR,A LCALLDELAY LCALLKEYCHECK;按鍵檢測(cè) MOVA,#0FEH MOVX@DPTR,A LCALLDELAY LCALLKEYCHECK;按鍵檢測(cè) LJMPLOOP4MAIN3: ;產(chǎn)生正弦波LOOP5: MOVA,R1 MOVDPTR,#SETTABMOVCA,@A+DPTR MOVDPTR,#07FFFH MOVX@DPTR,A LCALLKEYCHECK;按鍵檢測(cè)INCR1SJMPLOOP5SETTAB: DB00H,00H,00H,00H,00H,00H,01H,02HDB02H,03H,04H,05H,06H,07H,08H,09HDB0AH,0BH,0DH,0EH,10H,11H,13H,15HDB16H,18H,1AH,1CH,1EH,20H,22H,25HDB27H,29H,2BH,2EH,30H,33H,35H,38HDB3AH,3DH,40H,43H,45H,48H,4CH,4EHDB51H,55H,57H,5AH,5DH,60H,63H,66HDB69H,6CH,6FH,72H,76H,79H,7CH,80HDB80H,83H,86H,89H,8DH,90H,93H,96HDB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99HDB96H,93H,90H,8DH,89H,86H,83H,80HDB80H,7CH,79H,78H,72H,6FH,6CH,69HDB66H,63H,60H,5DH,5AH,57H,55H,51HDB4EH,4CH,48H,45H,43H,40H,3DH,3AHDB38H,35H,33H,30H,2EH,2BH,29H,27HDB25H,22H,20H,1EH,1CH,1AH,18H,16HDB15H,13H,11H,10H,0EH,0DH,0BH,0AHDB09H,08H,07H,06H,05H,04H,03H,02HDB02H,01H,00H,00H,00H,00H,00H,00HDELAY:;延時(shí)子程序MOVR5,#1D1:MOVR6,#1D2:MOVR7,#5DJNZR7,$DJZZR6,D2DJNZR5,D1RETEND以下為示波器顯示的三角波、鋸齒波、矩形波、正弦波的波形圖。圖13三角波波形圖14鋸形波波形圖15鋸齒波波形圖16正弦波波形5.6設(shè)計(jì)過(guò)程遇到的問(wèn)題設(shè)計(jì)波形發(fā)生器時(shí)參考了課本上經(jīng)典的設(shè)計(jì)電路及DAC0832芯片及ua741集成運(yùn)算放大器。在選擇電阻的時(shí)候遇到了個(gè)問(wèn)題,以前從來(lái)沒(méi)有考慮過(guò)電阻的額定功率的大小。在這次設(shè)計(jì)中,我選擇了0.25w的電阻來(lái)保證設(shè)計(jì)電路的可靠性。波形發(fā)生程序參考了課本的局部程序。最后,覺(jué)得用匯編語(yǔ)言來(lái)編寫(xiě)整個(gè)程序。在程序中循環(huán)對(duì)累加器寫(xiě)入值,然后發(fā)送到0832中,循環(huán)增大累加器中的值。等到值為0xff時(shí)歸零繼續(xù)。這樣就產(chǎn)生了鋸齒波的波形。三角波的波形是在累加器到達(dá)最高是在逐漸減小至零。矩形波的產(chǎn)生最為容易了。產(chǎn)生矩形波可以有很多種方式。一種是用定時(shí)/計(jì)數(shù)器的定時(shí)功能來(lái)實(shí)現(xiàn),而另一種可以用時(shí)間延遲的方式來(lái)實(shí)現(xiàn)。本次程序設(shè)計(jì),我選擇了用延時(shí)的方法來(lái)實(shí)現(xiàn)矩形波的產(chǎn)生。正弦波的產(chǎn)生最為復(fù)雜了。正弦波的產(chǎn)生和三角波的產(chǎn)生過(guò)程相似。在每次累加器中的值是跳變的增加的,這樣才能顯示弧形的波形。在每次到達(dá)正弦值的波峰和波谷的時(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 易錯(cuò)題25 古代詩(shī)歌閱讀之情感主旨題-不會(huì)見(jiàn)微知著探究主旨高考語(yǔ)文備戰(zhàn)2025年高考易錯(cuò)題(新高考專(zhuān)用)含解析
- 2018安徽道法試卷+答案+解析
- 初級(jí)會(huì)計(jì)實(shí)務(wù)-《初級(jí)會(huì)計(jì)實(shí)務(wù)》??荚嚲?53
- 中國(guó)電池預(yù)制艙行業(yè)投資分析、市場(chǎng)運(yùn)行態(tài)勢(shì)研究報(bào)告-智研咨詢(xún)發(fā)布(2024版)
- 智研咨詢(xún)-中國(guó)急救中心行業(yè)市場(chǎng)調(diào)查、產(chǎn)業(yè)鏈全景、需求規(guī)模預(yù)測(cè)報(bào)告(2024版)
- 智研咨詢(xún)發(fā)布:2024年中國(guó)心臟脈沖電場(chǎng)消融系統(tǒng)(PFA)行業(yè)市場(chǎng)現(xiàn)狀及投資前景分析報(bào)告
- 基于CSI指紋的抗時(shí)變室內(nèi)定位算法研究
- 基于無(wú)人機(jī)高光譜遙感的荒漠草原退化土壤養(yǎng)分反演研究
- 稅務(wù)專(zhuān)業(yè)技能提升
- 二零二五版知識(shí)產(chǎn)權(quán)擔(dān)保貸款合同范本3篇
- 護(hù)理人文知識(shí)培訓(xùn)課件
- 2025年春新人教版數(shù)學(xué)七年級(jí)下冊(cè)教學(xué)課件 7.2.3 平行線(xiàn)的性質(zhì)(第1課時(shí))
- GB/T 16895.3-2024低壓電氣裝置第5-54部分:電氣設(shè)備的選擇和安裝接地配置和保護(hù)導(dǎo)體
- 安徽省合肥市2025年高三第一次教學(xué)質(zhì)量檢測(cè)地理試題(含答案)
- 計(jì)劃合同部部長(zhǎng)述職報(bào)告范文
- 統(tǒng)編版八年級(jí)下冊(cè)語(yǔ)文第三單元名著導(dǎo)讀《經(jīng)典常談》閱讀指導(dǎo) 學(xué)案(含練習(xí)題及答案)
- 風(fēng)光儲(chǔ)儲(chǔ)能項(xiàng)目PCS艙、電池艙吊裝方案
- 人教版高一地理必修一期末試卷
- GJB9001C質(zhì)量管理體系要求-培訓(xùn)專(zhuān)題培訓(xùn)課件
- 二手車(chē)車(chē)主寄售協(xié)議書(shū)范文范本
- 窗簾采購(gòu)?fù)稑?biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論