版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)電子時(shí)鐘的設(shè)計(jì)摘要單片機(jī)自20 世紀(jì) 70 年代問世以來,以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點(diǎn),在我國,單片機(jī)已廣泛地應(yīng)用在工業(yè)自動(dòng)化控制、自動(dòng)檢測、智能儀器儀表、家用電器、電力電子、機(jī)電一體化設(shè)備等各個(gè)方面,而 51 單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計(jì)通過對它的學(xué)習(xí)、應(yīng)用,以 AT89S51 芯片為核心,輔以必要的電路,設(shè)計(jì)了一個(gè)簡易的電子時(shí)鐘,它由 4.5V 直流電源供電,通過數(shù)碼管能夠準(zhǔn)確顯示時(shí)間,調(diào)整時(shí)間,從而到達(dá)學(xué)習(xí)、
2、設(shè)計(jì)、開發(fā)軟、硬件的能力。關(guān)鍵詞:單片機(jī)AT89S摘要.IAbstract .II第一章前言 .1第二章方案論證與比較 .22.1數(shù)字時(shí)鐘方案 .22.2數(shù)碼管顯示方案 .2第三章系統(tǒng)設(shè)計(jì) .33.1總體設(shè)計(jì) .33.1.1系統(tǒng)說明 .33.1.2系統(tǒng)框圖 .33.2模塊設(shè)計(jì) .43.2.1電源部分 .43.2.2復(fù)位電路 .43.2.3程序下載接口 .53.2.4位選部分 .53.2.5數(shù)碼管的連接電路 .63.2.6控制部分 .6第四章原理圖與 PCB圖. 8第五章軟件設(shè)計(jì) .95.1程序流程圖 .95.2源程序 .11第六章總結(jié) .186.1物品清單與元件特性. 186.2設(shè)計(jì)總結(jié) .1
3、9參考文獻(xiàn)( References): .20致謝.20第一章前言時(shí)鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘。現(xiàn)今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用 LED顯示器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)
4、和分的校對,片選的靈活性好。時(shí)鐘電路在計(jì)算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義: 一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號, 主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間,它通常有兩種實(shí)現(xiàn)方法:一是用軟件實(shí)現(xiàn),即用單片機(jī)內(nèi)部的可編程定時(shí)計(jì)數(shù)器來實(shí)現(xiàn),但誤差很大,主要用在對時(shí)間精度要求不高的場合; 二是用專門的時(shí)鐘芯片實(shí)現(xiàn), 在對時(shí)間精度要求很高的情況下, 通常采用這種方法,典型的時(shí)鐘芯片有: DS1302, DS12887, X1203 等都可以滿足高精度的要求。本文主要介
5、紹用單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器來實(shí)現(xiàn)電子時(shí)鐘的方法,本設(shè)計(jì)由單片機(jī)AT89S51 芯片和LED 數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)電子時(shí)鐘。第二章方案論證與比較2.1 數(shù)字時(shí)鐘方案數(shù)字時(shí)鐘是本設(shè)計(jì)的最主要的部分。根據(jù)需要,可利用兩種方案實(shí)現(xiàn)。方案一:本方案采用 Dallas 公司的專用時(shí)鐘芯片 DS12887A。該芯片內(nèi)部采用石英晶體振蕩器,其芯片精度不大于 10ms 年,且具有完備的時(shí)鐘鬧鐘功能,因此,可直接對其以用于顯示或設(shè)置,使得軟件編程相對簡單。為保證時(shí)鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內(nèi)部包含鋰電池。當(dāng)電網(wǎng)電壓不足或突然掉電時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到內(nèi)部鋰電池供
6、電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時(shí),鋰電池也能保證芯片的正常運(yùn)行,以備隨時(shí)提供正確的時(shí)間。方案二:本方案完全用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn)1 秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加1;若秒值達(dá)到 60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到 60,則清零分字節(jié),并將時(shí)字節(jié)值加 1;若時(shí)值達(dá)到 24,則將十字節(jié)清零。該方案具有硬件電路簡單的特點(diǎn)。但由于每次執(zhí)行程序時(shí),定時(shí)器都要重新賦初值,所以該時(shí)鐘精度不高。而且,由于是軟件實(shí)現(xiàn),當(dāng)單片機(jī)不上電,程序不執(zhí)行時(shí),時(shí)鐘將不工作。基于硬件電路的考慮,
7、本設(shè)計(jì)采用方案二完成數(shù)字時(shí)鐘的功能。2.2 數(shù)碼管顯示方案方案一:靜態(tài)顯示。所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。該方式每一位都需要一個(gè) 8 位輸出口控制。靜態(tài)顯示時(shí)較小的電流能獲得較高的亮度,且字符不閃爍。但當(dāng)所顯示的位數(shù)較多時(shí),靜態(tài)顯示所需的 IO 口太多,造成了資源的浪費(fèi)。方案二:動(dòng)態(tài)顯示。所謂動(dòng)態(tài)顯示就是一位一位的輪流點(diǎn)亮各個(gè)位,對于顯示器的每一位來說,每隔一段時(shí)間點(diǎn)亮一次。利用人的視覺暫留功能可以看到整個(gè)顯示,但必須保證掃描速度足夠快,字符才不閃爍。顯示器的亮度既與導(dǎo)通電流有關(guān),也于點(diǎn)亮?xí)r間與間隔時(shí)間的比例有關(guān)。調(diào)整參數(shù)可以實(shí)現(xiàn)較高穩(wěn)定度的顯示。
8、動(dòng)態(tài)顯示節(jié)省了 IO 口,降低了能耗。從節(jié)省 IO 口和降低能耗出發(fā),本設(shè)計(jì)采用方案二。第三章系統(tǒng)設(shè)計(jì)3.1 總體設(shè)計(jì)3.1.1 系統(tǒng)說明利用單片機(jī)( AT89S51 )制作簡易電子時(shí)鐘,由六個(gè)LED 數(shù)碼管分別顯示小時(shí)十位、小時(shí)個(gè)位、分鐘十位、分鐘個(gè)位、秒鐘十位、秒鐘個(gè)位。6 個(gè) PNP 管( 9012)分別控制六個(gè)數(shù)碼管的亮滅,一個(gè)按鍵用于時(shí)間調(diào)整。3.1.2 系統(tǒng)框圖圖 3-13.2 模塊設(shè)計(jì)3.2.1 電源部分圖 3-2如圖 3-2 所示,從外部引入4.5V 的直流電,為單片機(jī)、復(fù)位電路提供電源。3.2.2 復(fù)位電路圖3-3如圖 3-3 所示,復(fù)位電路主要由型號為1N4148 的二極管
9、,型號為10UF16V 的電解電容,型號為104的瓷片電容,10K 的電阻以及按鍵S1 構(gòu)成, S1 接芯片的相應(yīng)引腳RST ,當(dāng)開關(guān)按下時(shí)引腳RST 為高電平 1,斷開時(shí)引腳為低電平0。3.2.3 程序下載接口圖 3-4如圖 3-4 所示,由AT89S ISP 構(gòu)成的兩排十針下載口,板圖上有一個(gè)小方框,為1 號引角;下載線的凸口為正方向,凸口的右側(cè)邊的第一個(gè)插孔為1 號引角。3.2.4 位選部分圖 3-5圖 3-5 為位選電路, 三極管的集電極接數(shù)碼管的公共端,當(dāng) P2 口對應(yīng)的引腳輸出高電平時(shí)三極管導(dǎo)通,對應(yīng)的數(shù)碼管顯示數(shù)據(jù)。這樣,在同一時(shí)刻,6位LED中只有選通的那 1 位顯示出字符,而
10、其他5 位則是熄滅的。同樣,在下一時(shí)刻,只讓下一位的位選線處于選通狀態(tài),而其他個(gè)位的位選線處于關(guān)閉狀態(tài),在段碼線上輸出將要顯示字符的段碼,則同一時(shí)刻,只有選通位顯示出相應(yīng)的字符,而其他各位則是熄滅的。如此循環(huán)下去,就可以使各位顯示出將要顯示的字符。雖然這些字符是在不同時(shí)刻出現(xiàn)的,而在同一時(shí)刻,只有一位顯示,其他各位熄滅,但由于LED 的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可以造成多位同時(shí)亮的假象,達(dá)到同時(shí)顯示的效果。3.2.5 數(shù)碼管的連接電路圖3-6此時(shí)數(shù)碼管顯示1。由于各位的段碼圖 3-6 為數(shù)碼管的引腳圖,每位的段碼線( a,b,c,d,e,f,g,dp)分別與 1 個(gè)
11、8 位的鎖存器輸出相連,由 AT89S51 控制組合 0 9 十個(gè)數(shù)據(jù),如令其顯示 1 則 b,c 引腳(即 2, 3 引腳)送高電平,線并聯(lián), 8 位 IO 口輸出段碼對各個(gè)顯示位來說都是相同的。3.2.6 控制部分圖 3-7AT89S51 是美國 ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8 位單片機(jī),片內(nèi)含4K bytes 的可系統(tǒng)編程的 Flash 只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度, 非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。AT89S51 提供以下標(biāo)準(zhǔn)功能:4K 字節(jié) Flash 閃速存儲(chǔ)器,128 字節(jié)內(nèi)部RAM , 32IO口線,看門狗(WDT),兩個(gè)
12、數(shù)據(jù)指針,兩個(gè)16 位定時(shí)計(jì)數(shù)器,一個(gè)5 向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。如圖3-7所示, AT89S51有 40 引腳,雙列直插(DIP )封裝,所用引腳功能如下:1.VCC運(yùn)行時(shí)加4.5V2.GND接地3.XTAL1振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端4.XTAL2振蕩器反相放大器的輸出端5.RST復(fù)位輸入,高電平有效,在晶振工作時(shí),在RST 引腳上作用 2 個(gè)機(jī)器周期以上的高電平,將使單片機(jī)復(fù)位。 WDT 溢出將使該引腳輸出高電平,設(shè)置 SFT AUXR 的 DISRTO 位(地址 8EH )可打開或關(guān)閉該功能。 DISRTO 位缺省為 RESET輸出高
13、電平打開狀態(tài)。6.EAVPP片外程序存儲(chǔ)器訪問允許信號。欲使CPU 僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH ),EA 端必須保持低電平(接地),如果 EA 端為高電平(接 Vcc 端), CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。7.P1 口 ,P2 口 P1,P2 是一組帶內(nèi)部上拉電阻的8 位雙向 IO 口。運(yùn)行時(shí)通過 P1 口控制驅(qū)動(dòng)電路的工作,將數(shù)據(jù)送到數(shù)碼管,顯示相應(yīng)的段碼,為了達(dá)到減少功耗或滿足端口對最大電流的限制,應(yīng)加上一限流電阻。P2.0 P2.5 口控制數(shù)碼管的位選,使六個(gè)數(shù)碼管輪流顯示數(shù)據(jù),等于1 時(shí)位選三極管導(dǎo)通,等于0 時(shí)位選三極管截止。8.無自鎖開關(guān)(S2 P3
14、.7)開關(guān)接相應(yīng)引腳P3.7,當(dāng)開關(guān)按下時(shí),相應(yīng)引腳為低電平0,斷開時(shí)引腳為高電平1。第四章原理圖與 PCB圖圖 4-1圖 4-2第五章軟件設(shè)計(jì)5.1 程序流程圖5.2 源程序表 5-1P1 口對應(yīng)段碼及數(shù)值:顯示數(shù)字P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.016 進(jìn)制dpgfedcba代碼0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH;中斷入口程序;ORG 0000H;程序執(zhí)行開
15、始地址LJMP START;跳到標(biāo)號START 執(zhí)行ORG 0003H;外中斷 0 中斷程序入口RETI;外中斷 0 中斷返回ORG 000BH;定時(shí)器 T0 中斷程序入口LJMP INTT0;跳至 INTTO執(zhí)行ORG 0013H;外中斷 1 中斷程序入口RETI;外中斷 1 中斷返回ORG 001BH;定時(shí)器 T1 中斷程序入口LJMP INTT1;跳至 INTT1 執(zhí)行ORG 0023H;串行中斷程序入口地址RETI;串行中斷程序返回;主程序;START: MOVR0,#70H;清 70H-7AH 共 11 個(gè)內(nèi)存單元MOVR7,#0BH;clrP3.7;CLEARDISP: MOVR0
16、,#00H;INCR0;DJNZR7,CLEARDISP;MOV20H,#00H;清 20H(標(biāo)志用)MOV7AH,#0AH;放入 熄滅符 數(shù)據(jù)MOVTMOD,#11H;設(shè) T0 、T1 為 16 位定時(shí)器MOVTL0,#0B0H;50MS 定時(shí)初值( T0 計(jì)時(shí)用)MOVTH0,#3CH;50MS 定時(shí)初值MOVTL1,#0B0H;50MS 定時(shí)初值( T1 閃爍定時(shí)用)MOVTH1,#3CH;50MS 定時(shí)初值SETBEA;總中斷開放SETBET0;允許 T0中斷SETBTR0;開啟 T0定時(shí)器MOVR4,#14H;1 秒定時(shí)用初值( 50MS 20)START1: LCALLDISPLA
17、Y;調(diào)用顯示子程序JNBP3.7,SETMM1;P3.7 口為 0 時(shí)轉(zhuǎn)時(shí)間調(diào)整程序SJMPSTART1;P3.7 口為 1 時(shí)跳回 START1SETMM1:LJMP SETMM; 轉(zhuǎn)到時(shí)間調(diào)整程序 SETMM;1 秒計(jì)時(shí)程序 ;T0 中斷服務(wù)程序INTT0: PUSHACC;累加器入棧保護(hù)PUSHPSW; 狀態(tài)字入棧保護(hù)CLRET0; 關(guān) T0 中斷允許CLRTR0;關(guān)閉定時(shí)器 T0MOVA,#0B7H;中斷響應(yīng)時(shí)間同步修正ADDA,TL0;低 8 位初值修正MOVTL0,A;重裝初值(低 8 位修正值)MOVA,#3CH; 高 8 位初值修正ADDCA,TH0;MOVTH0,A;重裝初值
18、(高 8 位修正值)SETBTR0; 開啟定時(shí)器 T0DJNZR4, OUTT0;20 次中斷未到中斷退出ADDSS: MOVR4,#14H;20 次中斷到( 1 秒)重賦初值MOVR0,#71H;指向秒計(jì)時(shí)單元(71H-72H )ACALLADD1;調(diào)用加 1 程序(加1 秒操作)MOVA,R3;秒數(shù)據(jù)放入 A( R3 為 2 位十進(jìn)制數(shù)組合)CLRC; 清進(jìn)位標(biāo)志CJNEA,#60H,ADDMM;ADDMM: JCOUTT0;小于 60 秒時(shí)中斷退出ACALLCLR0;大于或等于 60 秒時(shí)對秒計(jì)時(shí)單元清 0MOVR0,#77H;指向分計(jì)時(shí)單元(76H-77H )ACALLADD1; 分計(jì)
19、時(shí)單元加 1 分鐘MOVA,R3;分?jǐn)?shù)據(jù)放入 ACLRC;清進(jìn)位標(biāo)志CJNEA,#60H,ADDHH;ADDHH: JCOUTT0;小于 60 分時(shí)中斷退出ACALLCLR0;大于或等于 60 分時(shí)分計(jì)時(shí)單元清0MOVR0,#79H;指向小時(shí)計(jì)時(shí)單(78H-79H )ACALLADD1;小時(shí)計(jì)時(shí)單元加1 小時(shí)MOVA,R3;時(shí)數(shù)據(jù)放入 ACLRC;清進(jìn)位標(biāo)志CJNEA,#24H,HOUR;HOUR: JCOUTT0;小于 24 小時(shí)中斷退出ACALLCLR0;大于或等于 24 小時(shí)小時(shí)計(jì)時(shí)單元清0OUTT0: MOV72H,76H;中斷退出時(shí)將分、時(shí)計(jì)時(shí)單元數(shù)據(jù)移MOV73H,77H;入對應(yīng)顯
20、示單元MOV74H,78H;MOV75H,79H;POPPSW; 恢復(fù)狀態(tài)字(出棧)POPACC; 恢復(fù)累加器SETBET0;開放 T0 中斷RETI;中斷返回;閃動(dòng)調(diào)時(shí)程 序 ;T1 中斷服務(wù)程序,用作時(shí)間調(diào)整時(shí)調(diào)整單元閃爍指示INTT1:PUSHACC; 中斷現(xiàn)場保護(hù)PUSHPSW;MOVTL1,#0B0H;裝定時(shí)器 T1 定時(shí)初值MOVTH1,#3CH;DJNZR2,INTT1OUT;0.3 秒未到退出中斷( 50MS 中斷 6 次)MOVR2,#06H;重裝 0.3 秒定時(shí)用初值CPL02H;0.3 秒定時(shí)到對閃爍標(biāo)志取反JB02H,FLASH1;02H 位為 1 時(shí)顯示單元 熄滅 M
21、OV72H,76H;02H 位為 0 時(shí)正常顯示MOV73H,77H;MOV74H,78H;MOV75H,79H;INTT1OUT:POPPSW;恢復(fù)現(xiàn)場POPACC;RETI;中斷退出FLASH1:JB01H,FLASH2;01H 位為 1 時(shí),轉(zhuǎn)小時(shí)熄滅控制MOV72H,7AH;01H 位為 0 時(shí), 熄滅符 數(shù)據(jù)放入分MOV73H,7AH;顯示單元( 72H-73H ),將不顯示分?jǐn)?shù)據(jù)MOV74H,78H;MOV75H,79H;AJMPINTT1OUT;轉(zhuǎn)中斷退出FLASH2:MOV72H,76H;01H 位為 1 時(shí), 熄滅符 數(shù)據(jù)放入小時(shí)MOV73H,77H; 顯示單元( 74H-7
22、5H ),小時(shí)數(shù)據(jù)將不顯示MOV74H,7AH;MOV75H,7AH;AJMPINTT1OUT;轉(zhuǎn)中斷退出;加1子程序;ADD1: MOV;取當(dāng)前計(jì)時(shí)單元數(shù)據(jù)到ADECR0;指向前一地址SWAPA;A 中數(shù)據(jù)高四位與低四位交換ORL;前一地址中數(shù)據(jù)放入A 中低四位ADDA,#01H;A 加1操作DAA;十進(jìn)制調(diào)整MOVR3,A;移入 R3 寄存器ANLA,#0FH;高四位變 0MOVR0,A;放回前一地址單元MOVA,R3;取回 R3 中暫存數(shù)據(jù)INCR0;指向當(dāng)前地址單元SWAPA;A 中數(shù)據(jù)高四位與低四位交換ANLA,#0FH;高四位變 0MOVR0,A;數(shù)據(jù)放入當(dāng)削地址單元中RET; 子
23、程序返回;清零程序;對計(jì)時(shí)單元復(fù)零用CLR0: CLRA;清累加器MOVR0,A;清當(dāng)前地址單元DECR0;指向前一地址MOVR0,A;前一地址單元清 0RET;子程序返回;時(shí)鐘調(diào)整程序;當(dāng)調(diào)時(shí)按鍵按下時(shí)進(jìn)入此程序SETMM:cLRET0;關(guān)定時(shí)器 T0 中斷CLRTR0;關(guān)閉定時(shí)器 T0LCALLDL1S; 調(diào)用 1 秒延時(shí)程序JBP3.7,CLOSEDIS; 鍵按下時(shí)間小于 1 秒,關(guān)閉顯示(省電)MOVR2,#06H;進(jìn)入調(diào)時(shí)狀態(tài),賦閃爍定時(shí)初值SETBET1;允許 T1 中斷SETBTR1; 開啟定時(shí)器 T1SET2:JNBP3.7,SET1;P3.7 口為 0(鍵未釋放) ,等待SE
24、TB00H;鍵釋放,分調(diào)整閃爍標(biāo)志置1SET4:JBP3.7,SET3;等待鍵按下LCALLDL05S; 有鍵按下,延時(shí) 0.5 秒JNBP3.7,SETHH;按下時(shí)間大于0.5 秒轉(zhuǎn)調(diào)小時(shí)狀態(tài)MOVR0,#77H;按下時(shí)間小于0.5 秒加 1 分鐘操作LCALLADD1;調(diào)用加 1 子程序MOVA,R3;取調(diào)整單元數(shù)據(jù)CLRC;清進(jìn)位標(biāo)志CJNEA,#60H,HHH;調(diào)整單元數(shù)據(jù)與60 比較HHH: JCSET4;調(diào)整單元數(shù)據(jù)小于60 轉(zhuǎn) SET4 循環(huán)LCALLCLR0;調(diào)整單元數(shù)據(jù)大于或等于60時(shí)清 0CLRC;清進(jìn)位標(biāo)志AJMPSET4;跳轉(zhuǎn)到 SET4 循環(huán)CLOSEDIS:SETB
25、ET0;省電( LED 不顯示)狀態(tài)。開 T0 中斷SETBTR0; 開啟 T0 定時(shí)器(開時(shí)鐘)CLOSE:JBP3.7,CLOSE;無按鍵按下,等待。LCALLDISPLAY;有鍵按下,調(diào)顯示子程序延時(shí)削抖JBP3.7,CLOSE;是干擾返回 CLOSE等待WAITH:JNBP3.7,WAITH; 等待鍵釋放LJMPSTART1;返回主程序( LED數(shù)據(jù)顯示亮)SETHH:CLR00H;分閃爍標(biāo)志清除(進(jìn)入調(diào)小時(shí)狀態(tài))SETHH1:JNBP3.7,SET5; 等待鍵釋放SETB01H;小時(shí)調(diào)整標(biāo)志置1SET6:JBP3.7,SET7;等待按鍵按下LCALLDL05S; 有鍵按下延時(shí)0.5
26、秒JNBP3.7,SETOUT;按下時(shí)間大于0.5 秒退出時(shí)間調(diào)整MOVR0,#79H;按下時(shí)間小于 0.5 秒加 1 小時(shí)操作LCALLADD1;調(diào)加 1 子程序MOVA,R3;CLRC;CJNEA,#24H,HOUU;計(jì)時(shí)單元數(shù)據(jù)與 24 比較HOUU: JCSET6;小于 24 轉(zhuǎn) SET6 循環(huán)LCALLCLR0;大于或等于24時(shí)清 0操作AJMPSET6;跳轉(zhuǎn)到 SET6 循環(huán)SETOUT: JNBP3.7,SETOUT1;調(diào)時(shí)退出程序。等待鍵釋放LCALLDISPLAY;延時(shí)削抖JNBP3.7,SETOUT;是抖動(dòng),返回 SETOUT 再等待CLR01H; 清調(diào)小時(shí)標(biāo)志CLR00H
27、; 清調(diào)分標(biāo)志CLR02H; 清閃爍標(biāo)志CLRTR1;關(guān)閉定時(shí)器 T1CLRET1;關(guān)定時(shí)器 T1 中斷SETBTR0;開啟定時(shí)器 T0SETBET0;開定時(shí)器 T0 中斷(計(jì)時(shí)開始)LJMPSTART1;跳回主程序SET1:LCALLDISPLAY;鍵釋放等待時(shí)調(diào)用顯示程序(調(diào)分)AJMPSET2;防止鍵按下時(shí)無時(shí)鐘顯示SET3:LCALLDISPLAY;等待調(diào)分按鍵時(shí)時(shí)鐘顯示用AJMPSET4SET5:LCALLDISPLAY;鍵釋放等待時(shí)調(diào)用顯示程序(調(diào)小時(shí))AJMPSETHH1; 防止鍵按下時(shí)無時(shí)鐘顯示SET7:LCALLDISPLAY;等待調(diào)小時(shí)按鍵時(shí)時(shí)鐘顯示用AJMPSET6SET
28、OUT1:LCALLDISPLAY;退出時(shí)鐘調(diào)整時(shí)鍵釋放等待AJMPSETOUT; 防止鍵按下時(shí)無時(shí)鐘顯示;顯示程序; 顯示數(shù)據(jù)在70H-75H 單元內(nèi),用六位LED 共陽數(shù)碼管顯示,P0 口輸出段碼數(shù)據(jù),P3 口作; 掃描控制,每個(gè) LED 數(shù)碼管亮 1MS 時(shí)間再逐位循環(huán)。DISPLAY: MOVR1,#70H;指向顯示數(shù)據(jù)首址MOVR5,#0FEH;掃描控制字初值PLAY: MOVA,R5;掃描字放入 AMOVP2,A;從 P2口輸出MOV;取顯示數(shù)據(jù)到AMOVDPTR,#TAB;取段碼表地址MOVC+DPTR;查顯示數(shù)據(jù)對應(yīng)段碼MOVP1,A;段碼放入 P0 口LCALLDL1MS;顯
29、示 1MSINCR1;指向下一地址MOVA,R5; 掃描控制字放入AJNBACC.5,ENDOUT;ACC.5=0 時(shí)一次顯示結(jié)束RLA;A 中數(shù)據(jù)循環(huán)左移MOVR5,A;放回 R5 內(nèi)AJMPPLAY;跳回 PLAY 循環(huán)ENDOUT: SETBP2.5;一次顯示結(jié)束,P2 口復(fù)位MOVP1,#0FFH;P0 口復(fù)位RET; 子程序返回TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;1MS 延時(shí)程序, LED 顯示程序用DL1MS: MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RET;20MS
30、延時(shí)程序,采用調(diào)用顯示子程序以改善LEDDS20MS: ACALLDISPLAYACALLDISPLAYACALLDISPLAY的顯示閃爍現(xiàn)象RET;延時(shí)程序,用作按鍵時(shí)間的長短判斷DL1S:LCALLLCALLDL05SDL05SRETDL05S:DL05S1:MOVLCALLDJNZR3,#20HDISPLAYR3,DL05S1;8毫秒 *32=0.196秒RETEND;程序結(jié)束第六章總結(jié)6.1 物品清單與元件特性表 6-1 物品清單:元件名稱規(guī)格型號單位數(shù)量瓷片電容104只1瓷片電容30P只2電解電容47UF16V只1電解電容10UF16V只2電阻10k只1電阻4.7k只6芯片AT89S51片1芯片座DIP40只1無源晶振12M只17 段數(shù)碼管0.5 寸共陰只6三極管9012個(gè)6二極管1N4148只1按鍵無自鎖只2單排插針條1雙排插針條1電池盒個(gè)1電路板9.55*5.664CM21表 6-2 AT89S51 功能特性:兼容 MCS-51 指令系統(tǒng)4k 可反復(fù)擦寫 (1000 次) ISP Flash ROM32 個(gè)可編程 IO 口4.0-5.5V 工作電壓范圍2個(gè) 1
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)性化私人合作協(xié)議模板2024版B版
- 2025年度個(gè)人與個(gè)人草原保護(hù)管理服務(wù)合同范本3篇
- 2025年字畫裝裱作品定制與售后服務(wù)合同3篇
- 2025年度美甲行業(yè)品牌形象設(shè)計(jì)與承包合同
- 2025年精裝房裝修材料運(yùn)輸與儲(chǔ)存合同3篇
- 2025年度生態(tài)環(huán)保技術(shù)引進(jìn)承包合同規(guī)范范本4篇
- 2025版文化創(chuàng)意設(shè)計(jì)師專屬聘用協(xié)議3篇
- 二零二五年度城市公園委托運(yùn)營管理綜合服務(wù)合同4篇
- 二零二五年度農(nóng)業(yè)科技企業(yè)總經(jīng)理聘請及農(nóng)業(yè)現(xiàn)代化合同4篇
- 二零二五年度土地買賣居間代理服務(wù)合同規(guī)范-@-1
- 《社會(huì)工作實(shí)務(wù)》全冊配套完整課件3
- 單位違反會(huì)風(fēng)會(huì)書檢討書
- 2024年4月自考00832英語詞匯學(xué)試題
- 《電力用直流電源系統(tǒng)蓄電池組遠(yuǎn)程充放電技術(shù)規(guī)范》
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運(yùn)維服務(wù)信息化運(yùn)維方案
- 汽車修理廠員工守則
- 公安交通管理行政處罰決定書式樣
- 10.《運(yùn)動(dòng)技能學(xué)習(xí)與控制》李強(qiáng)
- 冀教版數(shù)學(xué)七年級下冊綜合訓(xùn)練100題含答案
- 1神經(jīng)外科分級護(hù)理制度
評論
0/150
提交評論