




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、科學(xué)技術(shù)學(xué)院SCIENCE & TECHNOLOGY COLLEGE OF NANCHANG UNIVERSITY 工 程 訓(xùn) 練報(bào) 告REPORT ON ENGINEERING TRAINING題 目 基于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)
2、生正弦波,三角波,方波,并實(shí)現(xiàn)對(duì)頻率調(diào)節(jié),以及液晶屏顯示波形名稱和波形頻率,波形的切換和頻率的調(diào)節(jié)都可以用按鍵實(shí)現(xiàn)。通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),最終由示波器顯示出來。系統(tǒng)大致包括信號(hào)發(fā)生部分、數(shù)/模轉(zhuǎn)換部分、液晶顯示部分以及電源部分,在編程語言上,本文選擇C語言,這樣在后期波形的調(diào)試及與硬件銜接方面更容易發(fā)揮出自身優(yōu)勢(shì)。經(jīng)過設(shè)計(jì)及后期長時(shí)間的調(diào)試,設(shè)計(jì)的所有功能均已實(shí)現(xiàn)。但在這個(gè)過程中也發(fā)現(xiàn)了一個(gè)問題,由于硬件本身靈敏度的原因,使得頻率達(dá)不到很高。關(guān)鍵詞:函數(shù)信號(hào)發(fā)生器 單片機(jī) LCD1602液晶屏目 錄第一章 基于AT89C51簡(jiǎn)易函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作的概述
3、11.1 簡(jiǎn)介11.2 工程訓(xùn)練的性質(zhì)、任務(wù)、目的1第二章 設(shè)計(jì)方案的選擇和確定22.1 電路設(shè)計(jì)要求和指標(biāo)22.2 方案方案設(shè)計(jì)與論證22.2.1 總體方案22.2.2 顯示方案論證2第三章 系統(tǒng)硬件設(shè)計(jì)33.1 工作原理及總體方框圖33.2 各部分電路的設(shè)計(jì)33.2.1 單片機(jī)AT89C51模塊設(shè)計(jì)33.2.2 D/A轉(zhuǎn)換電路53.2.3 LCD 1602液晶顯示模塊設(shè)計(jì)73.2.4 按鍵電路模塊設(shè)計(jì)93.2.5 電源及指示電路9第四章 系統(tǒng)的軟件設(shè)計(jì)114.1 軟件設(shè)計(jì)流程11第五章 性能測(cè)試與分析125.1 軟件仿真性能測(cè)試125.2 實(shí)物測(cè)試13心得體會(huì)14附錄1 總原理圖15附錄2
4、 PCB圖16附錄3 源程序17參考文獻(xiàn)25第一章 基于AT89C51簡(jiǎn)易函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作的概述1.1 簡(jiǎn)介此次工程訓(xùn)練是利用單片機(jī)AT89C51制作簡(jiǎn)易函數(shù)信號(hào)發(fā)生器。信號(hào)發(fā)生器又稱信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路被稱為函數(shù)信號(hào)發(fā)生器。函數(shù)信號(hào)發(fā)生器在電路實(shí)驗(yàn)和設(shè)備檢測(cè)中具有十分廣泛的用途。信號(hào)發(fā)生器應(yīng)用廣泛,種類繁多,性能各異,分類也不盡一致。按照頻率范圍分類可以分為:超低頻信號(hào)發(fā)生器、低頻信號(hào)發(fā)生器、視頻信號(hào)發(fā)生器、高頻波形發(fā)生器、甚高頻波形發(fā)生器和超高頻信號(hào)發(fā)生器。按照信號(hào)發(fā)生器性能指標(biāo)可
5、以分為一般信號(hào)發(fā)生器和標(biāo)準(zhǔn)信號(hào)發(fā)生器。前者指對(duì)輸出信號(hào)的頻率、幅度的準(zhǔn)確度和穩(wěn)定度以及波形失真等要求不高的一類信號(hào)發(fā)生器。后者是指其輸出信號(hào)的頻率、幅度、調(diào)制系數(shù)等在一定范圍內(nèi)連續(xù)可調(diào),并且讀數(shù)準(zhǔn)確、穩(wěn)定、屏蔽良好的中、高檔信號(hào)發(fā)生器。按輸出波形可分為:正弦信號(hào)發(fā)生器和非正弦信號(hào)發(fā)生器。非正弦信號(hào)發(fā)生器包括脈沖信號(hào)發(fā)生器、函數(shù)信號(hào)發(fā)生器、掃頻信號(hào)發(fā)生器、數(shù)字序列信號(hào)發(fā)生器、圖形信號(hào)發(fā)生器、噪聲信號(hào)發(fā)生器等。按其性能可分為:簡(jiǎn)易信號(hào)發(fā)生器、功率信號(hào)發(fā)生器、掃頻信號(hào)發(fā)生器、矢量信號(hào)發(fā)生器。電路核心器件中有單片機(jī),它是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨
6、機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM多種I/O口、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng)。隨著現(xiàn)代科技的發(fā)展,單片機(jī)的集成度越來越高,CPU的位數(shù)也越來越高,已能將所有主要部件都集成在一塊芯片上,使其應(yīng)用模式多、范圍廣,并具有以下特點(diǎn):體積小,功耗低,價(jià)格便宜,重量輕,易于產(chǎn)品化。控制功能強(qiáng),運(yùn)行速度快,能針對(duì)性地解決從簡(jiǎn)單到復(fù)雜的各類控制問題,滿足工業(yè)控制要求,并有很強(qiáng)的位處理和接口邏輯操作等多種功能。抗干擾能力強(qiáng),適用溫度范圍寬。由于許多功能部件集成在芯片內(nèi)部,受外界影響小,故可靠性高。雖然
7、單片機(jī)內(nèi)存儲(chǔ)器的容量不可能很大,但存儲(chǔ)器和I/O接口都易于擴(kuò)展。可以方便的實(shí)現(xiàn)多機(jī)和分布式控制1.2 工程訓(xùn)練的性質(zhì)、任務(wù)、目的結(jié)合單片機(jī)原理及應(yīng)用教程課程內(nèi)容,培養(yǎng)實(shí)際動(dòng)手能力,提高對(duì)知識(shí)的理解與應(yīng)用能力,增強(qiáng)把書本知識(shí)轉(zhuǎn)化為實(shí)際運(yùn)用能力。更突出設(shè)計(jì)過程中的鍛煉,強(qiáng)化學(xué)生的實(shí)踐創(chuàng)新能力及獨(dú)立思考分析能力。27第二章 設(shè)計(jì)方案的選擇和確定2.1 電路設(shè)計(jì)要求和指標(biāo)可產(chǎn)生波形類型有:正弦波、方波、三角波;使用同一按鍵選擇三種波形,輸出狀態(tài)為正弦波,按下出現(xiàn)三角波,再按出現(xiàn)方波;正弦波輸出步進(jìn)值為10Hz(10-100Hz),三角波步進(jìn)值為100Hz(100-1000HZ),方波步進(jìn)值為200Hz
8、(200-2KHz);輸出波形的同時(shí)液顯第一行顯示內(nèi)容為:輸出正弦波時(shí)顯示:Sine Wave輸出三角波時(shí)顯示:Triangle Wale輸出方波時(shí)顯示Square Wave;第二行顯示內(nèi)容為:Frequency: * Hz 。在制作實(shí)物時(shí),電源及地需預(yù)留端口出來,以便儀器的測(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á)到輸出
9、頻率覆蓋系數(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ù)碼管輪流顯示各自的字符。由于人眼
10、具有視覺暫留特性,當(dāng)每只數(shù)碼管顯示的時(shí)間間隔小于1/16s時(shí)人眼感覺不到閃動(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ù)處理及控制核心,由單
11、片機(jī)完成人機(jī)界面、系統(tǒng)控制、信號(hào)的采集分析以及信號(hào)的處理和變換,采用按鍵輸入,利用液晶顯示電路輸出數(shù)字顯示的方案。具體利用單片機(jī)AT89C51采用程序設(shè)計(jì)方法產(chǎn)生正弦波、三角波、方波三種波形,再通過D/A轉(zhuǎn)換器DAC0832將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),最終由示波器顯示出來。LCD1602液晶顯示模塊 A T單 8片 9機(jī) C51數(shù)模轉(zhuǎn)換DAC0832 LM324放大電路電源及指示電路模塊輸出電路按鍵控制電路圖3.1 總體方框圖3.2 各部分電路的設(shè)計(jì)3.2.1 單片機(jī)AT89C51模塊設(shè)計(jì)圖3.2 AT89C51模塊原理圖單片機(jī)AT89C51模塊原理圖如圖3.2所示,其中XTL1,XTL2連接的
12、是時(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;是外部中斷口,由按鍵控制電路模塊通過對(duì)單片機(jī)傳輸中斷信號(hào)來實(shí)現(xiàn)波形切換及頻率調(diào)節(jié)。AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash 只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中
13、央處理器和Flash存儲(chǔ)單元。 圖3.3 AT89C51的引腳圖AT89C51的引腳圖如圖3.3所示,相應(yīng)引腳的功能如下:P0:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(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è)
14、TTL邏輯門電路。對(duì)端口寫“1”,通過內(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”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問外部程序存
15、儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問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ī)器
16、周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE 操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。PSEN:程序
17、儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。EA/VPP外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000HFFFFH),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:振蕩器反相放大器的及
18、內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.2.2 D/A轉(zhuǎn)換電路圖3.4 D/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)
19、網(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.5 DAC0832內(nèi)部結(jié)構(gòu)圖 DAC0832內(nèi)部結(jié)構(gòu):芯片內(nèi)有兩級(jí)輸入寄存器,使DAC0832具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要。DA轉(zhuǎn)換結(jié)果采用電流形式輸出。要是需要相應(yīng)的模擬信號(hào),可通過一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)這個(gè)功能。運(yùn)放的反饋電阻可通過RFB端引用片內(nèi)固有電阻,還可以外接。DAC0832引腳圖如圖3.6所示,引腳功能說明: (1)DI0DI7:數(shù)據(jù)
20、輸入線,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.6 DAC0832引腳圖(11)Vref:基準(zhǔn)電壓輸入線。(12)AGND:模擬地,模擬信號(hào)和基準(zhǔn)電源的參考地。(13) DGND:兩
21、種地線在基準(zhǔn)電源處共地比較好。電路還運(yùn)用到運(yùn)算放大器,選用LM324芯片,它是四運(yùn)放集成電路,采用14腳雙列直插塑料封裝,它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。通過此電路可將0832輸出的電流轉(zhuǎn)換為電壓輸出。運(yùn)算放大器特點(diǎn)如下: (1)開環(huán)放大倍數(shù)非常高,一般為幾千,甚至可高達(dá)10萬。在正常情況下,運(yùn)算放大器所需要的輸入電壓非常小。 (2)輸入阻抗非常大。運(yùn)算放大器工作時(shí),輸入端相當(dāng)于一個(gè)很小的電壓加在一個(gè)很大的輸入阻抗上,所需要的輸入電流也極小。 (3)輸出阻抗很小,所以,它的驅(qū)動(dòng)能力非常大。3.2.3 LCD 1602液晶顯示模塊設(shè)計(jì)如圖3.7所示為LC
22、D 1602液晶顯示模塊原理圖,液晶顯示器LCD1602八位數(shù)據(jù)端連接P1,三個(gè)使能端RS、RW、E分別接單片機(jī)的P3.5、P3.6、P3.7,通過軟件控制液晶屏可以顯示波形的種類以及波形的頻率。圖3.7 LCD 1602液晶顯示模塊原理圖1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它有若干個(gè)5X7的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱?所以它不能顯示圖形。1602是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符的液晶模塊。目前市面上字符
23、液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。圖3.8 1602引腳圖 1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,其管腳圖如圖3.8所示,各引腳接口說明如表3.1所示。表3.1 1602 引腳接口說明表編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明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)
24、部的控制器共有11條控制指令,如表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)的操作都是通過指令編程來實(shí)現(xiàn)的。(說
25、明: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:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(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í)為單行
26、顯示,高電平時(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.3 1602地址表1234567891011
27、1213141516808182838485868788898A8b8C8D8E8FC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF3.2.4 按鍵電路模塊設(shè)計(jì)如圖3.9所示為按鍵電路模塊設(shè)計(jì),由三個(gè)按鍵及二極管組成的系統(tǒng)通過對(duì)單片機(jī)傳輸中斷信號(hào)來實(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)壓芯
28、片的管腳排布如圖3.11所示。 (a) 7805管腳排布 (b) 7809管腳排布 (c) 7909管腳排布圖3.11 7805,7809,7909穩(wěn)壓芯片的管腳排布圖在實(shí)際應(yīng)用中,應(yīng)在三端集成穩(wěn)壓電路上安裝足夠大的散熱器(當(dāng)然小功率的條件下不用)。當(dāng)穩(wěn)壓管溫度過高時(shí),穩(wěn)壓性能將變差,甚至損壞,還應(yīng)注意散熱片總是和接地腳相連。綜上所述,總原理圖見附錄1.PCB板的制作流程 設(shè)計(jì)繪制原理圖導(dǎo)成PCB圖打印輸出(熱轉(zhuǎn)印紙)利用熱轉(zhuǎn)印法將PCB圖轉(zhuǎn)到敷銅板腐蝕(留下電子線路) 金屬焊盤鉆孔 焊接安裝元器件 調(diào)試 成品。注意事項(xiàng):(1) 正確的選擇元器件的封裝。(2) 要合理地選擇線寬、焊盤、焊孔的大
29、小,在鉆孔時(shí)需要仔細(xì)地選擇鉆頭的直徑,以方面元器件的焊接。(3) 導(dǎo)入PCB后,先進(jìn)行布局對(duì)布線有利。(4) 在焊接元器件前,一定要先檢測(cè)元器件是否有損壞,再進(jìn)行焊接。在焊接過程中也要注意安全。 PCB圖見附錄2.成品實(shí)物圖如圖3.12所示。圖3.12 實(shí)物圖第4章 系統(tǒng)的軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)流程本系統(tǒng)采用AT89C51單片機(jī),用編程的方法來產(chǎn)生三種波形,并通過編程來切換三種波形以及波形頻率的改變。具體功能有:(1)正弦波,三角波,方波波形的切換;(2)各波形的步進(jìn)值參數(shù);(3)各波形頻率的增減等。利用軟件keil,protus聯(lián)調(diào)調(diào)通后,通過編程器下載到AT89C51芯片中,然后插到系統(tǒng)
30、中即可獨(dú)立完成所有的控制。如圖4.1所示為程序流程圖圖4.1 程序流程圖Protus仿真圖如圖4.2所示。圖4.2 protus仿真圖源程序設(shè)計(jì),見附錄3。第五章 性能測(cè)試與分析5.1 軟件仿真性能測(cè)試測(cè)量說明:將示波器傳輸線接到波形輸出端,測(cè)量正弦波、矩形波、三角波信號(hào)的輸出,通過獨(dú)立按鍵來實(shí)現(xiàn)不同波形的輸出以及其頻率的改變。測(cè)試過程:程序下載完之后,液晶屏上第一行顯示Sine Wave,第二行顯示Frequency:0010Hz,再按一下K1鍵為三角波,按兩下為方波,三次為一個(gè)循環(huán)。另外兩個(gè)開關(guān)可以調(diào)節(jié)頻率,三種波形的頻率步進(jìn)值不同,分別為:正弦波輸出步進(jìn)值為10Hz(10-100Hz),
31、三角波步進(jìn)值為100Hz(100-1000HZ),方波步進(jìn)值為200Hz(200-2000Hz)。 三種波形的仿真波形圖及液晶顯示如下:圖5.1正弦波仿真波形圖圖5.2 三角波仿真波形圖圖5.3 方波仿真波形圖5.2 實(shí)物測(cè)試通電后三個(gè)電源指示燈全亮,液晶屏亮且沒有芯片發(fā)熱,燒焦,爆炸等現(xiàn)象,說明電路整體無太大錯(cuò)誤。 (1)電源部分的測(cè)試 三個(gè)電源測(cè)試端的記錄數(shù)據(jù)見表5.1。表5.1 電源測(cè)試值電源芯片780578097909理論值/V+5.00+9.009.00測(cè)試值/V+5.00+9.0798.968誤差0%0.88%0.34% (2)波形測(cè)試通過三個(gè)按鍵分別可以實(shí)現(xiàn)波形的選擇,頻率大小的
32、增減,其中正弦波是10Hz的步進(jìn)值進(jìn)行調(diào)節(jié),范圍是10100Hz;三角波是100Hz的步進(jìn)值調(diào)節(jié),范圍是1001000Hz;方波是200Hz的步進(jìn)值調(diào)節(jié),范圍為2002000Hz。但由于各種誤差,示波器鎖測(cè)得的頻率與理論有較大的差距。 液晶顯示部分基本實(shí)現(xiàn)即與軟件仿真顯示的是相同的。(3)調(diào)試過程中遇到的問題1) 不能調(diào)節(jié)波形的頻率。此問題錯(cuò)在調(diào)頻率程序上。2) 波形的頻率沒有上限,檢查程序頻率模塊發(fā)現(xiàn)按鍵調(diào)頻的上限不對(duì)。心得體會(huì)在此次工程訓(xùn)練中,我學(xué)到了很多東西。凡事只要用心,都能有一份屬于自己的收獲。也許看似不大,但對(duì)于我而言卻是彌而珍貴的,因?yàn)槟鞘俏业牟蛔阒帯T谶@里我和你一起分享我的收
33、獲。大一到大三,這次是第一次運(yùn)用到程序,訓(xùn)練的中心從原來的焊板子變成了編程,所以這次工程訓(xùn)練復(fù)習(xí)了單片機(jī)的知識(shí),另外增加了單片機(jī)C語言的知識(shí),也逐漸養(yǎng)成了編寫程序的幾個(gè)好習(xí)慣:(1) 編寫程序輸入“”時(shí)要成對(duì)的輸入,以免多輸或少輸。(2) 對(duì)每一個(gè)模塊(或子程序)結(jié)束后加上注釋以說明它的用途。(3) 習(xí)慣使用宏定義對(duì)于特殊的引腳用通俗的字符來代替。(4) 定義函數(shù)名時(shí)應(yīng)通俗易懂。(5) 對(duì)特殊含義的變量應(yīng)加上注釋。 雖然我才開始寫程序,這些習(xí)慣還沒有深入腦海,隨著今后的編寫程序?qū)W習(xí)過程中,我會(huì)在出去工作之前養(yǎng)成這些習(xí)慣,我想著對(duì)于今后的工作是有很大的幫助的。 這次工程訓(xùn)練還利用了protus軟
34、件進(jìn)行仿真,和其他仿真軟件用法大致一樣,不一樣的是需要進(jìn)行聯(lián)調(diào)。以前學(xué)習(xí)單片機(jī)的時(shí)候雖然在做實(shí)驗(yàn)運(yùn)用到Keil軟件但對(duì)它的調(diào)試功能不是很熟悉,這次對(duì)其加深了印象。附錄1 總原理圖附錄2 PCB圖附錄3 源程序 #include #include / _nop_() 函數(shù)延時(shí)1US用 #define uchar unsigned char #define uint unsigned int #define DAdata P1 #define LCDDAdata DAdata #define DAdata1 P0 void delay(uchar i); void WR_Com(uchar tem
35、p); void WR_Data(uchar num);void disp_lcd(uchar addr,uchar *temp1);void disp_lcdF(uchar addr1,uchar *temp11);void SquareOUT();void SineOUT();void TriangleOUT();void lcd_Reset();uchar Wavecount,THtemp,TLtemp;uchar Waveform=0;uint WaveCoef,WaveCoef1;sbit RS=P37;sbit RW=P36;sbit E=P35;sbit DA=P27;sbit
36、KEY=P32;uchar code Sinetab256=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,
37、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,
38、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,
39、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,
40、0x73,0x75,0x77,0x79,0x7b,0x7d,;/正弦uchar code Triangletab58=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,0
41、x60,0x59,0x52,0x4b,0x44,0x3d,0x36,0x2f,0x28,0x21; /三角uchar code Squaretab2=0x56,0xaa;/方波uchar code disp1=Sine Wave Triangle Wale Square Wave ;uchar idata disp216=Frequency: Hz;uchar code Coef3=10,100,200;/步進(jìn)uchar idata WaveFre3=1,1,1;uchar code WaveTH=0xfc,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xf
42、f,0xfc,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code WaveTL=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;void main()lcd_Reset(); /1602初
43、始化P2=0xff;WR_Com(0x8c);/設(shè)置頻率值顯示初始位置WaveCoef=WaveFreWaveform*CoefWaveform;/需要輸出的頻率值disp213=WaveCoef%10+0x30;WaveCoef/=10;disp212=WaveCoef%10+0x30;WaveCoef/=10;disp211=WaveCoef%10+0x30;WaveCoef/=10;disp210=WaveCoef%10+0x30;WaveCoef/=10;disp_lcd(0x80,&disp1Waveform*16);disp_lcd(0xc0,disp2);DAdata=0x00;
44、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位子行57點(diǎn)陣 顯示器開、光標(biāo)開、光標(biāo)允許閃爍 文字不動(dòng),光標(biāo)自動(dòng)右移變量:無輸入:無輸出:無*/void lcd_Reset() WR_Com(0x01);/清屏光標(biāo)復(fù)位WR_Com(0x38);/設(shè)置顯示模式:8位子行57點(diǎn)陣WR_Com(0x0c);/顯示器開、光標(biāo)開、光標(biāo)允許閃爍WR_Com(0x06);/文字不動(dòng),光標(biāo)自動(dòng)右移/*
45、函數(shù)名:LCD寫入控制功能:將命令寫入到LCD輸入:temp;待輸出的命令數(shù)據(jù)輸出:無*/void WR_Com(uchar temp) RS=0;RW=0;DAdata=temp;E=0;delay(10);E=1;/*函數(shù)名:LCD完成顯示功能功能:在LCD的界面上顯示出數(shù)據(jù)輸入:num;待輸出數(shù)據(jù)輸出:無*/void WR_Data(uchar num) RS=1;RW=0;DAdata=num;E=0;delay(10);E=1;/*函數(shù)名:LCD連續(xù)顯示功能:在LCD上連續(xù)顯示16位數(shù)據(jù)輸入:addr、*temp1輸出:無*/void disp_lcd(uchar addr,uchar *temp1)uchar i;WR_Com(addr);delay(10);for(i=0;i16;i+) WR_Data(temp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 精準(zhǔn)掌握2025年公共營養(yǎng)師考試試題及答案
- 藥物相互作用實(shí)例分解試題及答案
- 激光專業(yè)基礎(chǔ)知識(shí)考核試題及答案
- 育嬰師如何有效支持家長的育兒信心分析試題及答案
- 激光設(shè)備操作知識(shí)試題及答案
- 管理會(huì)計(jì)的試題及答案
- 蘆花鞋測(cè)試題及答案
- 行車證的試題及答案
- 藥物政策與法規(guī)研究試題及答案
- 系統(tǒng)管理師考試試題及答案的分析工具
- Python數(shù)據(jù)分析與數(shù)據(jù)挖掘 課件 第7章 Matplotlib
- 2023年-2024年電子物證專業(yè)考試復(fù)習(xí)題庫(含答案)
- 新能源汽車發(fā)展現(xiàn)狀參考文獻(xiàn)
- 春季行車安全注意事項(xiàng)春季行車安全教育
- 焊接工序首件檢驗(yàn)記錄表
- 注塑工藝監(jiān)控記錄表
- WORD文檔標(biāo)題格式模板(五級(jí)標(biāo)題)
- “四會(huì)”教學(xué)基本概述
- 延續(xù)證書承諾書格式
- 高金英講座完整版
- 技術(shù)創(chuàng)新的內(nèi)涵與核心
評(píng)論
0/150
提交評(píng)論