版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> ?。薄‰娮訒r鐘</b></p><p> 1.1 電子時鐘簡介 </p><p> 1957年,Ventura發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎,電子時鐘開始迅速發(fā)展起來?,F(xiàn)代的電子時鐘是基于單片機的一種計時工具,采用延時程序產生一定的時間中
2、斷,用于一秒的定義,通過計數(shù)方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能,是人民日常生活補課缺少的工具。</p><p> 1.2電子時鐘的基本特點</p><p> 現(xiàn)在高精度的計時工具大多婁都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英,因此走時精度高,穩(wěn)定性好,使用方便,不需要經常調試,數(shù)字式電子鐘用集成電路計時時,譯碼代替
3、機械式傳動,用LED顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的核對,片選的靈活性好。</p><p> 1.3 電子時鐘的原理 </p><p> 該電子時鐘由89C2051,BUTTON,六段數(shù)碼管等構成,采用晶振電路作為驅動電路,由延時程序和循環(huán)程序產生的一秒定時,
4、達到時分秒的計時,六十秒為一分鐘,六十分鐘為一小時,滿二十四小時為一天。而電路中唯一的一個控制鍵卻擁有多種不同的功能,按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調節(jié),同樣每按一次小時加一。</p><p> 2 單片機 </p&g
5、t;<p> 2.1 單片機簡介 </p><p> 單片機全稱為單片機微型計算機(Single Chip Microsoftcomputer)。從應用領域來看,單片機主要用來控制,所以又稱為微控制器(Microcontroller Unit)或嵌入式控制器。單片機是將計算機的基本部件微型化并集成在一塊芯片上的微型計算機。</p><p> 2.2 單片機
6、的發(fā)展史</p><p> 1 . 4位單片機 </p><p> 1975年,美國德克薩斯儀器公司首次推出4位單片機TMS-1000;此后,各個計算機公司競相推出四位單片機。日本松下公司的MN1400系列,美國洛克威爾公司的PPS/1系列等。四位單片機的主要應用領域有:
7、PC機的輸入裝置,電池充電器,運動器材,帶液晶顯示的音/視頻產品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計算器,多功能電話等。 </p><p> 2 . 8位單片機 </p&
8、gt;<p> 1972年,美國Intel公司首先推出8位微處理器8008,并于1976年9月率先推出MCS-48系列單片機。在這以后,8位單片機紛紛面市。例如,莫斯特克和仙童公司合作生產的3870系列,摩托羅拉公司生產的6801系列等。隨著集成電路工藝水平的提高,一些高性能的8位單片機相繼問世。例如,1978年摩托羅拉公司的MC6801系列及齊洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。這類單片機的尋
9、址能力達64KB,片內ROM容量達4--8KB,片內除帶有并行I\O口外,還有串行I\O口,甚至還有A\D轉化器功能。8位單片機由于功能強,被廣泛用于自動化裝置、智能儀器儀表、智能接口、過程控制、通信、家用電器等各個領域。</p><p> 3 . 16位單片機
10、 </p><p> 1983年以后,集成電路的集成度可達幾十萬只管/片,各系列16位單片機紛紛面市。這一階段的代表產品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美國國家半導體公司推出的HPC16040,NEC公司推出的783XX系列等。16位單片機主要用于工業(yè)控制,智能儀器儀表,便攜式設備等場合。</p><p> 4 . 32位單片機
11、 </p><p> 隨著高新技術只智能機器人,光盤驅動器,激光打印機,圖像與數(shù)據(jù)實時處理,復雜實時控制,網絡服務器等領域的應用與發(fā)展,20世紀80年代末推出了32位單片機,如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年來流行的ARM系列單片
12、機。32位單片機是單片機的發(fā)展趨勢,隨著技術的發(fā)展及開發(fā)成本和產品價格的下降,將會與8位單片機并駕齊驅。</p><p> 5 . 64位單片機 </p><p> 近年來,64位單片機在引擎控制,智能機器人,磁盤控制,語音圖像通信,算法密集的實時控制場合已有應
13、用,如英國Inmos公司的Transputer T800是高性能的64位單片機。</p><p> 2.3 單片機的特點 </p><p> 1 . 單片機的存儲器ROM和RAM時嚴格區(qū)分的。ROM稱為程序存儲器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用戶數(shù)據(jù)。
14、 </p><p> 2 . 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機有更強的邏輯控制能力,特別是單片機具有很強的位處理能力。 3 . 單片機的I/O口通常時多功能的。由于單片機芯片上引腳數(shù)目有限,為了解決實際引腳數(shù)和需要的信號線的矛盾,采用了引腳功能復用的方法,引腳處于何種功能,可
15、由指令來設置或由機器狀態(tài)來區(qū)分。 </p><p> 4 . 單片機的外部擴展能力很強。在內部的各種功能部件不能滿足應用的需求時,均可在外部進行擴展,與許多通用的微機接口芯片兼容,給應用系統(tǒng)設計帶來了很大的方便。</p><p> 2.4 89C2051單片機介紹
16、 </p><p> 89C2051是由ATMEL公司推出的一種小型單片機。95年出現(xiàn)在中國市場。其主要特點為采用FLASH存貯技術,降低了制造成本,其軟件、硬件與MCS-51完全兼容,可以很快被中國廣大用戶接受,其程序的電可擦寫特性,使得開發(fā)與試驗比較容易?! ?lt;/p><p> 2.4.1
17、 構成:</p><p> 89C2051共有20條引腳,詳見下圖。從圖中可見,2051繼承了8031最重要引腳:</p><p> 1.引腳:P1口共8腳,準雙向端口,P3共7腳,也是準雙向端口,并且保留了全部的P3的第二功能,如P3.0、P3.1的串行通訊功能,P3.2、P3.3的中斷輸入功能,P3.4、P3.5的定時器功能。在引腳的驅動能力上面,89C2051具有很強的下拉能力,
18、P1、P3口的下拉能力均可達到20mA,相比之下,89C51/87C51的端口的下拉能力每腳最大為15mA。但是限定9腳電流之和小于71mA。這樣,引腳的平均電流只有9mA。89C2051驅動能力的增強,使得它可以直接驅動LED數(shù)碼管。為了增加對模擬量的輸入功能,2051在其內部構造了一個模擬信號比較器,其輸入端辦連到P1.0和P1.1口比較結果存入P3.6對應寄存器,(P3.6在2051外部無引腳)。對于一些不大復雜的控制電路我們就可
19、以增加少量元件來實現(xiàn),例如,對溫度的控制,過壓的控制等。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> 2.電源:89C2051有很寬的工作電源電壓,可為2.7到6V,當工作在3V時,電流相當于6V工作時的1/4。89C2051工作于12Hz時,動態(tài)電流為5.5mA,空閑時為1mA,掉電態(tài)僅為20nA。這樣小的功耗很適合于電池供電的小型控制系統(tǒng)。</p&g
20、t;<p> 3.存儲器:89C2051片內含有2k字節(jié)的Flash程序存儲器,128字節(jié)的片內RAM,與80C31內部完全類似。由于2051內部設計全靜態(tài)工作,所以允許工作的時鐘為0--20MHz,也就是說,允許在低速工作時,不破壞RAM內容。相比之下,一般8031對最低工作時鐘限制為3.5MHz,因為其內部的RAM是動態(tài)刷新的。89C2051不允許構造外部總線來擴充程序/數(shù)據(jù)存儲器,所以它也不需要ALEPSEN、RD
21、、WR一類的引腳。</p><p> 4.內部I/O控制:89C2051在內部I/O控制上繼承了MCS51的特性:5路2級優(yōu)待中斷,串等口,2路定時器/計數(shù)器?! ?lt;/p><p> 2.4.2 實物:</p><p> 89C2051實物圖</p><p> AT89C2051是美國ATM
22、EL公司生產的低電壓、高性能CMOS 8位單片機,片內含2k bytes的可反復擦寫的只讀程序存儲器(PEROM)和128bytes的隨機數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器和Flash存儲單元,功能強大AT89C2051單片機可為您提供許多高性價比的應用場合。</p><p><b> 程序保密</b
23、></p><p> 89C2051設計有2個程序保密位,保密位1被編程之后,程序存儲器不能再被編程除非做一次擦除,保密位2被編程之后,程序不能被讀出。</p><p><b> 軟硬件的開發(fā)</b></p><p> 89C2051可以采用下面2種方法開發(fā)應用系統(tǒng)。</p><p> (1) 由于89C2
24、051內部程序存貯器為Flash,所以修改它內部的程序十分方便快捷,只要配備一個可以編程89C2051的編程器即可。調試人員可以采用程序編輯-編譯-固化-插到電路板中試驗這樣反復循環(huán)的方法,對于熟練的MCS-51程序員來說,這種調試方法并不十分困難。當做這種調試不能夠了解片內RAM的內容和程序的走向等有關信息。</p><p> (2) 將普通8031/80C31仿真器的仿真插頭中P1.0~P1.7和P3.0~
25、P3.6引出來仿真2051,這種方法可以運用單步、斷點的調試方法,但是仿真不夠真實,比如,2051的內部模擬比較器功能,P1口、P3口的增強下拉能力等等。</p><p> 2.4.3 主要性能:</p><p> 和MCS-51產品兼容;</p><p> 2KB可重編程FLASH存儲器(1000次);</p><p> 2.7-
26、6V電壓范圍;</p><p> 全靜態(tài)工作:0Hz-24KHz</p><p> 2級程序存儲器保密鎖定</p><p> 128*8位內部RAM</p><p> 15條可編程I/O線</p><p> 兩個16位定時器/計數(shù)器</p><p><b> 6個中斷源&l
27、t;/b></p><p><b> 可編程串行通道</b></p><p> 高精度電壓比較器(P1.0,P1.1,P3.6)</p><p> 直接驅動LED的輸出端口</p><p> 3 控制系統(tǒng)的硬件設計</p><p> 3.1 單片機型號的選擇
28、 </p><p> 通過對多種單片機性能的分析,最終認為89C2051是最理想的電子時鐘開發(fā)芯片。</p><p> 采用ATMEL的AT89C2051的微處理器是基于以下因素:</p><p> 89C2051為51內核,仿真調試軟硬件資源豐富;<
29、;/p><p> 性價比高,貨源充足;</p><p> DIP20封裝,體積小,便于產品小型化;</p><p> 為EEPROM程序存儲介質,1000次以上擦/寫周期,便于編程調試;</p><p> 具有IDLE和POWER-DOWN兩種工作模式,便于進行低功耗設計;</p><p> 工作電壓范圍寬:2.
30、7--6V。便于交直流供電。</p><p> 3.2 數(shù)碼管顯示工作原理</p><p> 數(shù)碼管是一種把多個LED顯示段集成在一起的顯示設備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個LED顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個LED顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負極,又稱為負極。通常的數(shù)碼管又分為
31、8段,即8個LED顯示段,這是為工程應用方便如設計的,分別為A、B、C、D、E、F、G、DP,其中DP 是小數(shù)點位段。而多位數(shù)碼管,除某一位的公共端會連接在一起,不同位的數(shù)碼管的相同端也會連接在一起。即,所有的A段都會連在一起,其它的段也是如此,這是實際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的8段輸入及其公共端電平一直有效。動態(tài)顯示的原理是,各個數(shù)碼管的相同段連接在一起,共同占用8 位段引管線;每位
32、數(shù)碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個數(shù)碼管公共端加有效信號,在此同時給出該數(shù)碼管加有效的數(shù)據(jù)信號,當全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來。</p><p> 如下圖所示即為數(shù)碼管圖:</p><p> 3.3 鍵盤電路設計 </p>
33、<p> 該設計只用了一個鍵盤,但實現(xiàn)的功能卻是比較完善,減少了硬件資源的損耗,該鍵盤可以實現(xiàn)小時和分鐘的調節(jié)以及控制是否進入省電模式。當按鍵按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調節(jié),同樣每按一次小時加一。達到時間調節(jié)的目的。</p><p> 3.4 整個電路原理圖 &l
34、t;/p><p> 4 控制系統(tǒng)的軟件設計 </p><p> 4.1 程序設計 </p><p> 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、時間調整程序、延時程序四大模塊。在程序
35、設計過程中,加強了部分軟件抗干擾措施,下面對主程序及顯示程序作一下簡單介紹:</p><p><b> 主程序:</b></p><p> START: MOV R0,#70H ;清70H---7AH共11個內存單元</p><p> MOV R7,#0BH </p><p>
36、 CLEARDISP: MOV @R0,#00H </p><p> INC R0 </p><p> DJNZ R7,CLEARDISP </p><p> MOV 20H,#00H ;清20H(標志用)</p><p> MOV
37、 7AH,#0AH ;放入"熄滅符"數(shù)據(jù)</p><p> MOV TMOD,#11H ;設定T0,T1為16位定時器</p><p> MOV TL0,#0B0H ;以下為T0,T1的定時初值</p><p> MOV TH0,#3CH</p><p>
38、 MOV TL1,#0B0H</p><p> MOV TH1,#3CH</p><p> SETB EA ;以下為開中斷并啟動T0</p><p><b> SETB ET0</b></p><p><b> SETB TR0</b></p&
39、gt;<p> MOV R4,#14H ;1秒定時用初值50乘20</p><p> START1: LCALL DISPLAY ;調用顯示子程序</p><p> JNB P3.7,SETMM1 ;P3.7為0時轉時間調整程序</p><p> SJMP START1
40、 ;P3.7為1時轉START1</p><p> SETMM1: LJMP SETMM ;轉時間調整程序SETMM</p><p><b> 顯示子程序:</b></p><p> 顯示數(shù)據(jù)在70H--75H單元內,用六位LED共陽數(shù)碼管顯示,P1口輸出段碼數(shù)據(jù),P3口作掃描控制,每個LED數(shù)
41、碼管亮1ms時間再逐位循環(huán)。</p><p> DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址</p><p> MOV R5,#0FEH ;掃描控制字初值</p><p> PLAY: MOV A,R5 ;掃描字給A</p><p>
42、 MOV P3,A ;從P3口輸出</p><p> MOV A,@R1 ;取顯示數(shù)據(jù)到A</p><p> MOV DPTR,#TAB ;取段碼表地址</p><p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對應段碼</p><p> MOV
43、P1,A ;段碼放入P1口</p><p> LCALL DL1MS ;顯示1ms</p><p> INC R1 ;指向下一地址</p><p> MOV A,R5 ;</p><p> JNB ACC.5,ENDOUT
44、 ;ACC.5=0時一次顯示結束</p><p> RL A ;A中數(shù)據(jù)循環(huán)左移</p><p> MOV R5,A ;放入R5內</p><p> AJMP PLAY ;跳回PLAY循環(huán)</p><p> ENDOUT: SETB
45、 P3.5 ;一次顯示結束,P3口復位</p><p> MOV P1,#0FFH ;P1口復位</p><p><b> RET</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH</p>
46、<p> 4.2 程序流程圖</p><p> 系統(tǒng)的流程圖如圖4.1和圖4.2所示:</p><p><b> 主程序流程圖:</b></p><p> 是 否 </p><p>
47、 ;時間調整 程序流程圖;</p><p><b> ?。捣抡娼Y果</b></p><p><b> 5.1 仿真圖</b></p><p> 圖4.3 開始運行程序仿真圖</p><p> 圖4.4 運行一段時間后仿真圖</p><p> 5.2 仿真結果分
48、析</p><p> 功能太過單調,只能實現(xiàn)時、分、秒的顯示,設計比較簡單。電路圖的設計過于單調,用的器件太少,實現(xiàn)調節(jié)時間的按鈕太少,不能很好的實現(xiàn)時間的調節(jié)。在測試過程中,六位數(shù)碼顯示管只顯示五位數(shù)字,有一位數(shù)字不亮,通過多次的修改程序并在PROTEUS軟件環(huán)境中進行仿真,最終解決了這個問題,同時也透露出本人在單片機電路設計和程序設計方面的不足。不過最后的仿真效果非常好,實現(xiàn)了預期的效果,能過通過多功能控制
49、鍵調節(jié)時間和是否進入省電模式,是一個比較令人滿意的設計。</p><p><b> 6 結束語</b></p><p> 在xx老師耐心的指導下,我順利完成了這次單片機課程設計課題中的電子時鐘設計,通過這次的設計使我認識到本人對單片機方面的知識知道的太少了,對于書本上的很多知識還不能靈活運用,尤其是對程序設計語句的理解和運用,不能夠充分理解每個語句的具體含義,導
50、致編程的程序過于復雜,使得需要的存儲空間增大。損耗了過多的內存資源。</p><p> 本次的設計使我從中學到了一些很重要的東西,感謝余老師對我的細心的指導。相信這對我以后的課程設計和畢業(yè)設計將會有很大的幫助!</p><p><b> 參考文獻</b></p><p> [1] 謝自美.電子線路設計·實驗·測試[M]
51、.武漢:華中理工大學出版社,1992.</p><p> [2] 何立民.單片機應用系統(tǒng)設計[M].北京:北京航空航天大學出版社,1993.</p><p> [3] 樓然笛.單片機開發(fā)[M].北京:人民郵電出版社,1994.[4] 付家才.單片機控制工程實踐技術[M].北京:化學工業(yè)出版社 2004.3.[5] 李光才.單片機課程設計 實例指導[M]. 北京:北京航空航天大學出版
52、社 2004.</p><p> [6] 朱定華.單片機原理及接口技術實驗[M].北京:北方交通大學出版社2002.11.</p><p> [7] 劉湘濤.江世明.單片機原理與應用[M]. 北京:電子工業(yè)出版社,2006.</p><p><b> 附錄</b></p><p> 程序源代碼:
53、 </p><p><b> ORG 0000H</b></p><p> LJMP START</p><p><b> ORG 0003H</b></p><p><b> RETI</b></p><p><
54、b> ORG 000BH</b></p><p> LJMP INTT0</p><p><b> ORG 0013H</b></p><p><b> RETI</b></p><p><b> ORG 001BH</b></p&g
55、t;<p> LJMP INTT1</p><p><b> ORG 0023H</b></p><p><b> RETI</b></p><p><b> ;主程序</b></p><p> START:MOV R0,#70H</p
56、><p> MOV R7,#0BH ;</p><p> CLEARDISP: ;</p><p> MOV @R0,#00H ;清零</p><p> INC R0 ;</p><p> DJ
57、NZ R7,CLEARDISP ;</p><p> MOV 20H,#00H ;清20H(標志用)</p><p> MOV 7AH,#0AH ;放入熄滅符數(shù)據(jù)</p><p> MOV TMOD,#11H ;T0,T1為16位定時器</p><p> MO
58、V TL0,#0B0H ;以下為T0,T1的定時初值</p><p> MOV TH0,#3CH</p><p> MOV TL1,#0B0H</p><p> MOV TH1,#3CH</p><p> SETB EA ;以下為開中斷并啟動T0</p><
59、p><b> SETB ET0</b></p><p><b> SETB TR0</b></p><p> MOV R4,#14H ;1秒定時用初值50乘20</p><p><b> START1:</b></p><p> LC
60、ALL DISPLAY</p><p> JNB P3.7,SETMM1 ;P3.7為0時轉時間調整程序</p><p> SJMP START1 ;為1時轉START1</p><p> SETMM1: LJMP SETMM ;轉時間調整程序</p><p><b> ;1
61、s計時程序</b></p><p> INTT0: PUSH ACC</p><p><b> PUSH PSW</b></p><p><b> CLR ET0</b></p><p><b> CLR TR0</b></p>&l
62、t;p> MOV A,#0B7H</p><p> ADD A,TL0</p><p> MOV TL0, A</p><p> MOV A,#3CH</p><p> ADDC A,TH0</p><p> MOV TH0,A</p><p><b>
63、SETB TR0</b></p><p> DJNZ R4,OUTT0</p><p> ADDSS: MOV R4,#14H</p><p> MOV R0,#71H</p><p> ACALL ADD1</p><p><b> MOV A,R3</b>
64、;</p><p><b> CLR C</b></p><p> CJNE A,#60H,ADDMM</p><p> ADDMM: JC OUTT0</p><p> ACALL CLR0</p><p> MOV R0,#77H</p><p&g
65、t; ACALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b></p><p> CJNE A,#60H,ADDHH</p><p> ADDHH: JC OUTT0</p><p> ACALL CLR0</p&
66、gt;<p> MOV R0,#79H</p><p> ACALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b></p><p> CJNE A,#24H,HOUR</p><p> HOUR : JC
67、 OUTT0</p><p> ACALL CLR0</p><p> OUTT0: MOV 72H,76H</p><p> MOV 73H,77H</p><p> MOV 74H,78H</p><p> MOV 75H,79H</p><p> POP
68、 PSW</p><p> POP ACC</p><p> SETB ET0</p><p><b> RETI</b></p><p><b> ;;;</b></p><p><b> ;;;;閃動調時</b></p&
69、gt;<p> INTT1: PUSH ACC</p><p><b> PUSH PSW</b></p><p> MOV TL1,#0B0H</p><p> MOV TH1,#3CH</p><p> DJNZ R2,INTT1OUT</p><p>
70、 MOV R2,#06H</p><p> CPL 02H</p><p> JB 02H,FLASH1</p><p> MOV 72H,76H</p><p> MOV 73H,77H</p><p> MOV 74H,78H</p><p> M
71、OV 75H,79H</p><p> INTT1OUT: POP PSW</p><p> POP ACC</p><p><b> RETI</b></p><p> FLASH1: JB 01H,FLASH2</p><p> MOV 72
72、H,7AH</p><p> MOV 73H,7AH</p><p> MOV 74H,78H</p><p> MOV 75H,79H</p><p> AJMP INTT1OUT</p><p> FLASH2: MOV 72H,76H</p><p&
73、gt; MOV 73H,77H</p><p> MOV 74H,7AH</p><p> MOV 75H,7AH</p><p> AJMP INTT1OUT</p><p> ;;;;;;加1程序;</p><p> ADD1: MOV A,@R0</p
74、><p><b> DEC R0</b></p><p><b> SWAP A</b></p><p> ORL A,@R0</p><p> ADD A,#01H</p><p><b> DA A</b></p
75、><p> MOV R3,A</p><p> ANL A,#0FH</p><p> MOV @R0,A</p><p> MOV A,R3</p><p><b> INC R0</b></p><p><b> SWAP A&
76、lt;/b></p><p> ANL A,#0FH</p><p> MOV @R0,A</p><p><b> RET</b></p><p><b> ;;;清零程序</b></p><p> CLR0: CLR A</p>
77、;<p> MOV @R0,A</p><p><b> DEC R0</b></p><p> MOV @R0,A</p><p><b> RET</b></p><p><b> ; 時鐘調整程序</b></p><
78、;p> SETMM: CLR ET0</p><p><b> CLR TR0</b></p><p> LCALL DL1S</p><p> JB P3.7,CLOSEDIS</p><p> MOV R2,#06H</p><p> SETB ET
79、1</p><p> SETB TR1</p><p> SET2: JNB P3.7,SET1</p><p> SETB 00H</p><p> SET4: JB P3.7,SET3</p><p> LCALL DL05S</p><p> J
80、NB P3.7,SETHH</p><p> MOV R0,#77H</p><p> LCALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b></p><p> CJNE A,#60H,HHH</p
81、><p> HHH: JC SET4</p><p> LCALL CLR0</p><p><b> CLR C</b></p><p> AJMP SET4</p><p> CLOSEDIS: SETB ET0</p><p&g
82、t;<b> SETB TR0</b></p><p> CLOSE: JB P3.7,CLOSE</p><p> LCALL DISPLAY</p><p> JB P3.7,CLOSE</p><p> WAITH: JNB P3.7,WAITH</p&g
83、t;<p> LJMP START1</p><p> SETHH: CLR 00H</p><p> SETHH1: JNB P3.7,SET5</p><p> SETB 01H</p><p> SET6: JB P3.7,SET7</p>
84、<p> LCALL DL05S</p><p> JNB P3.7,SETOUT</p><p> MOV R0,#79H</p><p> LCALL ADD1</p><p> MOV A,R3</p><p><b> CLR C</b&
85、gt;</p><p> CJNE A,#24H,HOUU</p><p> HOUU: JC SET6</p><p> LCALL CLR0</p><p> AJMP SET6</p><p> SETOUT: JNB P3.7,SETOUT1</p>&
86、lt;p> LCALL DISPLAY</p><p> JNB P3.7,SETOUT</p><p> CLR 01H</p><p> CLR 00H</p><p> CLR 02H</p><p> CLR TR1</p><
87、p> CLR ET1</p><p> SETB TR0</p><p> SETB ET0</p><p> LJMP START1</p><p> SET1: LCALL DISPLAY</p><p> AJMP SET2</p><
88、;p> SET3: LCALL DISPLAY</p><p> AJMP SET4</p><p> SET5: LCALL DISPLAY</p><p> AJMP SETHH1</p><p> SET7: LCALL DISPLAY</p><p&g
89、t; AJMP SET6</p><p> SETOUT1: LCALL DISPLAY</p><p> AJMP SETOUT</p><p><b> ; 顯示程序</b></p><p> DISPLAY: MOV R1,#70H ;指向顯示數(shù)據(jù)首址</p>
90、;<p> MOV R5,#0FEH ;掃描控制字初值</p><p> PLAY: MOV A,R5 ;掃描字給A</p><p> MOV P3,A ;從P3口輸出</p><p> MOV A,@R1 ;取顯示數(shù)據(jù)到A</p&g
91、t;<p> MOV DPTR,#TAB ;取段碼表地址</p><p> MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對應段碼</p><p> MOV P1,A ;段碼放入P1口</p><p> LCALL DL1MS ;顯示1ms</p>&
92、lt;p> INC R1 ;指向下一地址</p><p> MOV A,R5 ;</p><p> JNB ACC.5,ENDOUT ;ACC.5=0時一次顯示結束</p><p> RL A ;A中數(shù)據(jù)循環(huán)左移</p><p
93、> MOV R5,A ;放入R5內</p><p> AJMP PLAY ;跳回PLAY循環(huán)</p><p> ENDOUT: SETB P3.5 ;一次顯示結束,P3口復位</p><p> MOV P1,#0FFH ;P1口復位</p>
94、<p><b> RET</b></p><p> TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH</p><p><b> ;延時程序</b></p><p> DL1MS: MOV R6,#14H</p>&l
95、t;p> DL1: MOV R7,#19H</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET</b></p><p><b> ;20MS</b></p>&l
96、t;p> DS20MS: ACALL DISPLAY</p><p> ACALL DISPLAY</p><p> ACALL DISPLAY</p><p><b> RET</b></p><p><b> ;ANJIAN</b></p><
97、p> DL1S: LCALL DL05S</p><p> LCALL DL05S</p><p><b> RET</b></p><p> DL05S: MOV R3,#20H</p><p> DL05S1: LCALL DISPLAY</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機數(shù)字時鐘課程設計--單片機多功能電子鐘設計
- 基于單片機的多功能電子鐘課程設計
- 單片機課程設計--多功能數(shù)字電子鐘
- 單片機課程設計— 多功能數(shù)字電子鐘
- 單片機課程設計報告---多功能電子鐘
- 單片機課程設計--基于單片機的電子鐘的設計
- 單片機課程設計---基于51單片機的電子鐘設計
- 單片機課程設計--基于單片機的數(shù)字電子鐘
- 單片機微型機課程設計---多功能電子鐘
- 單片機課程設計報告---單片機的電子鐘設計
- 單片機c語言課程設計--基于單片機的電子鐘設計
- 電子鐘課程設計--基于單片機的電子鐘設計
- 基于單片機的電子鐘課程設計
- 單片機課程設計--- 基于51單片機的簡約電子鐘
- 電子鐘單片機課程設計
- 單片機課程設計--電子鐘
- 單片機課程設計(電子鐘)
- 基于51單片機的多功能電子鐘設計
- 基于單片機的電子鐘課程設計
- 單片機課程設計---電子鐘的設計
評論
0/150
提交評論