單片機控制AD9850的信號發(fā)生器C51程序可直接用_第1頁
單片機控制AD9850的信號發(fā)生器C51程序可直接用_第2頁
單片機控制AD9850的信號發(fā)生器C51程序可直接用_第3頁
單片機控制AD9850的信號發(fā)生器C51程序可直接用_第4頁
單片機控制AD9850的信號發(fā)生器C51程序可直接用_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機控制AD9850的數(shù)字信號發(fā)生器C51程序單片機控制AD9850的數(shù)字信號發(fā)生器C51程序/-函數(shù)聲明,變量定義-#include #include #include /-定義管腳- #definedata_OUTP1 sbitFQ_UD=P30;/AD9850信號更新申請 sbitW_CLK=P31;/寫控制字時鐘 unsignedcharCON_word5; /Worddata7data6data5data4data3data2data1data0 /W0PhasebPhaseb3Phaseb2Phaseb1Phaseb0PowerDownControlControl /W1Freq

2、-b31Freq-b30Freq-b29Freq-b28Freq-b27Freq-b26Freq-b25Freq-b24 /W2Freq-b23Freq-b22Freq-b21Freq-b20Freq-b19Freq-b18Freq-b17Freq-b16 /W3Freq-b15Freq-b14Freq-b13Freq-b12Freq-b11Freq-b10Freq-b9Freq-b8 /W4Freq-b7Freq-b6Freq-b5Freq-b4Freq-b3Freq-b2 /- /函數(shù)名稱:delay /入口參數(shù):N /函數(shù)功能:延時子程序,實現(xiàn)(16*N+24)us的延時 /系統(tǒng)采用11

3、.0592MHz的時鐘時,延時滿足要求,其它情況需要改動 /- voiddelay(unsignedintN) inti; for(i=0;iN;i+); /- /函數(shù)名稱:WRITE_AD9850 /函數(shù)功能:將控制字寫入AD9850 /- voidWRITE_AD9850(void) unsignedchari; FQ_UD=0; W_CLK=0; delay(0); CON_word0=CON_word0&0xFC;/置工作方式選擇位為00 for(i=0;i5;i+) data_OUT=CON_wordi;/送控制字 W_CLK=0; delay(0); W_CLK=1;/上升延 de

4、lay(0); FQ_UD=1;/上升延要求AD9850改變輸出 /- /函數(shù)名稱:main /用戶主函數(shù) /函數(shù)功能:主函數(shù) /- voidmain() FQ_UD=0; WRITE_AD9850(); 下面是總結的一些設計中應注意的問題,和單片機硬件設計原則,希望大家能看完(1) 在元器件的布局方面,應該把相互有關的元件盡量放得靠近一些,例如,時鐘發(fā)生器、晶振、CPU的時鐘輸入端都易產生噪聲,在放置的時候應把它們靠近些。對于那些易產生噪聲的器件、小電流電路、大電流電路開關電路等,應盡量使其遠離單片機的邏輯控制電路和存儲電路(ROM、RAM),如果可能的話,可以將這些電路另外制成電路板,這樣

5、有利于抗干擾,提高電路工作的可靠性。(2) 盡量在關鍵元件,如ROM、RAM等芯片旁邊安裝去耦電容。實際上,印制電路板走線、引腳連線和接線等都可能含有較大的電感效應。大的電感可能會在Vcc走線上引起嚴重的開關噪聲尖峰。防止Vcc走線上開關噪聲尖峰的唯一方法,是在VCC與電源地之間安放一個0.1uF的電子去耦電容。如果電路板上使用的是表面貼裝元件,可以用片狀電容直接緊靠著元件,在Vcc引腳上固定。最好是使用瓷片電容,這是因為這種電容具有較低的靜電損耗(ESL)和高頻阻抗,另外這種電容溫度和時間上的介質穩(wěn)定性也很不錯。盡量不要使用鉭電容,因為在高頻下它的阻抗較高。在安放去耦電容時需要注意以下幾點:

6、在印制電路板的電源輸入端跨接100uF左右的電解電容,如果體積允許的話,電容量大一些則更好。原則上每個集成電路芯片的旁邊都需要放置一個0.01uF的瓷片電容,如果電路板的空隙太小而放置不下時,可以每10個芯片左右放置一個110的鉭電容。 對于抗干擾能力弱、關斷時電流變化大的元件和RAM、ROM等存儲元件,應該在電源線(Vcc)和地線之間接入去耦電容。電容的引線不要太長,特別是高頻旁路電容不能帶引線。(3) 在單片機控制系統(tǒng)中,地線的種類有很多,有系統(tǒng)地、屏蔽地、邏輯地、模擬地等,地線是否布局合理,將決定電路板的抗干擾能力。在設計地線和接地點的時候,應該考慮以下問題:邏輯地和模擬地要分開布線,不

7、能合用,將它們各自的地線分別與相應的電源地線相連。在設計時,模擬地線應盡量加粗,而且盡量加大引出端的接地面積。一般來講,對于輸入輸出的模擬信號,與單片機電路之間最好通過光耦進行隔離。在設計邏輯電路的印制電路版時,其地線應構成閉環(huán)形式,提高電路的抗干擾能力。地線應盡量的粗。如果地線很細的話,則地線電阻將會較大,造成接地電位隨電流的變化而變化,致使信號電平不穩(wěn),導致電路的抗干擾能力下降。在布線空間允許的情況下,要保證主要地線的寬度至少在23mm以上,元件引腳上的接地線應該在1.5mm左右。要注意接地點的選擇。當電路板上信號頻率低于1MHz時,由于布線和元件之間的電磁感應影響很小,而接地電路形成的環(huán)

8、流對干擾的影響較大,所以要采用一點接地,使其不形成回路。當電路板上信號頻率高于10MHz時,由于布線的電感效應明顯,地線阻抗變得很大,此時接地電路形成的環(huán)流就不再是主要的問題了。所以應采用多點接地,盡量降低地線阻抗。電源線的布置除了要根據(jù)電流的大小盡量加粗走線寬度外,在布線時還應使電源線、地線的走線方向與數(shù)據(jù)線的走線方身一致在布線工作的最后,用地線將電路板的底層沒有走線的地方鋪滿,這些方法都有助于增強電路的抗干擾能力。數(shù)據(jù)線的寬度應盡可能地寬,以減小阻抗。數(shù)據(jù)線的寬度至少不小于0.3mm(12mil),如果采用0.460.5mm(18mil20mil)則更為理想。由于電路板的一個過孔會帶來大約

9、10pF的電容效應,這對于高頻電路,將會引入太多的干擾,所以在布線的時候,應盡可能地減少過孔的數(shù)量。再有,過多的過孔也會造成電路板的機械強度降低。一個單片機應用系統(tǒng)的硬件電路設計包含兩部分內容:一是系統(tǒng)擴展,即單片機內部的功能單元,如ROM、RAM、I/O、定時器/計數(shù)器、中斷系統(tǒng)等不能滿足應用系統(tǒng)的要求時,必須在片外進行擴展,選擇適當?shù)男酒?,設計相應的電路。二是系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設備,如鍵盤、顯示器、打印機、A/D、D/A轉換器等,要設計合適的接口電路。 系統(tǒng)的擴展和配置應遵循以下原則: 1、盡可能選擇典型電路,并符合單片機常規(guī)用法。為硬件系統(tǒng)的標準化、模塊化打下良好的基

10、礎。 2、系統(tǒng)擴展與外圍設備的配置水平應充分滿足應用系統(tǒng)的功能要求,并留有適當余地,以便進行二次開發(fā)。 3、硬件結構應結合應用軟件方案一并考慮。硬件結構與軟件方案會產生相互影響,考慮的原則是:軟件能實現(xiàn)的功能盡可能由軟件實殃,以簡化硬件結構。但必須注意,由軟件實現(xiàn)的硬件功能,一般響應時間比硬件實現(xiàn)長,且占用CPU時間。 4、系統(tǒng)中的相關器件要盡可能做到性能匹配。如選用CMOS芯片單片機構成低功耗系統(tǒng)時,系統(tǒng)中所有芯片都應盡可能選擇低功耗產品。 5、可靠性及抗干擾設計是硬件設計必不可少的一部分,它包括芯片、器件選擇、去耦濾波、印刷電路板布線、通道隔離等。 6、單片機外圍電路較多時,必須考慮其驅動

11、能力。驅動能力不足時,系統(tǒng)工作不可靠,可通過增設線驅動器增強驅動能力或減少芯片功耗來降低總線負載。 7、盡量朝“單片”方向設計硬件系統(tǒng)。系統(tǒng)器件越多,器件之間相互干擾也越強,功耗也增大,也不可避免地降低了系統(tǒng)的穩(wěn)定性。隨著單片機片內集成的功能越來越強,真正的片上系統(tǒng)SoC已經可以實現(xiàn),如ST公司新近推出的PSD32系列產品在一塊芯片上集成了80C32核、大容量FLASH存儲器、SRAM、A/D、I/O、兩個串口、看門狗、上電復位電路等等。 單片機系統(tǒng)硬件抗干擾常用方法實踐 影響單片機系統(tǒng)可靠安全運行的主要因素主要來自系統(tǒng)內部和外部的各種電氣干擾,并受系統(tǒng)結構設計、元器件選擇、安裝、制造工藝影響

12、。這些都構成單片機系統(tǒng)的干擾因素,常會導致單片機系統(tǒng)運行失常,輕則影響產品質量和產量,重則會導致事故,造成重大經濟損失。 形成干擾的基本要素有三個:(1)干擾源。指產生干擾的元件、設備或信號,用數(shù)學語言描述如下:du/dt, di/dt大的地方就是干擾源。如:雷電、繼電器、可控硅、電機、高頻時鐘等都可能成為干擾源。(2)傳播路徑。指干擾從干擾源傳播到敏感器件的通路或媒介。典型的干擾傳播路徑是通過導線的傳導和空間的輻射。(3)敏感器件。指容易被干擾的對象。如:A/D、D/A變換器,單片機,數(shù)字IC,弱信號放大器等。干擾的分類 1干擾的分類干擾的分類有好多種,通??梢园凑赵肼暜a生的原因、傳導方式、

13、波形特性等等進行不同的分類。按產生的原因分:可分為放電噪聲音、高頻振蕩噪聲、浪涌噪聲。按傳導方式分:可分為共模噪聲和串模噪聲。按波形分:可分為持續(xù)正弦波、脈沖電壓、脈沖序列等等。 2 干擾的耦合方式干擾源產生的干擾信號是通過一定的耦合通道才對測控系統(tǒng)產生作用的。因此,我有有必要看看干擾源和被干擾對象之間的傳遞方式。干擾的耦合方式,無非是通過導線、空間、公共線等等,細分下來,主要有以下幾種:(1)直接耦合:這是最直接的方式,也是系統(tǒng)中存在最普遍的一種方式。比如干擾信號通過電源線侵入系統(tǒng)。 (2)公共阻抗耦合:這也是常見的耦合方式,這種形式常常發(fā)生在兩個電路電流有共同通路的情況。為了防止這種耦合,

14、通常在電路設計上就要考慮。使干擾源和被干擾對象間沒有公共阻抗。(3)電容耦合:又稱電場耦合或靜電耦合。是由于分布電容的存在而產生的耦合。(4)電磁感應耦合:又稱磁場耦合。是由于分布電磁感應而產生的耦合。(5)漏電耦合:這種耦合是純電阻性的,在絕緣不好時就會發(fā)生。常用硬件抗干擾技術針對形成干擾的三要素,采取的抗干擾主要有以下手段。 1 抑制干擾源抑制干擾源就是盡可能的減小干擾源的du/dt,di/dt。這是抗干擾設計中最優(yōu)先考慮和最重要的原則,常常會起到事半功倍的效果。減小干擾源的du/dt主要是通過在干擾源兩端并聯(lián)電容來實現(xiàn)。減小干擾源的di/dt則是在干擾源回路串聯(lián)電感或電阻以及增加續(xù)流二極

15、管來實現(xiàn)。抑制干擾源的常用措施如下:(1)繼電器線圈增加續(xù)流二極管,消除斷開線圈時產生的反電動勢干擾。僅加續(xù)流二極管會使繼電器的斷開時間滯后,增加穩(wěn)壓二極管后繼電器在單位時間內可動作更多的次數(shù)。(2)在繼電器接點兩端并接火花抑制電路(一般是RC串聯(lián)電路,電阻一般選幾K 到幾十K,電容選0.01uF),減小電火花影響。(3)給電機加濾波電路,注意電容、電感引線要盡量短。(4)電路板上每個IC要并接一個0.01F0.1F高頻電容,以減小IC對電源的影響。注意高頻電容的布線,連線應靠近電源端并盡量粗短,否則,等于增大了電容的等效串聯(lián)電阻,會影響濾波效果。(5)布線時避免90度折線,減少高頻噪聲發(fā)射。

16、(6)可控硅兩端并接RC抑制電路,減小可控硅產生的噪聲(這個噪聲嚴重時可能會把可控硅擊穿的)。 2 切斷干擾傳播路徑按干擾的傳播路徑可分為傳導干擾和輻射干擾兩類。所謂傳導干擾是指通過導線傳播到敏感器件的干擾。高頻干擾噪聲和有用信號的頻帶不同,可以通過在導線上增加濾波器的方法切斷高頻干擾噪聲的傳播,有時也可加隔離光耦來解決。電源噪聲的危害最大,要特別注意處理。所謂輻射干擾是指通過空間輻射傳播到敏感器件的干擾。一般的解決方法是增加干擾源與敏感器件的距離,用地線把它們隔離和在敏感器件上加蔽罩。切斷干擾傳播路徑的常用措施如下:(1)充分考慮電源對單片機的影響。電源做得好,整個電路的抗干擾就解決了一大半

17、。許多單片機對電源噪聲很敏感,要給單片機電源加濾波電路或穩(wěn)壓器,以減小電源噪聲對單片機的干擾。比如,可以利用磁珠和電容組成形濾波電路,當然條件要求不高時也可用 100電阻代替磁珠。(2)如果單片機的I/O口用來控制電機等噪聲器件,在I/O口與噪聲源之間應加隔離(增加形濾波電路)。(3)注意晶振布線。晶振與單片機引腳盡量靠近,用地線把時鐘區(qū)隔離起來,晶振外殼接地并固定。(4)電路板合理分區(qū),如強、弱信號,數(shù)字、模擬信號。盡可能把干擾源(如電機、繼電器)與敏感元件(如單片機)遠離。(5)用地線把數(shù)字區(qū)與模擬區(qū)隔離。數(shù)字地與模擬地要分離,最后在一點接于電源地。A/D、D/A芯片布線也以此為原則。(6

18、)單片機和大功率器件的地線要單獨接地,以減小相互干擾。大功率器件盡可能放在電路板邊緣。(7)在單片機I/O口、電源線、電路板連接線等關鍵地方使用抗干擾元件如磁珠、磁環(huán)、電源濾波器、屏蔽罩,可顯著提高電路的抗干擾性能。 3 提高敏感器件的抗干擾性能提高敏感器件的抗干擾性能是指從敏感器件這邊考慮盡量減少對干擾噪聲的拾取,以及從不正常狀態(tài)盡快恢復的方法。提高敏感器件抗干擾性能的常用措施如下:(1)布線時盡量減少回路環(huán)的面積,以降低感應噪聲。(2)布線時,電源線和地線要盡量粗。除減小壓降外,更重要的是降低耦合噪聲。(3)對于單片機閑置的I/O口,不要懸空,要接地或接電源。其它IC的閑置端在不改變系統(tǒng)邏

19、輯的情況下接地或接電源。(4)對單片機使用電源監(jiān)控及看門狗電路,如:IMP809,IMP706,IMP813, X5043,X5045等,可大幅度提高整個電路的抗干擾性能。(5)在速度能滿足要求的前提下,盡量降低單片機的晶振和選用低速數(shù)字電路。(6)IC器件盡量直接焊在電路板上,少用IC座。 4 其它常用抗干擾措施交流端用電感電容濾波:去掉高頻低頻干擾脈沖。變壓器雙隔離措施:變壓器初級輸入端串接電容,初、次級線圈間屏蔽層與初級間電容中心接點接大地,次級外屏蔽層接印制板地,這是硬件抗干擾的關鍵手段。次級加低通濾波器:吸收變壓器產生的浪涌電壓。采用集成式直流穩(wěn)壓電源:因為有過流、過壓、過熱等保護。

20、I/O口采用光電、磁電、繼電器隔離,同時去掉公共地。通訊線用雙絞線:排除平行互感。防雷電用光纖隔離最為有效。A/D轉換用隔離放大器或采用現(xiàn)場轉換:減少誤差。外殼接大地:解決人身安全及防外界電磁場干擾。加復位電壓檢測電路。防止復位不充份,CPU就工作,尤其有EEPROM的器件,復位不充份會改變EEPROM的內容。印制板工藝抗干擾:電源線加粗,合理走線、接地,三總線分開以減少互感振蕩。CPU、RAM、ROM等主芯片,VCC和GND之間接電解電容及瓷片電容,去掉高、低頻干擾信號。獨立系統(tǒng)結構,減少接插件與連線,提高可靠性,減少故障率。集成塊與插座接觸可靠,用雙簧插座,最好集成塊直接焊在印制板上,防止

21、器件接觸不良故障。有條件采用四層以上印制板,中間兩層為電源及地。計算機與單片機串口通信源程序(歡迎光臨中國IEEE,希望本文能對您有所幫助)一個單片機與PC機通信的程序,pc機程序用c語言來編寫,單片機程序用匯編語言來編寫 1. PC機編程PC采用Toubr C 進行編寫。程序如下:#include#define port 0x3f8 /*利用串口1進行通信*/int ch15;main () int a; int i,j; int b6=88,15,38,26,20,0; char c; clrscr(); outportb(port+3,0x80); /*準備設置波特率*/ outport

22、b(port,0x0C); /*波特率設置為9 600 bps*/ outportb(port+1,0x00); outportb(port+3,0x03); /*8位數(shù)據(jù)位,奇偶檢驗,1位停止位*/ outportb(port+1,0x00); /*關中斷*/ inportb(port+5); /*讀一次線路狀態(tài)寄存器,使其復位*/ printf(ttsend data or receive data: (s or r?)nnn); c=getchar(); switch(c) case s: case S: while(!(inportb(port+5)&0x20); /*發(fā)送保持器滿則等

23、待*/ outportb(port,0x01); /*否則發(fā)送數(shù)據(jù)01通知單片機準備接收*/ for(i=0;i6;i+) /*共發(fā)送6個數(shù)據(jù)*/ a=bi; while(!(inportb(port+5)&0x20) delay(100); /*發(fā)送保持器滿,等待*/ outportb(port,a); /*發(fā)送a*/ printf(%dn,a); /*顯示a*/ while(!(inport(port+5)&1); /*接收單片機送回的數(shù)據(jù)*/ chi=inport(port); /*保存*/ delay(10); for(j=0;j8;j+) /*顯示接收的回送數(shù)據(jù)*/ printf(n

24、%dn,chj); getch(); break; caser: /*接收數(shù)據(jù)*/ caseR: while(!(inportb(port+5)&0x20); outportb(port,0x02); /*發(fā)送數(shù)據(jù)02通知單片機發(fā)送數(shù)據(jù)*/ for(j=0;j9;j+) /*共接收9個數(shù)據(jù)*/ while(!(inportb(port+5)&1); chj=inportb(port); for(j=0;j9;j+) printf(n %dn,chj); getch(); break; 2. 單片機與PC機通信之單片機程序LIST P=16F876#INCLUDE P16F876.INCCBLO

25、CK 0X24COUNT TEMPENDC ORG 0X0000 NOPSTART GOTO MAIN ORG 0X020MAIN MOVLW 0X30 ;將RAM單元初始化 MOVWF FSR BCF STATUS,RP0 MOVLW 0X22 MOVWF COUNTINTRAM MOVF COUNT,0 MOVWF INDF INCF COUNT,1 INCF FSR,1 BTFSS FSR,7 GOTO INTRAM BANKSEL TXSTA ;波特率設置為9 600 bps MOVLW 0X19 MOVWF SPBRG ;異步高速方式 MOVLW 0X04 MOVWF TXSTA B

26、CF STATUS,RP0 MOVLW 0X80 ;串行口使能 MOVWF RCSTA MOVLW 0X30 MOVWF FSR BSF RCSTA,CREN ;接收允許 BSF STATUS,RP0 BSF TXSTA,TXEN ;發(fā)送允許 BCF STATUS,RP0WAIT BTFSS PIR1,RCIF ;接收PC機命令 GOTO WAIT MOVF RCREG,0 MOVWF TEMP MOVWF INDF INCF FSR DECFSZ TEMP ;接收到的數(shù)據(jù)為1,則接收 GOTO TXW ;否則發(fā)送數(shù)據(jù) MOVLW 0X06 MOVWF TEMPWAIT1 BTFSS PIR1

27、,RCIF ;接收一個數(shù)據(jù) GOTO WAIT1 MOVF RCREG,0 MOVWF COUNT MOVWF TXREGLOOPTX BTFSS PIR1,TXIF ;將接收到的數(shù)據(jù)送回PC機 GOTO LOOPTX MOVF COUNT,0 MOVWF INDF INCF FSR DECFSZ TEMP GOTO WAIT1 GOTO OVER ;處理完畢TXW MOVLW 0X09 ;向PC機發(fā)送9個數(shù)據(jù) MOVWF TEMP MOVLW 0X30 MOVWF FSRTXW0 MOVF INDF,0 MOVWF TXREG INCF FSRTXW1 BTFSS PIR1,TXIF GOT

28、O TXW1 DECFSZ TEMP GOTO TXW0 OVER BCF RCSTA,CREN ;通信任務完成,關接受和發(fā)送允許 BSF STATUS,RP0 BCF TXSTA,TXEN BCF STATUS,RP0 CALL LED ;調用顯示子程序,將發(fā)送(或接收)的數(shù)據(jù)顯示出來 END ;程序完單片機液晶秒表計算器(已通過編譯)(歡迎光臨中國IEEE,希望本文能對您有所幫助)本文是本站從網路上整理而來 ,文章作者不清,如果你是本文作者可以與本站聯(lián)系!已通過測試,可以實現(xiàn)兩種功能的切換,其他功能自行對照代碼研究。4*4矩陣鍵盤,第一排前三列是實現(xiàn)小時分鐘秒的加.第二排前三列是實現(xiàn)小時分

29、鐘秒的減.當然還可以通過設置矩陣鍵盤的鍵值,來實現(xiàn)加減乘除四則運算,由數(shù)碼管顯示參與運算的數(shù)字以及最終的運算結果#include#include#include #include#include#define uchar unsigned char#define uint unsigned int#define wc 0x8fff#define wd 0xdfff#define rc 0xbfffvoid displayListChar(unsigned char X, unsigned char Y, uchar DData);uchar dispbuf=0,1,2,3,4,5,6,7,8,

30、9,:; uchar code table=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e,0x00; uchar second;uchar temp1; uchar minute; uchar hour; uint tcnt,g; uchar suanfa; bit flag2;bit flag1=1;/控制計算器還是液晶調整的狀態(tài)燈uint i=0,f,m,g,s,t;/ for里的計數(shù)值,用于循環(huán) / 用來標記按了什么,如+,-.*,或是/sbit P2_0=P20;/ 定

31、義P2.0口用來,當計算值超過15時,P2.0所對應的燈閃幾下sbit P2_1=P21;/ 定義P2.1口用來,當除數(shù)為0時,P2.1所對應的燈閃幾下sbit P2_2=P22;sbit P2_3=P23;uint num4=0; /用于記錄外面輸入的數(shù)字uint Tablenum;sbit P3_4=P34;sbit P3_5=P35;void jieguo(void);void Settime(uchar verify);uchar kbscan(void);/鍵盤掃描void Show_Time(void);/顯示時間void Settime(uchar verify);/verify

32、 在這里為調整的意思uint transfor( uchar key1);void delay400ms(void) ;void delay200ms(void);void delay5ms(void); void delay_1s(void);void dlms(void);void dlms1(void) uint g=20000; while(-g); /延時100mS鐘void clr(void) i=0; suanfa=0; Tablenum=0; for(f=0;f7=0) flag=0; P1=temp; P1=0xff; /just wait until 液晶不忙為止void

33、WriteCommand_Lcd(bit isCheck,char c) if (isCheck=1) waitLcd(); XBYTEwc=c; void writedata(char c) waitLcd(); XBYTEwd=c;void LcdInit() delay5ms(); delay5ms(); delay5ms(); WriteCommand_Lcd(0,0x38); /三次顯示模式設置,不檢測忙信號 delay5ms(); WriteCommand_Lcd(0,0x38); delay5ms(); WriteCommand_Lcd(0,0x38); delay5ms();

34、WriteCommand_Lcd(1,0x38); /顯示模式設置,開始要求每次檢測忙信號,8位2行5*7 WriteCommand_Lcd(1,0x08); /關閉顯示 WriteCommand_Lcd(1,0x01); /清顯示 WriteCommand_Lcd(1,0x06); / 文字不動,光標右移 WriteCommand_Lcd(1,0x0C); / 顯示開及光標設置 void displayListChar(unsigned char X, unsigned char Y, uchar DData) Y &= 0x1; X &= 0xF; if (X 1) i=1; if (ke

35、y=0x7e) suanfa=1; if (key=0x7d) suanfa=2;if (key=0x7b) suanfa=3;if (key=0x77) suanfa=4; if (key=0xb7) / 按等號(0xb7) 給P2賦值 jieguo(); / 按等號 給P2賦值 if (key=0xd7) /如果按清零,則清零clr(); /如果按清零,則清零 /*上面是計算器*/*/此括號為while 的括號 void delay5ms(void) unsigned int TempCya = 277;while(-TempCya); /延時400msvoid delay400ms(void) unsigned int TempCya = 22160;while(-TempCya); /延

溫馨提示

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

評論

0/150

提交評論