系列單片機(jī)的增強(qiáng)型——AT89C51系列單片機(jī)電子設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)
系列單片機(jī)的增強(qiáng)型——AT89C51系列單片機(jī)電子設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)
系列單片機(jī)的增強(qiáng)型——AT89C51系列單片機(jī)電子設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)
系列單片機(jī)的增強(qiáng)型——AT89C51系列單片機(jī)電子設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁(yè)
系列單片機(jī)的增強(qiáng)型——AT89C51系列單片機(jī)電子設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)報(bào)告姓名:宋大威 電氣1302班學(xué)號(hào)20134223067 簡(jiǎn)介本次項(xiàng)目是以51系列單片機(jī)的增強(qiáng)型AT89C51系列單片機(jī),設(shè)計(jì)與制作單片機(jī)系統(tǒng),按需求設(shè)計(jì)硬件原理圖,編寫(xiě)、調(diào)試軟件程序 (Keil uVision4) ,硬件電路和軟件程序結(jié)合,進(jìn)行硬件調(diào)試仿真,燒寫(xiě)調(diào)試后的最終程序,系統(tǒng)上電運(yùn)行。主要包括流水燈、數(shù)碼管、矩陣鍵盤(pán)、蜂鳴器、數(shù)字時(shí)鐘、液晶 LCD1602、片外RAM 擴(kuò)展、A/D轉(zhuǎn)換和D/A轉(zhuǎn)換。所用芯片為AT89C51,CY62256,ADC0809,DAC0832鎖存器74LS373。目錄第一章 流水燈Ø 1.1 實(shí)驗(yàn)?zāi)康?#183;··&

2、#183;··········································1Ø 1.2電路圖·····

3、;············································1Ø 1.3電路原理···&#

4、183;···········································2Ø 1.4程序設(shè)計(jì)思路···

5、83;·······································2Ø 1.5實(shí)驗(yàn)心得及反思·······

6、83;·································3第二章 數(shù)碼管Ø 2.1實(shí)驗(yàn)?zāi)康?#183;············

7、;··································4Ø 2,2電路圖·············

8、83;···································4Ø 2.3電路原理············

9、···································5Ø 2.4程序設(shè)計(jì)思路············&

10、#183;······························5Ø 2.5實(shí)驗(yàn)心得及反思················&

11、#183;························5第三章 矩陣鍵盤(pán)及蜂鳴器Ø 3.1實(shí)驗(yàn)?zāi)康?#183;···················

12、3;··························6Ø 3.2電路圖·····················&#

13、183;···························6Ø 3.3電路原理····················

14、;···························7Ø 3.4程序設(shè)計(jì)思路····················

15、·······················7Ø 3.5實(shí)驗(yàn)心得及反思························

16、·················7第四章 液晶顯示器LCD1602Ø 4.1實(shí)驗(yàn)?zāi)康?#183;···························

17、;···················8Ø 4.2電路圖····························

18、83;····················8Ø 4.3電路原理···························

19、····················9Ø 4.4程序設(shè)計(jì)思路···························&

20、#183;···············9Ø 4.5實(shí)驗(yàn)心得及反思·······························&

21、#183;········10第五章 片外RAM擴(kuò)展Ø 5.1實(shí)驗(yàn)?zāi)康?#183;···································

22、3;·········11Ø 5.2電路圖······································&

23、#183;·········12Ø 5.3電路原理·····································

24、83;········12Ø 5.4程序設(shè)計(jì)思路······································

25、83;···13Ø 5.5實(shí)驗(yàn)心得及反思······································14第六章A/D轉(zhuǎn)換 Ø 6.1實(shí)驗(yàn)?zāi)康?#183;&

26、#183;··········································14Ø 6.2電路圖····

27、3;···········································15Ø 6.3電路原理····

28、·········································16Ø 6.4程序設(shè)計(jì)思路······

29、···································16Ø 6.5實(shí)驗(yàn)心得及反思············

30、;···························17第六章D/A轉(zhuǎn)換Ø 7.1實(shí)驗(yàn)?zāi)康?#183;··················

31、;··························17Ø 7.2電路圖·····················&#

32、183;··························18Ø 7.3電路原理····················

33、3;························19Ø 7.4程序設(shè)計(jì)思路······················

34、3;···················19Ø 7.5實(shí)驗(yàn)心得及反思···························

35、83;···········19第八章 附錄程序Ø 8.1流水燈··································

36、3;·············20Ø 8.2數(shù)碼管··································&

37、#183;············21Ø 8.3矩陣鍵盤(pán)··································

38、83;···········22Ø 8.4時(shí)鐘····································&

39、#183;·············23Ø 8.5液晶LCD1602································

40、3;········24 Ø 8.6片外RAM······································

41、3;·····25Ø 8.7A/D轉(zhuǎn)換··········································

42、;····26Ø 8.8D/A轉(zhuǎn)換···········································

43、···27第九章 參考文獻(xiàn)第一章 流水燈1實(shí)驗(yàn)?zāi)康膗 了解單片機(jī)的系統(tǒng)設(shè)計(jì)方法u 掌握Keil uVision4軟件的使用方法u 掌握焊接技術(shù)u 在開(kāi)發(fā)板上實(shí)現(xiàn)八個(gè)發(fā)光LED被點(diǎn)亮2電路原理 3 實(shí)驗(yàn)原理發(fā)光LED燈需要正向電壓才能導(dǎo)通,單片機(jī)給一個(gè)低電平后,所以連接的LED負(fù)極,就會(huì)導(dǎo)通發(fā)亮,點(diǎn)亮8個(gè)發(fā)光二級(jí)管時(shí),先點(diǎn)亮一個(gè),延時(shí),再點(diǎn)亮下一個(gè),再延時(shí),循環(huán)往復(fù),形成流水燈。不同規(guī)格、不同顏色的LED參數(shù)是不一樣的。一般普通發(fā)光二極管,以紅色為例:LED工作電壓:1.8V2.4VLED工作電流:2mA20mA一般取電壓典型值:U=2VR2 5V -2V/0.02

44、A5V-2V/0.02A =150,1.5K4程序設(shè)計(jì)思路點(diǎn)亮第三盞燈,并且延時(shí)點(diǎn)亮第二盞燈,并且延時(shí)點(diǎn)亮第四盞燈,并且延時(shí)點(diǎn)亮第一盞燈,并且延時(shí)點(diǎn)亮第八盞燈,并且延時(shí)點(diǎn)亮第六盞燈,并且延時(shí)點(diǎn)亮第五盞燈,并且延時(shí)點(diǎn)亮第七盞燈,并且延時(shí)開(kāi)始5實(shí)驗(yàn)心得及反思心得;這是我做的第一個(gè)實(shí)驗(yàn)但是我覺(jué)得稱(chēng)呼他為我的作品,從開(kāi)始時(shí)的不知如何下手到后面駕輕就熟,收獲巨大,做完本次實(shí)驗(yàn),讓我們對(duì)單片機(jī)有了新的認(rèn)識(shí),也更加的體會(huì)到了將理論與實(shí)際結(jié)合的重要性。理論聯(lián)系實(shí)際,才能更好的掌握知識(shí)運(yùn)用知識(shí)。反思;在焊接電路板之前,我們要先理解本次實(shí)驗(yàn)的原理以及電路圖的設(shè)計(jì)和布局,然后再開(kāi)始焊接編程,在做完整個(gè)試驗(yàn)后,才明白

45、需要在做實(shí)驗(yàn)之前要有一個(gè)大局觀(guān)。這樣才能用最少的空間做出最多的東西。也能節(jié)省材料,出現(xiàn)問(wèn)題時(shí),也有便于我們檢查錯(cuò)誤。第二章 數(shù)碼管 1. 實(shí)驗(yàn)?zāi)康膗 了解供陽(yáng)極數(shù)碼管的使用方法u 掌握數(shù)碼管動(dòng)態(tài)顯示電路的連接方法u 練習(xí)動(dòng)態(tài)顯示程序的結(jié)構(gòu)及調(diào)試方2. 電路原理圖3. 實(shí)驗(yàn)原理單片機(jī)通過(guò)驅(qū)動(dòng)電路給數(shù)碼管中相應(yīng)各段的發(fā)光二極管加正向電壓,該段發(fā)光二極管就會(huì)被點(diǎn)亮。不同段的發(fā)光二極管加正向電壓則亮,不加正向電壓則滅,這樣就可以通過(guò)各段的亮滅組合,來(lái)顯示不同的數(shù)字和字符了。本次使用采用P1口為段選,P0.70.2分別對(duì)應(yīng)第一個(gè)數(shù)碼管至第六個(gè)數(shù)碼管。采用各數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示頻率較高時(shí),

46、利用人眼的暫留特性,看不出閃爍顯示現(xiàn)象,這種顯示需要一個(gè)接口完成字形碼的輸出,另一接口完成各數(shù)碼管的輪流點(diǎn)亮(數(shù)位選擇)。4. 程序框圖給P0口0的段選,選通第一個(gè)數(shù)碼管(P0.7),延時(shí),關(guān)閉第一個(gè)數(shù)碼管開(kāi)始給P0口1的段選,選通第二個(gè)數(shù)碼管(P0.6),延時(shí),關(guān)閉第二個(gè)數(shù)碼管給P0口2的段選,選通第三個(gè)數(shù)碼管(P0.5),延時(shí),關(guān)閉第三個(gè)數(shù)碼管給P0口3的段選,選通第四個(gè)數(shù)碼管(P0.4),延時(shí),關(guān)閉第四個(gè)數(shù)碼管給P0口4的段選,選通第五個(gè)數(shù)碼管(P0.3),延時(shí),關(guān)閉第五個(gè)數(shù)碼管給P0口5的段選,選通第六個(gè)數(shù)碼管(P0.2),延時(shí),關(guān)閉第六個(gè)數(shù)碼管5. 實(shí)驗(yàn)心得本次實(shí)驗(yàn)的電路連接有點(diǎn)麻煩

47、,在焊接過(guò)程中一分心就容易犯錯(cuò),所以在做實(shí)驗(yàn)中我們必須要注意力高度集中,要不然我們就會(huì)得不償失了。另外,在調(diào)試程序時(shí),我們的數(shù)碼管的顯示不很穩(wěn)定,當(dāng)時(shí)我們沒(méi)太在意。當(dāng)老師檢驗(yàn)時(shí)提出了這一問(wèn)題,我們后來(lái)明白了,在實(shí)驗(yàn)中出現(xiàn)任何一丁點(diǎn)異常都要引起注意,把問(wèn)題解決,這樣我們做出的產(chǎn)品才會(huì)更有質(zhì)量保證。第二章 矩陣鍵盤(pán)、時(shí)鐘與蜂鳴器1. 實(shí)驗(yàn)?zāi)康膌 掌握4*4矩陣式鍵盤(pán)按鍵地設(shè)計(jì)方法l 掌握4*4矩陣鍵盤(pán)程序的識(shí)別原理l 掌握蜂鳴器的使用方法l 了解定時(shí)器的工作原理l 明白用鍵盤(pán)怎樣去調(diào)試時(shí)間并在數(shù)碼管上顯示2. 電路圖3. 實(shí)驗(yàn)原理i. 矩陣鍵盤(pán)與蜂鳴器為了減少鍵盤(pán)與單片機(jī)接口所占用的I/O口的數(shù)目

48、,所以將鍵盤(pán)排列成行列矩陣形式,程序先判斷有無(wú)鍵按下,當(dāng)有鍵按下后,判斷哪一個(gè)按鍵被按下,采用逐行掃描查詢(xún)法。向行線(xiàn)輸出全掃描字00H,把全部行線(xiàn)置為地電平,然后將列線(xiàn)的電平狀態(tài)讀入累加器A中,如果有一根列線(xiàn)電平被拉至低電平,從而使列輸入不全為1。數(shù)碼顯示第二章已講,這里不再累述。給P0.0一個(gè)信號(hào)0,使蜂鳴器導(dǎo)通發(fā)聲。ii. 時(shí)鐘使用6位數(shù)碼管,數(shù)碼管分別顯示時(shí)、分、秒,用鍵盤(pán)進(jìn)行時(shí)間的調(diào)整。選用定時(shí)器T0的第一模式工作 。先賦定時(shí)器的計(jì)數(shù)初值,賦給TL0, B0H,賦給TH0, 3CH,每次的定時(shí)時(shí)間為50微妙。開(kāi)放中斷,啟動(dòng)定時(shí)器。中斷二十次即可得到一秒的時(shí)間。每秒的延時(shí)達(dá)到,秒計(jì)數(shù)加一

49、。當(dāng)秒計(jì)數(shù)器計(jì)數(shù)滿(mǎn)60,分計(jì)數(shù)加一,秒計(jì)時(shí)清零。當(dāng)秒計(jì)數(shù)器計(jì)數(shù)滿(mǎn)60,時(shí)計(jì)數(shù)加一,分計(jì)時(shí)清零。當(dāng)時(shí)計(jì)數(shù)器計(jì)滿(mǎn)24,全部清零。4. 程序框圖i. 矩陣鍵盤(pán)與蜂鳴器程序框圖開(kāi)始判斷是否有鍵按下給A以00H,進(jìn)行行掃描,確定按鍵行號(hào),保存行首鍵號(hào)然后掃描列,并將對(duì)應(yīng)的列序號(hào)保存鍵號(hào)(值)=行首鍵號(hào)+列號(hào)延時(shí)去抖后再判斷按鍵狀態(tài),確定有鍵按下輸出顯示,蜂鳴器發(fā)聲ii. 時(shí)鐘程序框圖開(kāi)始初始化并設(shè)定中斷允許進(jìn)入中斷調(diào)時(shí)調(diào)用鍵盤(pán)程序調(diào)用時(shí)間程序,計(jì)時(shí)鍵掃描,確定鍵值輸入鍵值,進(jìn)行調(diào)時(shí)顯示時(shí)間否是5. 實(shí)驗(yàn)心得做完之前的兩個(gè)實(shí)驗(yàn),我們的信心也加強(qiáng)了,因?yàn)槲覀冊(cè)趯W(xué)習(xí)的過(guò)程有了小小的收獲??蛇@次實(shí)驗(yàn)卻讓我們小小

50、的郁悶了,感覺(jué)原理不是特別好懂,特別是時(shí)鐘的程序,因?yàn)閷?duì)單片機(jī)的內(nèi)部工作原理算是懵懂,不過(guò)后來(lái),我們還是通過(guò)查找資料,慢慢的完成了實(shí)驗(yàn),可以說(shuō)過(guò)程是艱難的,但是我們沒(méi)有放棄,也許毅力的練成就是從一次一次坎坷中積聚的吧。第三章 液晶顯示器(LCD1602)1. 實(shí)驗(yàn)?zāi)康膌 了解LCD液晶顯示器的工作原理l 掌握LCD液晶顯示器的編程控制方法2. 電路圖3. 實(shí)驗(yàn)原理1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼。4. 程序框圖是是否否開(kāi)始是否忙調(diào)LCD顯示功能

51、,清屏是否忙送顯示調(diào)整對(duì)比度返回5. 實(shí)驗(yàn)心得這次實(shí)驗(yàn)主要是讓我們了解LCD,知道它作為外設(shè)怎么使用就行。雖然用處我們大家都知道,但是不能因?yàn)楹?jiǎn)單我們就不去認(rèn)真學(xué),畢竟學(xué)習(xí)是個(gè)積累的過(guò)程。第四章 片外RAM擴(kuò)展1. 實(shí)驗(yàn)?zāi)康膌 掌握擴(kuò)展片RAM的電路和程序設(shè)計(jì)方法l 理解擴(kuò)展片RAM時(shí)讀寫(xiě)和ALE等控制線(xiàn)的作用l 了解片外RAM情況下的單片機(jī)指令MOVX的執(zhí)行進(jìn)程l 學(xué)習(xí)心得2. 電路圖3. 實(shí)驗(yàn)原理由于89C51單片機(jī)片內(nèi)RAM僅有128字節(jié),當(dāng)系統(tǒng)需要較大容量RAM時(shí),就需要片外擴(kuò)展數(shù)據(jù)存儲(chǔ)器RAM,最大可擴(kuò)展64KB。擴(kuò)展數(shù)據(jù)存儲(chǔ)器空間地址,有P2口提供高8位地址,P0口分時(shí)提供8位地址

52、和用作8位雙向數(shù)據(jù)總線(xiàn),由地址鎖存器74H373控制。4. 程序框圖由74LS373傳送到62256由62256傳送回單片機(jī)中數(shù)碼管上面顯示數(shù)據(jù)結(jié)束數(shù)據(jù)傳輸?shù)?2256中開(kāi)始5. 實(shí)驗(yàn)心得這次實(shí)驗(yàn)主要是電路的連接,理解時(shí)序與有關(guān)芯片的原理之后,就相對(duì)來(lái)說(shuō)比較簡(jiǎn)單了。所以在以后的實(shí)驗(yàn)中我們既要認(rèn)真地對(duì)待硬件,又要深刻地理解有關(guān)軟件,這樣才能真正地做到靈活運(yùn)用知識(shí)去解決其他問(wèn)題。第五章 AD轉(zhuǎn)換1. 實(shí)驗(yàn)?zāi)康膌 1、了解AD轉(zhuǎn)換器的工作原理l 2、掌握AD轉(zhuǎn)換與單片機(jī)的接口方法l 3、通過(guò)實(shí)驗(yàn)了解單片機(jī)如何進(jìn)行數(shù)據(jù)采集2. 電路圖3. 實(shí)驗(yàn)原理從滑動(dòng)變阻器上得到模擬電壓,將模擬電壓信號(hào)輸入ADC0

53、809芯片,ADC0809將模擬量轉(zhuǎn)化為數(shù)字量輸入AT89C51,AT89C51將輸入的數(shù)字量處理,再送到數(shù)碼管顯示。4. 程序框圖定義引腳以及顯示緩沖區(qū)單元清零緩沖區(qū),給DPTR查表表頭,ABC已經(jīng)接地(選擇通道0)啟動(dòng)AD轉(zhuǎn)換,待轉(zhuǎn)換結(jié)束則輸出,緩存結(jié)果并關(guān)閉輸出將AD轉(zhuǎn)換的結(jié)果(二進(jìn)制)轉(zhuǎn)換為BCD碼將結(jié)果送至顯示緩沖區(qū)(從低位到高位,并且最高位點(diǎn)亮小數(shù)點(diǎn))分別顯示開(kāi)始5. 實(shí)驗(yàn)心得這個(gè)實(shí)驗(yàn)是持續(xù)時(shí)間最長(zhǎng)的,就因?yàn)槟且痪湓?huà)使整個(gè)實(shí)驗(yàn)延長(zhǎng)了倆個(gè)多月,使我明白了做實(shí)驗(yàn)要了解你所用的器件的所有的功能才能使你掌控大局觀(guān),實(shí)驗(yàn)如此,生活亦是如此,要知己知彼才能百戰(zhàn)不殆。第六章 DA轉(zhuǎn)換1. 實(shí)驗(yàn)?zāi)?/p>

54、的l 了解DA轉(zhuǎn)換的基本原理l 了解運(yùn)算放大器的工作原理l 了解DA轉(zhuǎn)換芯片的性能及編程方法l 掌握如何采集產(chǎn)生波形的樣點(diǎn)2. 電路圖3. 實(shí)驗(yàn)原理使用D/A轉(zhuǎn)換實(shí)現(xiàn)數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)。用運(yùn)算放大器UA741實(shí)現(xiàn)電壓的放大。通過(guò)程序控制產(chǎn)生矩形波,三角波,正弦波。4. 實(shí)驗(yàn)心得由于這次實(shí)驗(yàn)是需要把數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),而模擬信號(hào)的產(chǎn)生就需要學(xué)會(huì)如何采集生成波形的樣點(diǎn),初次接觸這方面的知識(shí),在理解上與解決問(wèn)題上給我們帶來(lái)了困擾,好在有學(xué)長(zhǎng)的幫助以及我們的堅(jiān)持,才做出了實(shí)驗(yàn)效果。通過(guò)這次實(shí)驗(yàn),我們感觸很大,因?yàn)閷W(xué)長(zhǎng)在傳遞知識(shí)時(shí)很無(wú)私也很友好,也因?yàn)槲覀兊囊懔ψ屛覀冞x擇了接著奮斗。我們相信,以

55、后我們?cè)儆龅嚼щy時(shí),繼續(xù)走下去的決心會(huì)加強(qiáng),我們也會(huì)很樂(lè)意與人分享我們的知識(shí)的。第七章 附錄附錄一 流水燈程序ORG 0000HAJMP MAINORG 0070HMAIN:MOVP1,#0FEHLCALLAXHMOVP1,#0FDHLCALLAXHMOVP1,#0FBHLCALLAXHMOVP1,#0F7HLCALLAXHMOVP1,#0EFHLCALLAXHMOVP1,#0DFHLCALLAXHMOVP1,#0BFHLCALLAXHMOVP1,#07FHLCALLAXHAJMP MAINAXH:MOV R7,#250 D1:MOV R6,#250 D2:DJNZ R6,D2 DJNZ R7

56、,D1 RETEND附錄二 數(shù)碼管程序ORG 0000HAJMP MAINORG 0030HMAIN:MOVP1,#0C0HCLRP0.7LCALLAXHSETBP0.7MOVP1,#0F9HCLRP0.6LCALLAXHSETBP0.6MOVP1,#0A4HCLRP0.5LCALLAXHSETBP0.5MOVP1,#0B0HCLRP0.4LCALLAXHSETBP0.4MOVP1,#99HCLRP0.3LCALLAXHSETBP0.3MOVP1,#92HCLRP0.2LCALLAXHSETBP0.2AJMP MAINAXH:MOVR7,#2D1:MOVR6,#30D2:DJNZR6,D2DJ

57、NZR7,D1END附錄三 矩陣鍵盤(pán)程序ORG0000HAJMPKEYORG0030HKEY:MOVP2,#00HMOVA,P2ANLA,#0FHORLA,#0F0HCPLAJZKEYLCALLDEL10msMOVP2,#0FHMOVA,P2ANLA,#0FHORLA,#0F0HCPLAJZKEYSKEY:MOVA,#00MOVR0,A /行值MOVR1,A /列值MOVR3,#7FH/暫存行SKEY2:MOVA,R3 /SKEY2判斷行數(shù)MOVP2,ANOPNOPNOPMOVA,P2MOVR1,AANLA,#0FHORLA,#0F0HCPLAS123:JNZSKEY3INCR0SETBCMO

58、VA,R3RRCAMOVR3,AMOVA,R0CJNEA,#04H,SKEY2EKEY:RETSKEY3:MOVA,R1 /SKEY3判斷列值JNBACC.3,SKEY5JNBACC.2,SKEY6JNBACC.1,SKEY7JNBACC.0,SKEY8AJMPEKEYSKEY5:MOVA,#00HMOVR2,AAJMPDKEYSKEY6:MOVA,#01HMOVR2,AAJMPDKEYSKEY7:MOVA,#02HMOVR2,AAJMPDKEYSKEY8:MOVA,#03HMOVR2,AAJMPDKEYDKEY:MOVA,R0ACALLDECODEAJMPMAIN0DECODE:MOVA,R

59、0MOVB,#04HMULABADDA,R2RETMAIN0:CLRP0.2CJNEA,#00H,MAIN1CLRP0.0MOVP1,#0C0HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN1:CJNEA,#01H,MAIN2CLRP0.0MOVP1,#0F9HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN2:CJNEA,#02H,MAIN3CLRP0.0MOVP1,#0A4HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHJMPKEYMAIN3:CJNEA

60、,#03H,MAIN4CLRP0.0MOVP1,#0B0HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN4:CJNEA,#04H,MAIN5CLRP0.0MOVP1,#99HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN5:CJNEA,#05H,MAIN6CLRP0.0MOVP1,#92HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN6:CJNEA,#06H,MAIN7CLRP0.0MOVP1,#82HLCALLDEL50msSETB

61、P0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN7:CJNEA,#07H,MAIN8CLRP0.0MOVP1,#0F8HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN8:CJNEA,#08H,MAIN9CLRP0.0MOVP1,#80HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIN9:CJNEA,#09H,MAINACLRP0.0MOVP1,#90HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINA:CJNEA,#0

62、AH,MAINBCLRP0.0MOVP1,#88HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINB:CJNEA,#0BH,MAINCCLRP0.0MOVP1,#83HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINC:CJNEA,#0CH,MAINDCLRP0.0MOVP1,#0C6HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAIND:CJNEA,#0DH,MAINECLRP0.0MOVP1,#0A1HLCALLDEL50msSETBP0

63、.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINE:CJNEA,#0EH,MAINFCLRP0.0MOVP1,#86HLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYMAINF:CJNEA,#0FH,CXFCLRP0.0MOVP1,#8EHLCALLDEL50msSETBP0.0SETBP0.2MOVP1,#0FFHAJMPKEYCXF:LJMPKEYDEL10ms:MOVR7,#10HTS1:MOVR6,#0FFHTS2:DJNZR6,TS2DJNZR7,TS1RETDEL50ms:MOVR7,#200TS3:MOVR6,#125T

64、S4:DJNZR6,TS4DJNZR7,TS3RETEND附錄四 時(shí)鐘程序H_BIT EQU 20HM_BIT EQU 21HS_BIT EQU 22HHH EQU 23HMM EQU 24HSS EQU 25HHH_BIT EQU 26HMM_BIT EQU 27HSS_BIT EQU 28HORG 00HAJMP MAINORG 0BHAJMP TIME0ORG 30HMAIN: MOV SP,#60H MOV P2,#0FH MOV R5,#00H MOV H_BIT,#00H MOV M_BIT,#00H MOV S_BIT,#00H MOV HH_BIT,#00H MOV MM_BI

65、T,#00H MOV SS_BIT,#00H MOV HH,#00H MOV MM,#00H MOV SS,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0LOOP: LCALL EY LCALL KEY LJMP LOOPEY: LCALL LOOP1 MOV DPTR,#TAB MOV A,H_BIT MOVC A,A+DPTR MOV P1,A CLR P0.7 LCALL DIS1 SETB P0.7 MOV A,HH_BIT MOVC A,A+DPTR MOV P1,A CLR P0.6 L

66、CALL DIS1 SETB P0.6 MOV A,M_BIT MOVC A,A+DPTR MOV P1,A CLR P0.5 LCALL DIS1 SETB P0.5 MOV A,MM_BIT MOVC A,A+DPTR MOV P1,A CLR P0.4 LCALL DIS1 SETB P0.4 MOV A,S_BIT MOVC A,A+DPTR MOV P1,A CLR P0.3 LCALL DIS1 SETB P0.3 MOV A,SS_BIT MOVC A,A+DPTR MOV P1,A CLR P0.2 LCALL DIS1 SETB P0.2 RETLOOP1: MOV A,SS

67、 MOV B,#10 DIV AB MOV S_BIT,A MOV SS_BIT,B MOV A,MM MOV B,#10 DIV AB MOV M_BIT,A MOV MM_BIT,B MOV A,HH MOV B,#10 DIV AB MOV H_BIT,A MOV HH_BIT,B RETTIME0: PUSH ACC PUSH PSW MOV TH0,#3CH MOV TL0,#0B0H INC R5 CJNE R5,#20,LOOP2 MOV R5,#00H INC SS MOV A,SS CJNE A,#60,LOOP2 MOV SS,#00H INC MM MOV A,MM CJ

68、NE A,#60,LOOP2 MOV MM,#00H INC HH MOV A,HH CJNE A,#24,LOOP2 MOV HH,#00HLOOP2: POP PSW POP ACC RETIKEY: CLREA LCALLEY JNB P2.3,SS_KEYKEY1: SETBEA RETSS_KEY: LCALL EY1 LCALL DIS1 JNB P2.3,SS_KEYSSA: LCALL EY1 LCALL S_KEY JNB P2.0,KEY3 LJMP SSAKEY3: LJMP KEY1S_KEY: JNB P2.2,S_ADDKEY JNB P2.1,S_DECKEY L

69、CALL DIS1 JNB P2.3,MM_KEY RETS_ADDKEY: LCALLEY1 LCALL DIS1 JNB P2.2,S_ADDKEY INC SS MOV A,SS CJNE A,#60,SS_KEY1 MOV SS,#00HSS_KEY1: LJMP SSAS_DECKEY: LCALLEY1 LCALL DIS1 JNB P2.1,S_DECKEY MOV A,SS CJNE A,#00,SS_KEY2 MOV SS,#60SS_KEY2: DEC SS LJMP SS_KEY1 MM_KEY: LCALL EY2 LCALL DIS1 JNB P2.3,MM_KEYM

70、MA: LCALL EY2 LCALL M_KEY JNB P2.0,KEY4 LJMP MMAKEY4: LJMP KEY1M_KEY: JNB P2.2,M_ADDKEY JNB P2.1,M_DECKEY LCALL DIS1 JNB P2.3,HH_KEY RETM_ADDKEY: LCALLEY2 LCALL DIS1 JNB P2.2,M_ADDKEY INC MM MOV A,MM CJNE A,#60,MM_KEY1 MOV MM,#00HMM_KEY1: LJMP MMAM_DECKEY: LCALLEY2 LCALL DIS1 JNB P2.1,M_DECKEY MOV A

71、,MM CJNE A,#00,MM_KEY2 MOV MM,#60MM_KEY2: DEC MM LJMP MM_KEY1HH_KEY: LCALL EY3 LCALL DIS1 JNB P2.3,HH_KEYHHA: LCALL EY3 LCALL H_KEY JNB P2.0,KEY5 LJMP HHAKEY5: LJMP KEY1H_KEY: JNB P2.2,H_ADDKEY JNB P2.1,H_DECKEY LCALL DIS1 JNB P2.1,SSB RETH_ADDKEY: LCALLEY3 LCALL DIS1 JNB P2.2,H_ADDKEY INC HH MOV A,

72、HH CJNE A,#24,HH_KEY1 MOV HH,#00HHH_KEY1: LJMP HHAH_DECKEY: LCALL EY3 LCALL DIS1 JNB P2.1,H_DECKEY MOV A,HH CJNE A,#00,HH_KEY2 MOV HH,#24HH_KEY2: DEC HH LJMP HH_KEY1SSB: LJMP SS_KEYEY1: LCALL LOOP1 MOV DPTR,#TAB MOV A,S_BIT MOVC A,A+DPTR MOV P1,A CLR P0.3 LCALL DIS1 SETB P0.3 MOV A,SS_BIT MOVC A,A+D

73、PTR MOV P1,A CLR P0.2 LCALL DIS1 SETB P0.2 RETEY2: LCALL LOOP1 MOV DPTR,#TAB MOV A,M_BIT MOVC A,A+DPTR MOV P1,A CLR P0.5 LCALL DIS1 SETB P0.5 MOV A,MM_BIT MOVC A,A+DPTR MOV P1,A CLR P0.4 LCALL DIS1 SETB P0.4 RETEY3: LCALL LOOP1 MOV DPTR,#TAB MOV A,H_BIT MOVC A,A+DPTR MOV P1,A CLR P0.7 LCALL DIS1 SET

74、B P0.7 MOV A,HH_BIT MOVC A,A+DPTR MOV P1,A CLR P0.6 LCALL DIS1 SETB P0.6 RETDIS1: MOV R6,#20 DJNZ R6,$ RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND附錄五 液晶LCD1602程序ORG0000HAJMPMAINORG000BHAJMPTIMEORG0100H MAIN:MOVTMOD,#00H MOVTL0,#00H MOVTH0,#00H SETBEA SETBET0 SETBTR0 MOV50H,#32H MOVSP,#60H ACALLMOSHISHEZHI ACALLLCDQP MOVA,#80H ACALLLCDXZL

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論