第11章 單片機(jī),信號(hào)發(fā)生器設(shè)計(jì)_第1頁
第11章 單片機(jī),信號(hào)發(fā)生器設(shè)計(jì)_第2頁
第11章 單片機(jī),信號(hào)發(fā)生器設(shè)計(jì)_第3頁
第11章 單片機(jī),信號(hào)發(fā)生器設(shè)計(jì)_第4頁
第11章 單片機(jī),信號(hào)發(fā)生器設(shè)計(jì)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于科學(xué)研究、生產(chǎn)實(shí)踐和教學(xué)實(shí)驗(yàn)等領(lǐng)域。特別是在通信系統(tǒng)的科研實(shí)驗(yàn)中,常常需要用到多種不同頻率和相位的信號(hào),因此多功能信號(hào)發(fā)生器應(yīng)用非常廣泛。本章采用單片機(jī)編程的方法設(shè)計(jì)信號(hào)發(fā)生器,可以產(chǎn)生方波、正弦波、三角波、和鋸齒波等信號(hào)。由于通過編程方法產(chǎn)生的是數(shù)字信號(hào),所以信號(hào)的穩(wěn)定性和精確度很高,電路簡潔,并且可以通過改變程序來實(shí)現(xiàn)信號(hào)的頻率變換。 信號(hào)發(fā)生器能產(chǎn)生方波、正弦波、三角波和鋸齒波四種周期性波形; 信號(hào)輸出頻率為100Hz或500Hz; 輸出波形幅度為15V, 輸出信號(hào)波形無明顯失真; 信號(hào)的頻率通過液晶顯示器顯示;采用單片機(jī)編程產(chǎn)生所需數(shù)字信號(hào),通過

2、數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào)來獲得所需要的波形。89C52單片機(jī)本身就是一個(gè)完整的微型計(jì)算機(jī),具有組成微型計(jì)算機(jī)的各部分部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)器/計(jì)數(shù)器以及串行通訊接口等,只要將89C52再配置鍵盤、顯示器、數(shù)模轉(zhuǎn)換、濾波放大等四部分,即可構(gòu)成所需的波形發(fā)生器,其信號(hào)發(fā)生器構(gòu)成原理框圖如圖11-1所示。圖11-1 信號(hào)發(fā)生器原理框圖89C52是整個(gè)波形發(fā)生器的核心部分,通過程序的編寫和執(zhí)行,產(chǎn)生各種波形信號(hào),并從鍵盤接收數(shù)據(jù),進(jìn)行各種信號(hào)的轉(zhuǎn)換和信號(hào)頻率、幅度的調(diào)節(jié)。當(dāng)數(shù)字信號(hào)經(jīng)過數(shù)模轉(zhuǎn)換電路,轉(zhuǎn)換后得到的模擬信號(hào)就是所需的輸出波形。

3、單片機(jī)STC89C52顯示電路鍵盤電路D/A電路復(fù)位電路放大電路波形輸出下面從硬件電路著手對信號(hào)發(fā)生器進(jìn)行設(shè)計(jì),主要包括主控模塊、信號(hào)數(shù)據(jù)處理模塊和顯示電路的設(shè)計(jì)。1RF-X1開發(fā)板(STC89C52)最小系統(tǒng)RF-X1開發(fā)板(STC89C52)的最小系統(tǒng)包括時(shí)鐘振蕩電路和復(fù)位電路。(1)時(shí)鐘振蕩電路時(shí)鐘振蕩電路為單片機(jī)提供各種微操作的時(shí)間基準(zhǔn),STC89S52片內(nèi)設(shè)有一個(gè)由反向放大器所構(gòu)成的震蕩電路,所以外部只要連接一個(gè)晶振和兩個(gè)電容即可。具體電路如圖11-2所示,電容C1、C2起穩(wěn)定震蕩頻率,快速起振的作用,電容值一般為533pF。本設(shè)計(jì)采用22pF的電容和12MHz的晶振。(2)復(fù)位電路

4、復(fù)位控制信號(hào)在STC89S52的第9管腳輸入,當(dāng)在此引腳輸入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。在本設(shè)計(jì)中,復(fù)位電路由按鍵復(fù)位和上電復(fù)位組成,STC89S52單片機(jī)為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個(gè)電容到VCC,在連接一個(gè)電阻到GND,由此形成一個(gè)RC充放電回路保證單片機(jī)在上電時(shí)RST腳上有足夠時(shí)間的高電平進(jìn)行復(fù)位,隨后回歸到低電平進(jìn)入正常工作狀態(tài)。當(dāng)單片機(jī)已運(yùn)行時(shí),也可以通過按下復(fù)位鍵使RST持續(xù)一段時(shí)間的高電平,實(shí)現(xiàn)復(fù)位操作。本設(shè)計(jì)采用10F電容和10K的電阻。2 鍵盤控制電路RF-X1開發(fā)板提供了一個(gè)3*4的矩陣鍵盤和6個(gè)獨(dú)立按鍵。但是6個(gè)獨(dú)立按鍵與P3口進(jìn)行

5、連接,與TLC5615(數(shù)模轉(zhuǎn)換)的連接相沖突,所以這里采用矩陣鍵盤。矩陣鍵盤的行信號(hào)分別接P1.0P1.3,列信號(hào)分別接P1.4P1.6,識(shí)別按鍵的方法是:先讓P1.0輸出低電平,檢測P1.4P1.6,如果在某個(gè)時(shí)刻為低電平,則可確定第一行的哪個(gè)按鍵被按下,接著讓P1.1輸出低電平(其他都為高電平),檢測列的電平,為低則被按下,依次就可以確定按鍵號(hào)了。鍵盤控制電路如圖11-3所示。本設(shè)計(jì)采用了矩陣鍵盤中的6個(gè)按鍵,在系統(tǒng)工作時(shí),STC89C52不斷的掃描鍵盤,看是否有鍵按下,如有,則根據(jù)相應(yīng)按鍵作出反應(yīng)。其中按鍵“S7”代表正弦波輸出,按鍵“S11”代表鋸齒波輸出,按鍵“S15”代表三角波輸

6、出, 按鍵“S8”代表方波輸出,按鍵“S12”為頻率選擇鍵,可選擇輸出100Hz和500Hz的信號(hào),按鍵“S16”為波形幅度調(diào)節(jié)鍵,幅度范圍為15V。S70S111S152S83S124S165S96S137S178S109S1410S1811P10P11P12P13P14P15P161數(shù)模轉(zhuǎn)換電路(1)TLC5615數(shù)模轉(zhuǎn)換電路由于單片機(jī)產(chǎn)生的是數(shù)字信號(hào),要想得到所需的波形,就要把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。為了得到較高的設(shè)計(jì)精度,RF-X1開發(fā)板采用了一個(gè)10位的DAC芯片TLC5615。TLC5615具有接口連接簡單、轉(zhuǎn)換速率快、微功耗等特點(diǎn),并且輸出的最大電壓可以達(dá)到基準(zhǔn)輸入電壓的2倍。8

7、腳直插式TLC5615各引腳功能如下:DIN:串行二進(jìn)制數(shù)輸入端; AGND:模擬地;SCLK:串行時(shí)鐘輸入端; REFIN:基準(zhǔn)電壓輸入端;CS非:芯片選擇,低電平有效; OUT:DAC模擬電壓輸出端;DOUT:用于級(jí)聯(lián)的串行數(shù)據(jù)輸出; VCC:工作電壓輸入端,+5V;將STC89C52的P3口與TLC5615相連,構(gòu)成DAC電路如圖11-4所示。用P3.5觸發(fā)片選CS非使DAC進(jìn)如工作狀態(tài),P3.6模擬串行時(shí)鐘與SCLK連接,待轉(zhuǎn)換的二進(jìn)制數(shù)從P3.7輸出到TLC5615的數(shù)據(jù)輸入端DIN,進(jìn)行數(shù)模轉(zhuǎn)換。(2)TLC5615的工作原理為了使TLC5615能夠正常穩(wěn)定的工作,編程時(shí)必須掌握它

8、的工作時(shí)序和工作方式。1) TLC5615的工作時(shí)序TLC5615的工作時(shí)序如圖11-5所示。從圖中可以看出,只有當(dāng)片選CS非為低電平時(shí),串行輸入數(shù)據(jù)才能被移入16位移位寄存器。當(dāng)CS非為低電平時(shí),在每一個(gè)SCLK時(shí)鐘的上升沿將DIN的一位數(shù)據(jù)移入16位移位寄存器。注意,二進(jìn)制最高有效位被導(dǎo)前移入。然后,在CS非的上升沿將16位移位寄存器的10位有效數(shù)據(jù)鎖存于10位DAC寄存器,供DAC電路進(jìn)行轉(zhuǎn)換;當(dāng)片選CS非為高電平時(shí),串行輸入數(shù)據(jù)不能被移入16位移位寄存器。此外,CS非的上升和下降都必須發(fā)生在SCLK的低電平期間。圖11-5 TLC5615時(shí)序圖2) TLC5615的工作方式TLC561

9、5的內(nèi)部功能框圖如圖11-6所示,主要由16位移位寄存器、10位DAC寄存器、10位DAC電路、電壓跟隨器、2電路和控制電路等部分組成,它有兩種工作方式。第一種是串行工作方式,從圖中可以看出,16位移位寄存器分為高4位虛擬位、低2位填充位和10位有效位。在TLC5615工作時(shí),只需要向16位移位寄存器按先后順序輸入10位有效位和2位填充位即可,2位填充位數(shù)據(jù)任意,即12位數(shù)據(jù)序列。第二種是級(jí)聯(lián)方式,即16位數(shù)據(jù)序列,可以將本片TLC5615的DOUT接到下一片TLC5615的DIN,需要向16位移位寄存器按先后順序輸入高4位虛擬位、10位有效位和低2位填充位,由于增加了高4位虛擬位,所以需要1

10、6個(gè)時(shí)鐘脈沖。但是,無論TLC5615工作在那一種方式,輸出電壓:其中, VREFIN是參考電壓,N為輸入的二進(jìn)制數(shù)。圖11-6 TLC5615的內(nèi)部功能框圖2濾波放大電路設(shè)計(jì)經(jīng)TLC5615數(shù)模轉(zhuǎn)換后,可得到比較準(zhǔn)確的15V的模擬電壓輸出,可以達(dá)到設(shè)計(jì)要求。若想得到更加寬泛的信號(hào)電壓輸出范圍,可以通過運(yùn)算放大器進(jìn)行放大。常用的運(yùn)放種類很多,如OP07、LM324、LM258等。本設(shè)計(jì)采用了具有低失調(diào)、高開環(huán)增益特性的OP07,其各引腳功能如下:Offset Null 1:偏置平衡(調(diào)零端); Offset Null 2偏置平衡(調(diào)零端);Inverting Input:反向輸入端; VCC+

11、:電源;Non-inverting Input:同向輸入端; Output:信號(hào)輸出端;VCC -:接地端; N.C.:空腳;由數(shù)模轉(zhuǎn)換電路輸出的模擬電壓信號(hào)通過R56進(jìn)入OP07反向端,構(gòu)成了反向放大電路如圖11-7所示。圖11-7 OP07運(yùn)算放大電路顯示電路用來顯示波形信號(hào)的頻率,使波形信號(hào)更加直觀。在此選用可顯示兩行字符的LCD1602就可以滿足設(shè)計(jì)要求,RF-X1開發(fā)板為LCD1602提供了接口(見開發(fā)板插口J24),與單片機(jī)P1口相連接,但與矩陣鍵盤接口相沖突,所以在此將LCD1602的數(shù)據(jù)口改接到單片機(jī)的P0口。其電路連接圖如圖11-8所示,LCD1602引腳說明如表11-1所示

12、。此外,由于52單片機(jī)P0口內(nèi)部是開漏的,不管驅(qū)動(dòng)能力多大,都相當(dāng)于它是沒有電源的,而LCD顯示屏是需要電源驅(qū)動(dòng)才能點(diǎn)亮的。因此,在這里需要外接上拉電阻來提供驅(qū)動(dòng)電源。表11-1 LCD1602引腳說明編號(hào)編號(hào)符號(hào)符號(hào)引腳說明引腳說明編號(hào)編號(hào)符號(hào)符號(hào)引腳說明引腳說明0VSS電源地8D2Data I/O1VDD電源正極9D3Data I/O2VL液晶顯示偏壓信號(hào)10D4Data I/O3RS數(shù)據(jù)/命令選擇端(H/L)11D5Data I/O4R/W讀寫選擇端(H/L)12D6Data I/O5E使能信號(hào)13D7Data I/O6D0Data I/O14BLA背光源正極背光源正極7D1Data I

13、/O15BLK背光源負(fù)極背光源負(fù)極圖11-8 LCD1602液晶顯示電路1主程序流程圖本設(shè)計(jì)中子程序的調(diào)用是通過按鍵的選擇來實(shí)現(xiàn)的,在取得相應(yīng)按鍵的鍵值后,根據(jù)鍵值來確定各種波形的輸出,以及信號(hào)幅度和頻率調(diào)節(jié),并將相應(yīng)的數(shù)據(jù)送入D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),等到所需信號(hào)波形。主程序流程圖如圖11-9所示,在程序開始運(yùn)行之后,首先是對TLC5615進(jìn)行初始化,之后判斷是否有按鍵按下,根據(jù)鍵值輸出相應(yīng)波形,然后判斷是否進(jìn)行幅度和頻率調(diào)節(jié),確定波形頻率后,顯示其頻率。(1)正弦波正弦波是幅度和相位隨時(shí)間呈周期性變化的一種波形。利用正弦波數(shù)據(jù)生成器可以方便的產(chǎn)生離散的正弦波形采樣點(diǎn),描繪出正弦波信號(hào)。如

14、圖11-10所示,輸出點(diǎn)數(shù)為256,輸出精度為10,即用256個(gè)離散的采樣點(diǎn)來描繪正弦波形。在編程時(shí),只要循環(huán)輸出這256個(gè)離散值就可以得到所需正弦波形,正弦波的頻率可以通過延時(shí)時(shí)間來調(diào)節(jié)。圖11-10 正弦波數(shù)據(jù)生成器 uint code sin1256= 0 x1FF,0 x20C,0 x218,0 x225,0 x231,0 x23E,0 x24A,0 x256,0 x263,0 x26F,0 x27B,0 x287,0 x293,0 x29F,0 x2AB,0 x2B7,0 x2C3,0 x2CE,0 x2DA,0 x2E5,0 x2F0,0 x2FB,0 x306,0 x311,0

15、x31B,0 x326,0 x330,0 x33A,0 x343,0 x34D,0 x357,0 x360,0 x369,0 x371,0 x37A,0 x382,0 x38A,0 x392,0 x39A,0 x3A1,0 x3A8,0 x3AF,0 x3B6,0 x3BC,0 x3C2,0 x3C8,0 x3CD,0 x3D3,0 x3D8,0 x3DC,0 x3E1,0 x3E5,0 x3E8,0 x3EC,0 x3EF,0 x3F2,0 x3F5,0 x3F7,0 x3F9,0 x3FB,0 x3FC,0 x3FD,0 x3FE,0 x3FE,0 x3FE,0 x3FE,0 x3FE,0

16、 x3FD,0 x3FC,0 x3FB,0 x3F9,0 x3F7,0 x3F5,0 x3F2,0 x3EF,0 x3EC,0 x3E8,0 x3E5,0 x3E1,0 x3DC,0 x3D8,0 x3D3,0 x3CD,0 x3C8,0 x3C2,0 x3BC,0 x3B6,0 x3AF,0 x3A8,0 x3A1,0 x39A,0 x392,0 x38A,0 x382,0 x37A,0 x371,0 x369,0 x360,0 x357,0 x34D,0 x343,0 x33A,0 x330,0 x326,0 x31B,0 x311,0 x306,0 x2FB,0 x2F0,0 x2E5,

17、0 x2DA,0 x2CE,0 x2C3,0 x2B7,0 x2AB,0 x29F,0 x293,0 x287,0 x27B,0 x26F,0 x263,0 x256,0 x24A,0 x23E,0 x231,0 x225,0 x218,0 x20C,0 x1FF,0 x1F2,0 x1E6,0 x1D9,0 x1CD,0 x1C0,0 x1B4,0 x1A8,0 x19B,0 x18F,0 x183,0 x177,0 x16B,0 x15F,0 x153,0 x147,0 x13B,0 x130,0 x124,0 x119,0 x10E,0 x103,0 x0F8,0 x0ED,0 x0E3

18、,0 x0D8,0 x0CE,0 x0C4,0 x0BB,0 x0B1,0 x0A7,0 x09E,0 x095,0 x08D,0 x084,0 x07C,0 x074,0 x06C,0 x064,0 x05D,0 x056,0 x04F,0 x048,0 x042,0 x03C,0 x036,0 x031,0 x02B,0 x026,0 x022,0 x01D,0 x019,0 x016,0 x012,0 x00F,0 x00C,0 x009,0 x007,0 x005,0 x003,0 x002,0 x001,0 x000,0 x000,0 x000,0 x000,0 x000,0 x00

19、1,0 x002,0 x003,0 x005,0 x007,0 x009,0 x00C,0 x00F,0 x012,0 x016,0 x019,0 x01D,0 x022,0 x026,0 x02B,0 x031,0 x036,0 x03C,0 x042,0 x048,0 x04F,0 x056,0 x05D,0 x064,0 x06C,0 x074,0 x07C,0 x084,0 x08D,0 x095,0 x09E,0 x0A8,0 x0B1,0 x0BB,0 x0C4,0 x0CE,0 x0D8,0 x0E3,0 x0ED,0 x0F8,0 x103,0 x10E,0 x119,0 x1

20、24,0 x130,0 x13B,0 x147,0 x153,0 x15F,0 x16B,0 x177,0 x183,0 x18F,0 x19B,0 x1A8,0 x1B4,0 x1C0,0 x1CD,0 x1D9,0 x1E6,0 x1F2;/*正弦波子程序*/void sin() uint i; for(i=0;i256;i+) output(sin1i); delay2(250);/*/(2)方波方波是實(shí)驗(yàn)中最常見的一種信號(hào)波形,它只有“高”和“低”兩個(gè)值,所以在編程時(shí),只要循環(huán)輸出高低電平即可。/*方波子程序*/void fangbo() uchar i; for(i=0;i0;i-)

21、 output(0 x0000);/ TLC5615轉(zhuǎn)換后為0V(3)鋸齒波鋸齒波是常見的波形之一,其波形與時(shí)間成正比上升,到達(dá)一定值,快速下降到零,再重復(fù)上升,下降,形成鋸齒形。/*鋸齒波子程序*/void saw() uint i; for(i=0;i0 x8000;i+1) _nop_(); _nop_(); output(i); /鋸齒波i的值從00 x8000變化 delay2(250);/*/(4)三角波三角波波形首先與時(shí)間成正比上升,到大一定值,然后在與時(shí)間成正比下降,如此循環(huán)。其程序與鋸齒波相似。/*三角波子程序*/void trigle() uint i; for(i=0;i

22、0;i-1) _nop_(); _nop_(); output(i);/i的值從0 x8000到0 delay2(250);/*/3TLC5615輸出子程序TLC5615是一個(gè)串行的10位數(shù)模轉(zhuǎn)換器,首先上電初始化,將片選CS非置高電平,串行時(shí)鐘信號(hào)置低電平。當(dāng)片選CS非為低電平時(shí),芯片進(jìn)入正常工作狀態(tài),在每一個(gè)SCLK時(shí)鐘的上升沿將DIN的一位數(shù)據(jù)移入16位移位寄存器,供DAC進(jìn)行轉(zhuǎn)換輸出。/*TLC5615輸出子程序*/void output(uint a)unsigned char i;cs=1; /初始化clock=0;cs=0; /低電平有效,低電平芯片處于工作狀態(tài)di=1;for(

23、i=12;i0;) /送數(shù)i-;if(a&0 x8000) /取12位數(shù)據(jù)的最高位,如果為1輸出高電平,否則輸出低電平di=1;elsedi=0;clock=1; /時(shí)鐘為高電平_nop_();_nop_();clock=0; /時(shí)鐘為低電平_nop_();_nop_();a=a1; /左移一位,準(zhǔn)備下一個(gè)數(shù)據(jù) /*/4按鍵掃描子程序本設(shè)計(jì)采用了RF-X1開發(fā)板上提供的矩陣鍵盤中的6個(gè)。先將第一行P1.0置低電平,檢測列信號(hào)P1.4P1.6,當(dāng)某一列為低電平時(shí),則第一行該列按鍵被按下;然后令P1.1輸出低電平(其他都為高電平),檢測第二行按鍵的狀態(tài),依次確定前兩行6個(gè)按鍵的鍵值。/*按

24、鍵掃描子程*/uchar keyscan() P1=0 x7e;/給P1口最低位(即P1.0)置0 delay(1);temp=P1;/讀P1口temp=temp&0 x70;/屏蔽第四位,保留高三位while(temp!=0 x70)/判斷是否有鍵按下delay(5);/延時(shí)去抖temp=P1;/讀P1口 temp=temp&0 x70;/屏蔽第四位,保留高三位 while(temp!=0 x70)/判斷是否有鍵按下temp=P1;switch(temp) case 0 x6D:num=4;/按鍵S8按下,鍵值為3break;case 0 x5D:num=5;/按鍵S12按下

25、,鍵值為4break;case 0 x3D:num=6;/按鍵S16按下,鍵值為5break; while(temp!=0 x70)/等待按鍵釋放temp=P1; temp=temp&0 x70;return num;/*/5頻率選擇子程序當(dāng)頻率選擇按鍵S12被按下時(shí),鍵值num=4。當(dāng)flag1=0時(shí),輸出頻率為100Hz的信號(hào)波形;flag1=1時(shí),輸出頻率為500Hz的信號(hào)波形。以正弦波形為例,頻率選擇子程序如下。/*頻率選擇子程序*/void tiaopin() uchar flag1,i; if(num=4) if(flag1=1) flag1+; else flag1=0;

26、 switch(flag1) case 0:for(i=0;i256;i+0 x8000/256) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();

27、 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); output(sin1i);/輸出頻率為100HZ的正弦波 delay(250);break; case 1: for(i=0;i256;i+0 x8000/256) _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); output(sin1i);/輸出頻率為500HZ的正弦波 delay(250);bre

28、ak; /*/6幅度選擇子程序當(dāng)幅度選擇按鍵S16被按下時(shí),鍵值num=5,每按一次flag加1,對應(yīng)輸出波形幅值加1V,flag4,按滿4次,flag清零。信號(hào)輸出幅值范圍為15V。以正弦波形為例,幅度選擇子程序如下。/*幅度選擇子程序*/void tiaofu(uchar aa) uchar flag,i;/按鍵次數(shù)標(biāo)志位 aa=num; if(aa=5) /S16鍵按下 if(flag=4) flag+; else flag=0;/S16滿四次清0 switch(flag) case 0: for(i=0;i256;i+) output(sini/5);/輸出1V正弦波 delay(25

29、0);break; case 1: for(i=0;i256;i+) output(sini*2/5);/輸出2V正弦波 delay(250);break; case 2: for(i=0;i256;i+) output(sini*3/5);/輸出3V正弦波 delay(250);break; case 3: for(i=0;i256;i+) output(sini*4/5);/輸出4V正弦波 delay(250);break; case 4: for(i=0;i256;i+) output(sini);/輸出5V正弦波 delay(250);break; /*/7顯示程序在液晶模塊上顯示字符,需要3個(gè)最基本的控制操作:寫指令代碼、寫顯示數(shù)據(jù)和讀顯示數(shù)據(jù)。液晶初始化和顯示程序如下:/*顯示程序*/1602液晶初始化:void init()lcden=0;write_com(0 x38);/* 假設(shè)為5*7 的點(diǎn)陣*/write_com(0 x0c);/* 開顯示,0 x0e顯示光標(biāo),光標(biāo)不閃爍,當(dāng)為0 x0f時(shí)光標(biāo)就閃爍,0 x

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論