版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
科學(xué)技術(shù)學(xué)院SCIENCE&TECHNOLOGYCOLLEGEOFNANCHANGUNIVERSITY《工程訓(xùn)練》報(bào)告REPORTONENGINEERINGTRAINING題目基于AT89C51簡(jiǎn)易信號(hào)發(fā)生器的設(shè)計(jì)與制作學(xué)科部、系:信息學(xué)科部專業(yè)班級(jí):電子112班學(xué)號(hào):學(xué)生姓名:指導(dǎo)教師:起訖日期:基于AT89C51簡(jiǎn)易函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作摘要本次作品是一個(gè)基于單片機(jī)AT89C51設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器。函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)方法有多種,利用單片機(jī)設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器具有編程靈活,功能更以擴(kuò)充等實(shí)際的優(yōu)點(diǎn)。利用單片機(jī)設(shè)計(jì)的函數(shù)信號(hào)發(fā)生器能夠產(chǎn)生正弦波,三角波,方波,并實(shí)現(xiàn)對(duì)頻率調(diào)節(jié),以及液晶屏顯示波形名稱和波形頻率,波形的切換和頻率的調(diào)節(jié)都可以用按鍵實(shí)現(xiàn)。通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),最終由示波器顯示出來(lái)。系統(tǒng)大致包括信號(hào)發(fā)生部分、數(shù)/模轉(zhuǎn)換部分、液晶顯示部分以及電源部分,在編程語(yǔ)言上,本文選擇C語(yǔ)言,這樣在后期波形的調(diào)試及與硬件銜接方面更容易發(fā)揮出自身優(yōu)勢(shì)。經(jīng)過(guò)設(shè)計(jì)及后期長(zhǎng)時(shí)間的調(diào)試,設(shè)計(jì)的所有功能均已實(shí)現(xiàn)。但在這個(gè)過(guò)程中也發(fā)現(xiàn)了一個(gè)問(wèn)題,由于硬件本身靈敏度的原因,使得頻率達(dá)不到很高。關(guān)鍵詞:函數(shù)信號(hào)發(fā)生器單片機(jī)LCD1602液晶屏目錄TOC\o"1-3"\h\u25119第一章基于AT89C51簡(jiǎn)易函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作的概述 ⑤在制作實(shí)物時(shí),電源及地需預(yù)留端口出來(lái),以便儀器的測(cè)量。2.2方案方案設(shè)計(jì)與論證2.2.1總體方案方案一:采用模擬電路搭建函數(shù)信號(hào)發(fā)生器,它可以同時(shí)產(chǎn)生方波、三角波、正弦波。但是這種模塊產(chǎn)生的不能產(chǎn)生任意的波形(例如梯形波),并且頻率調(diào)節(jié)很不方便。方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜。方案三:使用集成信號(hào)發(fā)生器發(fā)生芯片,例如AD9854,它可以生成最高幾十MHZ的波形。但是該方案也不能產(chǎn)生任意波形(例如梯形波),并且價(jià)格昂貴。方案四:采用AT89C51單片機(jī)和DAC0832數(shù)模轉(zhuǎn)換器生成波形,它的特點(diǎn)是可產(chǎn)生任意波形,頻率容易調(diào)節(jié),頻率能達(dá)到設(shè)計(jì)的500HZ以上。性能高,在低頻范圍內(nèi)穩(wěn)定性好、操作方便、體積小、耗電少。經(jīng)比較,方案四既可滿足課程設(shè)計(jì)的基本要求又能充分發(fā)揮其優(yōu)勢(shì),電路簡(jiǎn)單,易控制,性價(jià)比高,所以采用該方案。2.2.2顯示方案論證方案一:采用LED數(shù)碼管。LED數(shù)碼管由8個(gè)發(fā)光二極管組成,每只數(shù)碼管輪流顯示各自的字符。由于人眼具有視覺(jué)暫留特性,當(dāng)每只數(shù)碼管顯示的時(shí)間間隔小于1/16s時(shí)人眼感覺(jué)不到閃動(dòng),看到的是每只數(shù)碼管常亮。使用數(shù)碼管顯示編程較易,但要顯示內(nèi)容多,而且數(shù)碼管不能顯示字母。方案二:采用LCD液晶顯示器1602。其功率小,效果明顯,顯示編程容易控制,可以顯示字母。以上兩種方案綜合考慮,選擇方案二。第三章系統(tǒng)硬件設(shè)計(jì)3.1工作原理及總體方框圖根據(jù)系統(tǒng)設(shè)計(jì)的任務(wù)要求和設(shè)計(jì)思路,綜合上述方案的選擇,確定該系統(tǒng)的設(shè)計(jì)方框圖,如圖3.1所示。硬件電路主要由單片機(jī)AT89C51、數(shù)模轉(zhuǎn)換DAC0832、LM324放大電路、按鍵控制電路、電源及電源指示電路模塊構(gòu)成。該系統(tǒng)采用單片機(jī)作為數(shù)據(jù)處理及控制核心,由單片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號(hào)的采集分析以及信號(hào)的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案。具體利用單片機(jī)AT89C51采用程序設(shè)計(jì)方法產(chǎn)生正弦波、三角波、方波三種波形,再通過(guò)D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),最終由示波器顯示出來(lái)。LCD1602液晶顯示模塊ALCD1602液晶顯示模塊AT單8片9機(jī)C51數(shù)模轉(zhuǎn)換DAC0832LM324LM324放大電路電源及指示電路電源及指示電路模塊輸出電路輸出電路按鍵控制電路按鍵控制電路圖3.1總體方框圖3.2各部分電路的設(shè)計(jì)3.2.1單片機(jī)AT89C51模塊設(shè)計(jì)圖3.2AT89C51模塊原理圖單片機(jī)AT89C51模塊原理圖如圖3.2所示,其中XTL1,XTL2連接的是時(shí)鐘電路,RST所連接的是復(fù)位電路,單片機(jī)的P0口連接DAC0832的八位數(shù)據(jù)輸入端,P2.7連接DAC0832片選CS、WR,P1口連接的是液晶顯示器LCD1602八位數(shù)據(jù)端,三個(gè)使能端RS、RW、E分別接單片機(jī)的P3.5、P3.6、P3.7;是外部中斷口,由按鍵控制電路模塊通過(guò)對(duì)單片機(jī)傳輸中斷信號(hào)來(lái)實(shí)現(xiàn)波形切換及頻率調(diào)節(jié)。AT89C51是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元。圖3.3AT89C51的引腳圖AT89C51的引腳圖如圖3.3所示,相應(yīng)引腳的功能如下:P0:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí),可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),P2:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。P3:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VPP外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.2.2D/A轉(zhuǎn)換電路圖3.4D/A轉(zhuǎn)換電路原理圖DA轉(zhuǎn)換器的功能是將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),它是一種將二進(jìn)制數(shù)字量形式的離散信號(hào)轉(zhuǎn)換成標(biāo)準(zhǔn)量(或參考量)為基準(zhǔn)的模擬量的轉(zhuǎn)換器,簡(jiǎn)稱DAC或D/A轉(zhuǎn)換器。最常見的數(shù)模轉(zhuǎn)換器是將并行二進(jìn)制的數(shù)字量轉(zhuǎn)換為直流電壓或直流電流,數(shù)模轉(zhuǎn)換器電路還在利用反饋技術(shù)的模數(shù)轉(zhuǎn)換器設(shè)計(jì)中。D/A轉(zhuǎn)換器由數(shù)碼寄存器、模擬電子開關(guān)電路、解碼網(wǎng)絡(luò)、求和電路及基準(zhǔn)電壓及部分組成。數(shù)字量以并行或串行方式輸入、存儲(chǔ)于數(shù)碼寄存器中,數(shù)字寄存器輸出的各位數(shù)碼,分別控制對(duì)應(yīng)的位的模擬電子開關(guān),使數(shù)碼為1的位在位權(quán)網(wǎng)絡(luò)上產(chǎn)生與其權(quán)值成正比的電流值,再由求和電路將各種權(quán)值相加,即得到數(shù)字量對(duì)應(yīng)的模擬量。此次工程訓(xùn)練選用DAC0832芯片作為核心器件,其原理圖如圖3.4所示。DAC0832內(nèi)部結(jié)構(gòu)如圖3.5所示。圖3.5DAC0832內(nèi)部結(jié)構(gòu)圖DAC0832內(nèi)部結(jié)構(gòu):芯片內(nèi)有兩級(jí)輸入寄存器,使DAC0832具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要。DA轉(zhuǎn)換結(jié)果采用電流形式輸出。要是需要相應(yīng)的模擬信號(hào),可通過(guò)一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)這個(gè)功能。運(yùn)放的反饋電阻可通過(guò)RFB端引用片內(nèi)固有電阻,還可以外接。DAC0832引腳圖如圖3.6所示,引腳功能說(shuō)明:(1)DI0~DI7:數(shù)據(jù)輸入線,TTL電平。(2)ILE:數(shù)據(jù)鎖存允許控制信號(hào)輸入線,高電平有效。(3)CS:片選信號(hào)輸入線,低電平有效。(4)WR1:為輸入寄存器的寫選通信號(hào)。(5)XFER:數(shù)據(jù)傳送控制信號(hào)輸入線,低電平有效。(6)WR2:為DAC寄存器寫選通輸入線。(7)Iout1:電流輸出線。當(dāng)輸入全為1時(shí)Iout1最大。(8)Iout2:電流輸出線。其值與Iout1之和為一常數(shù)。(9)Rfb:反饋信號(hào)輸入線,芯片內(nèi)部有反饋電阻。(10)Vcc:電源輸入線(+5V)。圖3.6DAC0832引腳圖(11)Vref:基準(zhǔn)電壓輸入線。(12)AGND:模擬地,模擬信號(hào)和基準(zhǔn)電源的參考地。DGND:兩種地線在基準(zhǔn)電源處共地比較好。電路還運(yùn)用到運(yùn)算放大器,選用LM324芯片,它是四運(yùn)放集成電路,采用14腳雙列直插塑料封裝,它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。通過(guò)此電路可將0832輸出的電流轉(zhuǎn)換為電壓輸出。運(yùn)算放大器特點(diǎn)如下:(1)開環(huán)放大倍數(shù)非常高,一般為幾千,甚至可高達(dá)10萬(wàn)。在正常情況下,運(yùn)算放大器所需要的輸入電壓非常小。(2)輸入阻抗非常大。運(yùn)算放大器工作時(shí),輸入端相當(dāng)于一個(gè)很小的電壓加在一個(gè)很大的輸入阻抗上,所需要的輸入電流也極小。(3)輸出阻抗很小,所以,它的驅(qū)動(dòng)能力非常大。3.2.3LCD1602液晶顯示模塊設(shè)計(jì)如圖3.7所示為L(zhǎng)CD1602液晶顯示模塊原理圖,液晶顯示器LCD1602八位數(shù)據(jù)端連接P1,三個(gè)使能端RS、RW、E分別接單片機(jī)的P3.5、P3.6、P3.7,通過(guò)軟件控制液晶屏可以顯示波形的種類以及波形的頻率。圖3.7LCD1602液晶顯示模塊原理圖1602液晶也叫1602字符型液晶,它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它有若干個(gè)5X7的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形。1602是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符的液晶模塊。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。圖3.81602引腳圖1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,其管腳圖如圖3.8所示,各引腳接口說(shuō)明如表3.1所示。表3.11602引腳接口說(shuō)明表編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極1602液晶模塊內(nèi)部的控制器共有11條控制指令,如REF_Ref356895903\h表3.所示。表3.2控制命令表序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容它的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符(有些模塊是DL:高電平時(shí)為8位總線,低電平時(shí)為4位總線)指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)所以編寫程序時(shí)的地址表3.3。表3.31602地址表12345678910111213141516808182838485868788898A8b8C8D8E8FC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF3.2.4按鍵電路模塊設(shè)計(jì)如圖3.9所示為按鍵電路模塊設(shè)計(jì),由三個(gè)按鍵及二極管組成的系統(tǒng)通過(guò)對(duì)單片機(jī)傳輸中斷信號(hào)來(lái)實(shí)現(xiàn)波形切換及頻率調(diào)節(jié)。中斷口為INT0口。圖3.9按鍵電路3.2.5電源及指示電路根據(jù)以上電路可以知道整個(gè)電路需要三個(gè)工作電源,即+5V、+9V、—9V。電路圖如圖3.9所示。在這里需要注意的是穩(wěn)壓芯片、帶鎖按鍵以及指示燈的接法,不可以接錯(cuò),尤其要注意7909芯片是1腳接地。圖3.10電源電路7805,7809,7909穩(wěn)壓芯片的管腳排布如圖3.11所示。(a)7805管腳排布(b)7809管腳排布(c)7909管腳排布圖3.117805,7809,7909穩(wěn)壓芯片的管腳排布圖在實(shí)際應(yīng)用中,應(yīng)在三端集成穩(wěn)壓電路上安裝足夠大的散熱器(當(dāng)然小功率的條件下不用)。當(dāng)穩(wěn)壓管溫度過(guò)高時(shí),穩(wěn)壓性能將變差,甚至損壞,還應(yīng)注意散熱片總是和接地腳相連。綜上所述,總原理圖見附錄1.PCB板的制作流程設(shè)計(jì)繪制原理圖→導(dǎo)成PCB圖→打印輸出(熱轉(zhuǎn)印紙)→利用熱轉(zhuǎn)印法將PCB圖轉(zhuǎn)到敷銅板→腐蝕(留下電子線路)→金屬焊盤鉆孔→焊接安裝元器件→調(diào)試→成品。注意事項(xiàng):正確的選擇元器件的封裝。要合理地選擇線寬、焊盤、焊孔的大小,在鉆孔時(shí)需要仔細(xì)地選擇鉆頭的直徑,以方面元器件的焊接。導(dǎo)入PCB后,先進(jìn)行布局對(duì)布線有利。在焊接元器件前,一定要先檢測(cè)元器件是否有損壞,再進(jìn)行焊接。在焊接過(guò)程中也要注意安全。PCB圖見附錄2.成品實(shí)物圖如圖3.12所示。圖3.12實(shí)物圖系統(tǒng)的軟件設(shè)計(jì)4.1本系統(tǒng)采用AT89C51單片機(jī),用編程的方法來(lái)產(chǎn)生三種波形,并通過(guò)編程來(lái)切換三種波形以及波形頻率的改變。具體功能有:(1)正弦波,三角波,方波波形的切換;(2)各波形的步進(jìn)值參數(shù);(3)各波形頻率的增減等。利用軟件keil,protus聯(lián)調(diào)調(diào)通后,通過(guò)編程器下載到AT89C51芯片中,然后插到系統(tǒng)中即可獨(dú)立完成所有的控制。如圖4.1所示為程序流程圖圖4.1程序流程圖Protus仿真圖如圖4.2所示。圖4.2protus仿真圖源程序設(shè)計(jì),見附錄3。第五章性能測(cè)試與分析5.1軟件仿真性能測(cè)試測(cè)量說(shuō)明:將示波器傳輸線接到波形輸出端,測(cè)量正弦波、矩形波、三角波信號(hào)的輸出,通過(guò)獨(dú)立按鍵來(lái)實(shí)現(xiàn)不同波形的輸出以及其頻率的改變。測(cè)試過(guò)程:程序下載完之后,液晶屏上第一行顯示SineWave,第二行顯示Frequency:0010Hz,再按一下K1鍵為三角波,按兩下為方波,三次為一個(gè)循環(huán)。另外兩個(gè)開關(guān)可以調(diào)節(jié)頻率,三種波形的頻率正弦波輸出步進(jìn)值為10Hz(10-100Hz),三角波步進(jìn)值為100Hz(100-1000HZ),方波步進(jìn)值為200Hz(200-2000Hz)。三種波形的仿真波形圖及液晶顯示如下:圖5.1正弦波仿真波形圖圖5.2三角波仿真波形圖圖5.3方波仿真波形圖5.2實(shí)物測(cè)試通電后三個(gè)電源指示燈全亮,液晶屏亮且沒(méi)有芯片發(fā)熱,燒焦,爆炸等現(xiàn)象,說(shuō)明電路整體無(wú)太大錯(cuò)誤。(1)電源部分的測(cè)試三個(gè)電源測(cè)試端的記錄數(shù)據(jù)見表5.1。表5.1電源測(cè)試值電源芯片780578097909理論值/V+5.00+9.00-9.00測(cè)試值/V+5.00+9.079-8.968誤差0%0.88%0.34%(2)波形測(cè)試通過(guò)三個(gè)按鍵分別可以實(shí)現(xiàn)波形的選擇,頻率大小的增減,其中正弦波是10Hz的步進(jìn)值進(jìn)行調(diào)節(jié),范圍是10~100Hz;三角波是100Hz的步進(jìn)值調(diào)節(jié),范圍是100~1000Hz;方波是200Hz的步進(jìn)值調(diào)節(jié),范圍為200~2000Hz。但由于各種誤差,示波器鎖測(cè)得的頻率與理論有較大的差距。液晶顯示部分基本實(shí)現(xiàn)即與軟件仿真顯示的是相同的。(3)調(diào)試過(guò)程中遇到的問(wèn)題不能調(diào)節(jié)波形的頻率。此問(wèn)題錯(cuò)在調(diào)頻率程序上。波形的頻率沒(méi)有上限,檢查程序頻率模塊發(fā)現(xiàn)按鍵調(diào)頻的上限不對(duì)。心得體會(huì)在此次工程訓(xùn)練中,我學(xué)到了很多東西。凡事只要用心,都能有一份屬于自己的收獲。也許看似不大,但對(duì)于我而言卻是彌而珍貴的,因?yàn)槟鞘俏业牟蛔阒?。在這里我和你一起分享我的收獲。大一到大三,這次是第一次運(yùn)用到程序,訓(xùn)練的中心從原來(lái)的焊板子變成了編程,所以這次工程訓(xùn)練復(fù)習(xí)了單片機(jī)的知識(shí),另外增加了單片機(jī)C語(yǔ)言的知識(shí),也逐漸養(yǎng)成了編寫程序的幾個(gè)好習(xí)慣:編寫程序輸入“{}”時(shí)要成對(duì)的輸入,以免多輸或少輸。對(duì)每一個(gè)模塊(或子程序)結(jié)束后加上注釋以說(shuō)明它的用途。習(xí)慣使用宏定義對(duì)于特殊的引腳用通俗的字符來(lái)代替。定義函數(shù)名時(shí)應(yīng)通俗易懂。對(duì)特殊含義的變量應(yīng)加上注釋。雖然我才開始寫程序,這些習(xí)慣還沒(méi)有深入腦海,隨著今后的編寫程序?qū)W習(xí)過(guò)程中,我會(huì)在出去工作之前養(yǎng)成這些習(xí)慣,我想著對(duì)于今后的工作是有很大的幫助的。這次工程訓(xùn)練還利用了protus軟件進(jìn)行仿真,和其他仿真軟件用法大致一樣,不一樣的是需要進(jìn)行聯(lián)調(diào)。以前學(xué)習(xí)單片機(jī)的時(shí)候雖然在做實(shí)驗(yàn)運(yùn)用到Keil軟件但對(duì)它的調(diào)試功能不是很熟悉,這次對(duì)其加深了印象。附錄1總原理圖附錄2PCB圖附錄3源程序#include<reg52.h>#include<intrins.h>//_nop_()函數(shù)延時(shí)1US用#defineucharunsignedchar#defineuintunsignedint#defineDAdataP1#defineLCDDAdataDAdata#defineDAdata1P0voiddelay(uchari);voidWR_Com(uchartemp);voidWR_Data(ucharnum);voiddisp_lcd(ucharaddr,uchar*temp1);voiddisp_lcdF(ucharaddr1,uchar*temp11);voidSquareOUT();voidSineOUT();voidTriangleOUT();voidlcd_Reset();ucharWavecount,THtemp,TLtemp;ucharWaveform=0;uintWaveCoef,WaveCoef1;sbitRS=P3^7;sbitRW=P3^6;sbitE=P3^5;sbitDA=P2^7;sbitKEY=P3^2;ucharcodeSinetab[256]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xab,0xad,0xaf,0xb1,0xb2,0xb4,0xb6,0xb7,0xb9,0xba,0xbc,0xbd,0xbf,0xc0,0xc1,0xc3,0xc4,0xc5,0xc6,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xce,0xcf,0xd0,0xd1,0xd1,0xd2,0xd2,0xd3,0xd3,0xd3,0xd2,0xd2,0xd1,0xd1,0xd0,0xcf,0xce,0xce,0xcd,0xcc,0xcb,0xca,0xc9,0xc8,0xc6,0xc5,0xc4,0xc3,0xc1,0xc0,0xbf,0xbd,0xbc,0xba,0xb9,0xb7,0xb6,0xb4,0xb2,0xb1,0xaf,0xad,0xab,0xaa,0xa8,0xa6,0xa4,0xa2,0xa0,0x9e,0x9c,0x9a,0x98,0x96,0x94,0x92,0x90,0x8e,0x8c,0x8a,0x88,0x86,0x84,0x82,0x80,0x7d,0x7b,0x79,0x77,0x75,0x73,0x71,0x6f,0x6d,0x6b,0x69,0x67,0x65,0x63,0x61,0x5f,0x5d,0x5b,0x59,0x57,0x55,0x54,0x52,0x50,0x4e,0x4d,0x4b,0x49,0x48,0x46,0x45,0x43,0x42,0x40,0x3f,0x3e,0x3c,0x3b,0x3a,0x39,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x31,0x30,0x2f,0x2e,0x2e,0x2d,0x2d,0x2c,0x2c,0x2b,0x2b,0x2b,0x2b,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2b,0x2b,0x2b,0x2b,0x2c,0x2c,0x2d,0x2d,0x2e,0x2e,0x2f,0x30,0x31,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x39,0x3a,0x3b,0x3c,0x3e,0x3f,0x40,0x42,0x43,0x45,0x46,0x48,0x49,0x4b,0x4d,0x4e,0x50,0x52,0x54,0x55,0x57,0x59,0x5b,0x5d,0x5f,0x61,0x63,0x65,0x67,0x69,0x6b,0x6d,0x6f,0x71,0x73,0x75,0x77,0x79,0x7b,0x7d,};//正弦ucharcodeTriangletab[58]={0x1a,0x21,0x28,0x2f,0x36,0x3d,0x44,0x4b,0x52,0x59,0x60,0x67,0x6e,0x75,0x7c,0x83,0x8a,0x91,0x98,0x9f,0xa6,0xad,0xb4,0xbb,0xc2,0xc9,0xd0,0xd7,0xde,0xe5,0xde,0xd7,0xd0,0xc9,0xc2,0xbb,0xb4,0xad,0xa6,0x9f,0x98,0x91,0x8a,0x83,0x7c,0x75,0x6e,0x67,0x60,0x59,0x52,0x4b,0x44,0x3d,0x36,0x2f,0x28,0x21};//三角ucharcodeSquaretab[2]={0x56,0xaa};//方波ucharcodedisp1[]={"SineWave""TriangleWale""SquareWave"};ucharidatadisp2[16]={"Frequency:Hz"};ucharcodeCoef[3]={10,100,200};//步進(jìn)ucharidataWaveFre[3]={1,1,1};ucharcodeWaveTH[]={0xfc,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};ucharcodeWaveTL[]={0xf2,0x78,0xfb,0x3c,0x63,0x7d,0x8f,0x9d,0xa8,0xb1,0x17,0x0b,0xb2,0x05,0x37,0x58,0x70,0x82,0x90,0x9b,0x4d,0xa7,0xc4,0xd3,0xdc,0xe2,0xe6,0xea,0xec,0xee};voidmain(){lcd_Reset();//1602初始化P2=0xff;WR_Com(0x8c); //設(shè)置頻率值顯示初始位置WaveCoef=WaveFre[Waveform]*Coef[Waveform];//需要輸出的頻率值disp2[13]=WaveCoef%10+0x30;WaveCoef/=10;disp2[12]=WaveCoef%10+0x30;WaveCoef/=10;disp2[11]=WaveCoef%10+0x30;WaveCoef/=10;disp2[10]=WaveCoef%10+0x30;WaveCoef/=10; disp_lcd(0x80,&disp1[Waveform*16]); disp_lcd(0xc0,disp2); DAdata=0x00; DAdata1=0x00; DA=0; TMOD=0x01; IT0=1; ET0=1; EX0=1; P2=0xff; TH0=THtemp; TL0=TLtemp; TR0=1; EA=1; while(1); }/***************************************************************************函數(shù)名:LCD初始化功能:設(shè)置LCD顯示規(guī)則,設(shè)置顯示模式:8位子行5×7點(diǎn)陣 顯示器開、光標(biāo)開、光標(biāo)允許閃爍 文字不動(dòng),光標(biāo)自動(dòng)右移變量:無(wú)輸入:無(wú)輸出:無(wú)***************************************************************************/ voidlcd_Reset() {WR_Com(0x01); //清屏光標(biāo)復(fù)位 WR_Com(0x38); //設(shè)置顯示模式:8位子行5×7點(diǎn)陣 WR_Com(0x0c); //顯示器開、光標(biāo)開、光標(biāo)允許閃爍 WR_Com(0x06); //文字不動(dòng),光標(biāo)自動(dòng)右移 }/***************************************************************************函數(shù)名:LCD寫入控制功能:將命令寫入到LCD輸入:temp;待輸出的命令數(shù)據(jù)輸出:無(wú)***************************************************************************/ voidWR_Com(uchartemp) {RS=0; RW=0; DAdata=temp; E=0; delay(10); E=1; }/***************************************************************************函數(shù)名:LCD完成顯示功能功能:在LCD的界面上顯示出數(shù)據(jù)輸入:num;待輸出數(shù)據(jù)輸出:無(wú)***************************************************************************/ voidWR_Data(ucharnum) {RS=1; RW=0; DAdata=num; E=0; delay(10); E=1; }/***********************************************************************************************函數(shù)名:LCD連續(xù)顯示功能:在LCD上連續(xù)顯示16位數(shù)據(jù)輸入:addr、*temp1輸出:無(wú)**********************************************************************************************/ voiddisp_lcd(ucharaddr,uchar*temp1) {uchari; WR_Com(addr); delay(10); for(i=0;i<16;i++) {WR_Data(temp1[i]);delay(10);} }/***************************************************************************函數(shù)名:LCD更新頻率功能:輸入:addr、*temp1輸出:無(wú)***************************************************************************/ voiddisp_lcdF(ucharaddr1,uchar*temp11) {uchari; WR_Com(addr1); delay(10); for(i=0;i<4;i++) {WR_Data(temp11[i]);delay(10);} }/***************************************************************************函數(shù)名:延時(shí)1ms輸入:i輸出:無(wú)***************************************************************************/ voiddelay(uchari) {ucharj; while(--i) {for(j=0;j<72;j++);} }/***************************************************************************函數(shù)名:中斷功能:輸入:輸出:無(wú)***************************************************************************/ voidkey_int()interrupt0 {ucharkeytemp,keytemp1; EA=0;TR0=0; keytemp1=0; delay(10); P2=0xff; keytemp=~P2&0x0e; keytemp>>=1; while(!KEY); if(keytemp!=keytemp1) {keytemp1=keytemp; switch(keytemp) {case1:{if(++Waveform==3)Waveform=0;break;}//選擇輸出信號(hào)的種類,0為正弦波,1為三角波,2為方波 case2: {if(++WaveFre[Waveform]==11)WaveFre[Waveform]=1;break;}//倍加 case4: {if(--WaveFre[Waveform]==0)WaveFre[Waveform]=10;break;}//倍減 } THtemp=WaveTH[Waveform*16+(WaveFre[Waveform]-1)]; TLtemp=WaveTL[Waveform*16+(WaveFre[Waveform]-1)]; WaveCoef1=WaveFre[Waveform]*Coef[Waveform];//計(jì)算需要輸出信號(hào)的頻率 WaveCoef=WaveFre[Waveform]*Coef[Waveform]; disp2[13]=WaveCoef%10+0x30;//取個(gè)位 WaveCoef/=10; disp2[12]=WaveCoef%10+0x30;//取十位 WaveCoef/=10; disp2[11]=WaveCoef%10+0x30;//取百位 WaveCoef/=10; disp2[10]=WaveCoef%10+0x30;//取千位 disp_lcd(0x80,&disp1[Waveform*16]); disp_lcdF(0xca,&disp2[10]); P2=0xff; } TH0=THtemp;//16位定時(shí)器/計(jì)數(shù)器的高低位,TL0是低八位,TH0=是高八位 TL0=TLtemp;Wavecount=0; TR0=1;//EA總中斷開關(guān),如果EA不打開,任何中斷都無(wú)法執(zhí)行ET0,在EA打開的前提下,打開T0定時(shí)器中斷TR0,開始啟用T0計(jì)數(shù)器/定時(shí)器 EA=1; }/***************************************************************************函數(shù)名:中斷功能:判別按鍵按了幾下,1為正弦波,2為三角波,3為方波輸入:輸出:無(wú)***************************************************************************/ vo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車油泵產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 廣州市跨境旅游組團(tuán)合同樣本
- 真空泵產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 2024年勞動(dòng)聘用人才合同
- 牙刷架市場(chǎng)洞察報(bào)告
- 工程建設(shè)監(jiān)理委托合同專業(yè)樣本
- 玄琴朝鮮弦琴產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 域名交易合同的法律效力與撰寫要點(diǎn)
- 2024年長(zhǎng)期聘用合同
- 軟件授權(quán)合同的常見問(wèn)題
- 2024-2030年中國(guó)干細(xì)胞醫(yī)療行業(yè)趨勢(shì)分析及投資戰(zhàn)略研究報(bào)告
- 消防安全培訓(xùn)內(nèi)容
- 2024-2030年鋁型材行業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2024-2030年辣椒種植行業(yè)市場(chǎng)深度分析及發(fā)展策略研究報(bào)告
- 變電站綠化維護(hù)施工方案
- 校園展美 課件 2024-2025學(xué)年人美版(2024)初中美術(shù)七年級(jí)上冊(cè)
- 初中英語(yǔ)研修方案
- 解碼國(guó)家安全知到章節(jié)答案智慧樹2023年國(guó)際關(guān)系學(xué)院
- 典范英語(yǔ)7-4中英文對(duì)照翻譯Oh,otto!Oh,otto
- 混凝土早強(qiáng)劑檢驗(yàn)報(bào)告(出廠)
- 超聲引導(dǎo)下腰椎部位的穿刺ppt課件
評(píng)論
0/150
提交評(píng)論