基于單片機的信號發(fā)生器的設(shè)計_第1頁
基于單片機的信號發(fā)生器的設(shè)計_第2頁
基于單片機的信號發(fā)生器的設(shè)計_第3頁
基于單片機的信號發(fā)生器的設(shè)計_第4頁
基于單片機的信號發(fā)生器的設(shè)計_第5頁
免費預(yù)覽已結(jié)束,剩余30頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、唐山師范學(xué)院題目基于單片機的信號發(fā)生器的設(shè)計院系名稱:電子信息科學(xué)與技術(shù)學(xué)號:111180241015波形發(fā)生器即簡易函數(shù)信號發(fā)生器,是一個能夠產(chǎn)生多種波形,如三角波、鋸齒波、方波、正弦波等波形電路。函數(shù)信號發(fā)生器在電路實驗和設(shè)備儀器中具有十分廣泛的用途。通過對函數(shù)發(fā)生器的原理以及構(gòu)成分析,可設(shè)計一個能變換出三角波、鋸齒波、方波、正弦波的函數(shù)波形發(fā)生器。在工業(yè)生產(chǎn)和科研中利用函數(shù)信號發(fā)生器發(fā)出的信號,可以對元器件的性能及參數(shù)進行測量,還可以對電工和電子產(chǎn)品進行指數(shù)驗證、參數(shù)調(diào)整及性能鑒定。常用的信號發(fā)生器絕大部分是由模擬電路構(gòu)成的,當(dāng)這種模擬信號發(fā)生器用于低頻信號輸出往往需要的RC值很大,這樣

2、不僅參數(shù)準(zhǔn)確度難以保證,而且體積和功耗都很大,而由數(shù)字電路構(gòu)成的低頻信號發(fā)生器,雖然其性能好但體積較大,價格較貴,因此,高精度,寬調(diào)幅將成為數(shù)字量信號發(fā)生器的趨勢。本文介紹的是利用89C52單片機和數(shù)本g轉(zhuǎn)換器件DAC083容生所需不同信號的低頻信號源,其信號幅度和頻率都是可以按要求控制的。文中簡要介紹了DAC083微模轉(zhuǎn)換器的結(jié)構(gòu)原理和使用方法,89C52的基礎(chǔ)理論,以及與設(shè)計電路有關(guān)的各種芯片。文中著重介紹了如何利用單片機控制D/A轉(zhuǎn)換器產(chǎn)生上述信號的硬件電路和軟件編程。信號頻率幅度也按要求可調(diào)。本設(shè)計核心任務(wù)是:以AT89C5刻核心,結(jié)合D/A轉(zhuǎn)換器和DAC083騫器件,用仿真軟件設(shè)計硬

3、件電路,用C語言編寫驅(qū)動程序,以實現(xiàn)程序控制產(chǎn)生正弦波、三角波、方波、三種常用低頻信號。可以通過鍵盤選擇波形和輸入任意頻率值。關(guān)鍵詞:AT89C52單片機函數(shù)波形發(fā)生器DAC0832方波三角波正弦波1引言42系統(tǒng)設(shè)計62.1 方案62.2 器件選擇62.3 總體系統(tǒng)設(shè)計62.4 硬件實現(xiàn)及單元電路設(shè)計72.4.1 單片機最小系統(tǒng)設(shè)計72.4.2 D/A轉(zhuǎn)換器82.4.3 運算放大器電路102.4.4 LED顯示器接口電路112.4.5 波形產(chǎn)生原理及模塊設(shè)計112.4.6 顯示模塊設(shè)計132.4.7 鍵盤顯示模塊設(shè)計142.5 軟件設(shè)計流程142.5.1 軟件中的重點模塊設(shè)計143輸出波形種類

4、與頻率的測試183.1 測量儀器及調(diào)試說明183.2 調(diào)試過程183.3 調(diào)試結(jié)果22結(jié)論23致謝25參考文獻26附錄A源程序27附錄B仿真圖341引言單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU!機存儲器RAM只讀存儲器ROM多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。波形發(fā)生器是一種數(shù)據(jù)信號發(fā)生器,在調(diào)試硬件時,常常需要加入一些信號,以觀察電路工作是否正常。用一般的信號發(fā)生器,不但笨重,而且只發(fā)一些簡單的波形,不能滿足需要

5、。例如用戶要調(diào)試用口通信程序時,就要在計算機上寫好一段程序,再用線連接計算機和用戶實驗板,如果不正常,不知道是通訊線有問題還是程序有問題。用E2000/L的波形發(fā)生器功能,就可以定義用口數(shù)據(jù)。通過邏輯探勾輸出,調(diào)試起來簡單快捷?;趩纹瑱C的簡易波形發(fā)生器是一種常用的信號源,它廣泛地應(yīng)用在電子技術(shù)實驗、自動控制系統(tǒng)和其他科研領(lǐng)域。目前,簡易波形發(fā)生器的構(gòu)成方法有很多,例如采用DDS(Direct2DigitalSynthesis)型的任意波發(fā)生器、采用專用的信號發(fā)生芯片MAX038及傳統(tǒng)的AWG本設(shè)計源于2007年全國大學(xué)生電子制做大賽,通過分析比較后采用傳統(tǒng)的方法來實現(xiàn)多功能波形發(fā)生器。借助高

6、性能單片機運算速度高,系統(tǒng)集成度強的優(yōu)勢,設(shè)計的這種信號發(fā)生器,比以前的數(shù)字式信號發(fā)生器具有硬件簡單,理解及實現(xiàn)起來較容易,該方案的設(shè)計思路較為清晰,且容易對頻率和幅值進行控制等優(yōu)點。低頻信號發(fā)生器采用單片機波形合成發(fā)生器產(chǎn)生高精度,低失真的正弦波電壓,可用于校驗頻率繼電器,同步繼電器等,也可作為低頻變頻電源使用。以單片機為核心設(shè)計了一個低頻函數(shù)信號發(fā)生器。信號發(fā)生器采用數(shù)字波形合成技術(shù),通過硬件電路和軟件程序相結(jié)合,可輸出自定義波形,如正弦波、方波、三角波及其他任意波形。波形的頻率和幅度在一定范圍內(nèi)可任意改變。介紹了波形的生成原理、硬件電路和軟件部分的設(shè)計原理。介紹了單片機控制D/A轉(zhuǎn)換器產(chǎn)

7、生上述信號的硬件電路和軟件編程、DAC0832D/A轉(zhuǎn)換器的原理和使用方法、AT89C5”及與設(shè)計電路有關(guān)的各種芯片、關(guān)于產(chǎn)生不同低頻信號的信號源的設(shè)計方案。該信號發(fā)生器具有體積小、價格低、性能穩(wěn)定、功能齊全的優(yōu)點。2系統(tǒng)設(shè)計2.1方案:利用AT89C5印片機采用程序設(shè)計方法產(chǎn)生鋸齒波、正弦波、矩形波三種波形,再通過D/A轉(zhuǎn)換器DAC083將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,通過鍵盤來控制三種波形的類型選擇、頻率變化,最終輸出顯示其各自的類型以及數(shù)值。設(shè)計要求51)、利用單片機采用軟件設(shè)計方法產(chǎn)生三種波形2 )、三種波形可通過鍵盤選擇3 )、波形頻率可調(diào)4 )、需顯示波形

8、的種類及其頻率5 .2器件選擇1、通過單片機控制D/A,輸出三種波形。2、AT89C52單片機是一種高性能8位單片微型計算機。它把構(gòu)成計算機的中央處理器CPU存儲器、寄存器、I/O接口制作在一塊集成電路芯片中,從而構(gòu)成較為完整的計算機、而且其價格便宜。3、采用LCD液晶顯示器1602。其功率小,效果明顯,顯示編程容易控制,可以顯示字母。6 .3總體系統(tǒng)設(shè)計該系統(tǒng)采用單片機作為數(shù)據(jù)處理及控制核心,由單片機完成人機界面、系統(tǒng)控制、信號的采集分析以及信號的處理和變換,采用按鍵輸入,利用液晶顯示電圖2-1總體方框圖7 .4硬件實現(xiàn)及單元電路設(shè)計7.1.1 單片機最小系統(tǒng)的設(shè)計89C52是片內(nèi)有ROM/

9、EPROM單片機,因此,這種芯片構(gòu)成的最小系統(tǒng)簡單、可靠。用89C52單片機構(gòu)成最小應(yīng)用系統(tǒng)時,只要將單片機接上時鐘電路和復(fù)位電路即可,如圖89C51單片機最小系統(tǒng)所示。由于集成度的限制,最小應(yīng)用系統(tǒng)只能用作一些小型的控制單元。其應(yīng)用特點:(1) 有可供用戶使用的大量I/O口線。(2) 內(nèi)部存儲器容量有限。(3) 應(yīng)用系統(tǒng)開發(fā)具有特殊性。標(biāo)準(zhǔn)的52為8K程序空間,128字節(jié)的RAM32條端口,5個中斷,2個定時/計數(shù)器,12個時鐘周期執(zhí)行一條基本指令,最長的除法為48個周期。52為8K程序空間,256字節(jié)的RAM32條端口,6個中斷,3個定時/計數(shù)器。TEXT1UFvTEXTa3.p'

10、OU1'ig儂:2r?_L34$E二§>XTAL1PQ.0/AD0PO1/AD1P0.2/AD2XTAL2PO.3/AD3PO,4;AD4PC.5/AD5P0.B/ADBRSTPO7/AD7P2.0W8P2.1P22/A10PSEN-P2.37A11ALEP2.4/A12EAP2S/A13P2.6JA14P27/A15P1m2P3MXDP1.1/F2EXP3JHXDP12P3J21NTOpi.3pa.aiNfrP1,4P3.4H0P15P3.5H1P1.6P3.SAP17P37拓393837r3S3533332212223-1415LLAT39C52TEXTa189圖2

11、-2AT89C52單片機最小系統(tǒng)7.1.2 D/A轉(zhuǎn)換器DAC08321雙歹1直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。圖3.5為DAC0832勺弓I腳圖。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時間為1s,滿量程誤差為土1LSB,參考電壓(+10/span>-10)V,供電電源為(+5+15)V,邏輯電平輸入與TTL兼容。從圖3-1中可見,在DAC083笄有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的允許鎖存信號為ILE,第二級鎖存器稱為DACJ存器,它的鎖存信號也稱為通道控制信號/XFER。U1J_23456789_70-CSWR1GNDDI3DI2DI1DI0V

12、REFRFBGNDVCCILE(BY1/BY2)WR2XFERDI4DI5DI6DI7IOUT2IOUT120191817161514131211DAC0832圖2-3DAC0832的引腳圖圖2-3中,當(dāng)ILE為高電平,片選信號/CS和寫信號/WR1為低電平時,輸入寄存器控制信號為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng)/WR1由低電平變高時,控制信號成為低電平,此時,數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。對第二級鎖存來說,傳送控制信號/XFER和寫信號/WR2同時為低電平時,二級鎖存控制信號為高電平,8位的DACJ存器的輸出隨輸入而變化

13、,此后,當(dāng)/WR2由低電平變高時,控制信號變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到DACU存器中。圖2-3中其余各引腳的功能定義如下:(1) DI7DI0:8位的數(shù)據(jù)輸入端,DI7為最高位。(2) IOUT1:模擬電流輸出端1,當(dāng)DACJ存器中數(shù)據(jù)全為1時,輸出電流最大,當(dāng)DAC寄存器中數(shù)據(jù)全為0時,輸出電流為0。(3) IOUT2:模擬電流輸出端2,IOUT2IOUT1的和為一個常數(shù),即IOUT#IOUT一常(4) Rfb:反饋電阻引出端,DAC083加部已經(jīng)有反饋電阻,所以Rfb端可以直接接到外部運算放大器的輸出端,這樣相當(dāng)于將一個反饋電阻接在運算放大器的輸出端和輸入端之間。(5) Vre

14、f:參考電壓輸入端,此端可接一個正電壓,也可接一個負電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,Vref范圍為(+10-10)V。%EF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。(6) Vcc:芯片供電電壓,范圍為(+515)V。(7) AGND:模擬量地,即模擬電路接地端。(8) DGND:數(shù)字量地。2.4.3運算放大器電路本系統(tǒng)的放大電路如圖2-4所示:圖2-4圖2-4中R1是耦合電阻,R2,R3都為分壓式反饋電阻。R2和R1的電壓比例為1:2,OUT2勺電壓為-5v0v,在第二級運放中要把-5v0v之間的電壓轉(zhuǎn)變?yōu)?5v5v,即第一級運放轉(zhuǎn)換成電壓量的值沒增加或減少1v,第二級運放

15、產(chǎn)生的電壓就減少或增加2v0102.4.4 LED顯示器接口電路常用的LED顯示器有LED犬態(tài)顯示器(俗稱發(fā)光二極管)LEDt段顯示器(俗稱數(shù)碼管和LED+六段顯示器,發(fā)光二極管可顯示兩種狀態(tài),用于系統(tǒng)顯示;數(shù)碼管用于數(shù)字顯示;LED十六段顯示器,用于字符顯示)1 .數(shù)碼管結(jié)構(gòu)數(shù)碼管由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同組合可用來顯示數(shù)字0-9.字符A-F及小數(shù)點”.”。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu)。2 .數(shù)碼管工作原理共陽極數(shù)碼管的8個發(fā)光二級管的陽極(二極管正端)連接在一起。通常會共陽極接高電平1.一般接電源1.當(dāng)某個陰極接低電平時,則該數(shù)碼管導(dǎo)通并點亮。共陰極數(shù)碼管的8個發(fā)

16、光二極管的陰極(二極管負端)連接在一起。公共陰極接低電平(一般接地)當(dāng)某個陽極接高電平,則該數(shù)碼管并點亮。圖2-5數(shù)碼管與單片機接口2.4.5 波形產(chǎn)生原理及模塊設(shè)計波形產(chǎn)生的原理:111、 內(nèi)存中首先存儲波形的數(shù)字量值數(shù)組tosin;2、 52單片機讀取數(shù)組中的值,送入D/A轉(zhuǎn)換器;3、 D/A轉(zhuǎn)換器將輸入的數(shù)字值轉(zhuǎn)換成模擬量輸出;4、 D/A輸出的模擬電流量通過運放轉(zhuǎn)換成電壓量輸出由單片機采用編程方法產(chǎn)生三種波形、通過DA轉(zhuǎn)換,g塊DAC083在進過濾波放大之后輸出。具電路圖2-6如下:J1hvTaidionnjAfsn39FA.1ALTrU-U/jR.yiJP0.1/AD1PO2/A02

17、XTAL2P0.3/AD3PO常n043837ie3635W4rU-OJAUoPD.BMDCRSTPO7/AD7P2.0/A8P22/A1O33932-2<22232G_IT-j,2PSEMP2.3/A11ALEP之中小之EAP2.5/A13P2.6/A14P27/A15P10/T2P3jCJ/RXI>P11/T2EXP3.VTXDIa1011312P1.2P32ANTQ4135尸1drJ.J/IN111P1.4P3.4/TO146157ri,0lrJ,.!3/11P16P3.6MR-P1.7F3.7鹿16817JATSCSZeliei1rrr12圖2-6形產(chǎn)生電路2.4.6顯示模

18、塊的設(shè)計通過液晶1602顯示輸出的波形、頻率,其電路圖如LCD1LM016L圖2-7液晶顯示如上圖2-7所示,1602的八位數(shù)據(jù)端接單片機的P1口,其三個使能端RSRWE分別接單片機的P3.2-P3.4o通過軟件控制液晶屏可以顯示波形的種類以13及波形的頻率。2.4,7鍵盤顯示模塊的設(shè)計本系統(tǒng)采用獨立鍵盤,其連接電路圖如下:P2.0/A3P2.1/A9P2.2/A10P23/A11F24fAi2P25/A13P26/A14P27/A1533.Q/RXDP31/TXD3.2/iiW33.3/iNTrP3.4/T0P35JT1P3.6/WRP3.7/RD圖2-8如圖2-8開關(guān)1用來切換輸出波形、開

19、關(guān)2和3用來調(diào)節(jié)頻率的加減。當(dāng)按開關(guān)2時輸出波形的頻率減小,按開關(guān)3時輸出波形的頻率增加。2.5軟件設(shè)計流程2.5.1 軟件中的重點模塊51單片機,D/A模塊和基準(zhǔn)電壓,輸出驅(qū)動(運放)?;鶞?zhǔn)電壓:最小輸出電壓LSB=5v/256最大輸出電壓MSB=5v波形形成:正弦波:0x80,0x82,0x85,0x88,0x8b,0x8e,0x91,0x94,0x97,0x9a,0x9d,0xa0,0xa3,140xa6,0xa9,0xac,0xaf,0xb2,0xb6,0xb9,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0x

20、da,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0x億0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1

21、,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,由于DAc0832是8精度的轉(zhuǎn)換器,其計算如下:80X5v/256(即80XLSB)82XLSB方波:0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,其計算如下:1580X5v

22、/256(即80XLSB)7cXLSB三角波:0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

23、00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x

24、80其計算如下:5ax5v/256(即5axLSB)下面依次類推。本系統(tǒng)采用AT89S52單片機,用編程的方法來產(chǎn)生三種波形,并通過編程來切換三種波形以及波形頻率的改變。具體功能有:(1)各個波形的切換;16(2)各種參數(shù)的設(shè)定;(3)頻率增減等。軟件調(diào)通后,通過編程器下載到AT89C52®片中,然后插到系統(tǒng)中即可獨立完成所有的控制。軟件的流程圖如下:圖2-9程序流程圖173輸出波形的種類和調(diào)試3.1 調(diào)試環(huán)境PC機,Keil51,Protues調(diào)試說明:正弦波、矩形波、三角波信號的輸出,通過對獨立鍵盤來實現(xiàn)其的不同波形的輸出以及其頻率的改變。3.2 調(diào)試過程當(dāng)程序下進去時經(jīng)過初始化

25、,液晶屏的上只顯示“wave:”和“f:“,當(dāng)開關(guān)一按一下是此時輸出波形為正弦波,按兩下時輸出為方波,按三下時輸出為三角波。另外兩個開關(guān)可以調(diào)節(jié)頻率,三種波形的頻率可調(diào)范圍不同,分別如下:正弦波:1111HZ方波:13.3KHZ三角波:166HZ根據(jù)示波器的波形頻率的顯示計算出三種波形的頻率計算公式如下:正弦波:f=(1000/(9+3*ys)方波:f=(100000/(3*ys)三角波:f=(1000/(15+3*ys)其中ys為延時的變量。由單片機采用編程方法產(chǎn)生三種波形、通過DA轉(zhuǎn)換*K塊DAC083左進過濾波放大之后輸出18正弦波程序:if(s1num=1)/正弦波/(for(j=0;

26、j<255;j+)(P0=tosinj;delayl(ys);其電路圖如下:Jigrtaloscilloscope圖3-1正弦波形方波程序:if(s1num=2)/方波(P0=0xff;19delayl(ys);P0=0;delayl(ys);)其電路圖如下:圖3-2方波波形三角波程序:if(s1num=3)/三角波/(if(a<128)(P0=a;delay1(ys);20else(P0=255-a;delayl(ys);)a+;)其電路圖如下:圖3-3三角波形3.3 調(diào)試結(jié)果21各項指標(biāo)均達到要求。測試數(shù)據(jù)如下:1)、產(chǎn)生正弦波、方波、三角波基本實現(xiàn)2)、三種波形的頻率都可調(diào),

27、但不能步進的調(diào)節(jié),其中方波的可調(diào)范圍最廣為13.3KHZ,其他兩種波形的頻率范圍不大1180HZ3)、顯示部分基本實現(xiàn)4)、鍵盤功能實現(xiàn)22并且通過本次課方法及實現(xiàn),培養(yǎng)通過這次課程設(shè)計使我對課程所學(xué)理論知識的深化和提高程設(shè)計,使我了解和掌握單片機應(yīng)用系統(tǒng)的軟硬件設(shè)計過程、了我分析問題和解決問題的能力,為以后設(shè)計和實現(xiàn)更難的應(yīng)用系統(tǒng)打下良好基礎(chǔ)。同時培養(yǎng)了我撰寫設(shè)計說明書的能力。在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計但這次設(shè)計真的讓我長進了很多。對于單片機設(shè)計,具硬件電路是比較簡單的,主要是解決程序設(shè)計的問題,而程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏輯思維和

28、創(chuàng)新能力,它才是一個設(shè)計的靈魂所在。因此在整個設(shè)計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關(guān)鍵的問題所在,這需要對單片機的結(jié)構(gòu)很熟悉。因此可以說單片機的設(shè)計是軟件和硬件的結(jié)合,二者是密不可分的。要設(shè)計一個成功的電路,必須要有耐心,要有堅持的毅力。在整個電路的設(shè)計過程中,花費時間最多的是各個單元電路的連接及電路的細節(jié)設(shè)計上,如在多種方案的選擇中,我們仔細比較分析其原理以及可行的原因。這就要求我們對硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對之靈活應(yīng)用。完成這次設(shè)計后,我在書本理論知識的基礎(chǔ)上又有了更深層次的理解。同時在本次設(shè)計的過程中,我還學(xué)

29、會了高效率的查閱資料、運用工具書、利用網(wǎng)絡(luò)查找資料。我發(fā)現(xiàn),在我們所使用的書籍上有一些知識在實際應(yīng)用中其實并不是十分理想,各種參數(shù)都需要自己去調(diào)整。偶而還會遇到錯誤的資料現(xiàn)象,這就要求我們應(yīng)更加注重實踐環(huán)節(jié)。對該理論在實踐中應(yīng)用的深刻理解,通過把波形在計算機上實現(xiàn),知道和理解該理論在計算機中怎樣執(zhí)行的,對該理論在實踐中的應(yīng)用更深刻的理解,激發(fā)了我的學(xué)習(xí)積極性,在這次課程設(shè)計中,我就是按通過該課程設(shè)計,全面系統(tǒng)了解編譯原理課程序構(gòu)造的一般原理的基本實現(xiàn)方法。把死板的課本知識變得生動有趣,激發(fā)了我的學(xué)習(xí)積極性。232425源程序#include<reg51.h>#defineuchar

30、unsignedchar#defineuintunsignedintsbitlcdrw=P3A3;sbitlcdrs=P3A2;sbitlcde=P3A4;sbitd=P2A7;sbits1=P2A0;sbits2=P2A1;sbits3=P2A2;sbitcs=P3A5;sbitwr=P3A6;uchars1num,a,ys,j;uintfre;ucharcodetosin256=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0x

31、bf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0x

32、f4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x

33、57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x

34、03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,260x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80;/*voiddelay(uintz)(uchari

35、,j;for(i=z;i>0;i-)for(j=110;j>0;j-);voiddelay1(uinty)(uinti;for(i=y;i>0;i-);voidwrite_com(ucharcom)(.lcdrs=0;P1=com;delay(5);lcde=1;delay(5);lcde=0;voidwrite_data(uchardate)(.正弦波碼*/延時子程序/1602寫指令/1602數(shù)據(jù)lcdrs=1;P1=date;delay(5);lcde=1;delay(5);lcde=0;voidinit()/初始化(lcdrw=0;lcde=0;wr=0;27cs=0;

36、write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80+0x00);write_data(0x77);/寫wave:write_data(0x61);write_data(0x76);write_data(0x65);write_data(0x3a);write_com(0x80+0x40);寫f:write_data(0x66);write_data(0x3a);寫頻率voidwrite_f(uintdate)/ucharqian,bai,shi,ge;qian=date/1000;bai=

37、date/100%10;shi=date/10%10;ge=date%10;write_com(0x80+0x42);write_data(0x30+qian);write_data(0x30+bai);write_data(0x30+shi);write_data(0x30+ge);write_data(0x48);write_data(0x5a);voidxsf()/顯示頻率if(s1num=1)fre=(1000/(9+3*ys);write_f(fre);if(s1num=2)28(fre=(100000/(3*ys);write_f(fre);).if(s1num=3)(fre=(1000/(15+3*ys);write_f(fre);).)voidkeyscanf()(d=0;if(s1=0)(delay(5);if(s1=0)(while(!s1);s1num+;if(s1num=1)(ys

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論