色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 8279顯示電子鐘的設計與程序源代碼

          8279顯示電子鐘的設計與程序源代碼

          作者: 時間:2010-02-01 來源:網(wǎng)絡 收藏

          可以看看時鐘是怎么樣的。

          本文引用地址:http://cafeforensic.com/article/173455.htm

          MCS51單片機匯編

          Z8279 EQU 08701H ;8279 狀態(tài)/命令口地址

          D8279 EQU 08700H ;8279 數(shù)據(jù)口地址

          LEDMOD EQU 00H;左邊輸入 八位字符

          ;外部譯碼鍵掃描方式,雙鍵互鎖

          LEDFEQ EQU 2FH;掃描速率

          LEDCLS EQU 0C1H ;清除 RAM

          LEDWR0 EQU 80H;設定的將要寫入的RAM地址

          ORG 0000H

          AJMP START

          ORG 001BH ;INT T1 入口地址

          AJMP INT_T1

          ORG 0040H

          START:

          MOV SP,#60H

          LCALL INIT8279;初始化8279

          MOV R3,#0H ;

          MOV R2,#0H ;

          MOV R1,#0H ;

          MOV R6,#0H ;標志

          MOV TMOD,#10H

          MOV TL1,#00H ;50 MS 的時間常數(shù)

          MOV TH1,#04CH

          MOV R0,#20

          SETB TR1

          SETB ET1

          SETB EA ;允許中斷

          WAIT: CJNE R6,#0FFH,WAIT

          LCALL DISPLAY

          MOV R6,#0

          SJMP WAIT

          INIT8279:

          ;8279初始化子

          PUSH DPH ;保存現(xiàn)場

          PUSH DPL

          PUSH ACC

          LCALL DELAY ;延時

          MOV DPTR ,#Z8279

          MOV A,#LEDMOD ;置8279工作方式

          MOVX @DPTR,A

          MOV A,#LEDFEQ ;置鍵盤掃描速率

          MOVX @DPTR,A

          MOV A,#LEDCLS ;清除 LED 顯示

          MOVX @DPTR,A

          LCALL DELAY ;延時

          POP ACC ;恢復現(xiàn)場

          POP DPL

          POP DPH

          RET

          ;顯示字符子程序

          ;輸入R4,位置 R5,值

          DISLED: PUSH DPH ;保存現(xiàn)場

          PUSH DPL

          PUSH ACC

          MOV A,#LEDWR0 ;置顯示起始地址

          ADD A,R4 ;加位置偏移量

          MOV DPTR,#Z8279

          MOVX @DPTR,A ;設定顯示位置

          MOV DPTR,#LEDSEG ;置顯示常數(shù)表起始位置

          MOV A,R5

          MOVC A,@A+DPTR;查表

          MOV DPTR,#D8279

          MOVX @DPTR,A ;顯示數(shù)據(jù)

          POP ACC ;恢復現(xiàn)場

          POP DPL

          POP DPH

          RET

          DELAY: ;延時子程序

          PUSH 0 ;保存現(xiàn)場

          PUSH 1

          MOV 0,#0H

          DELAY1: MOV 1,#0H

          DJNZ 1,$

          DJNZ 0,DELAY1

          POP 1 ;恢復現(xiàn)場

          POP 0

          RET

          INT_T1: ;INT_T1中斷服務子程序

          PUSH DPH ;保護現(xiàn)場

          PUSH DPL

          PUSH ACC

          PUSH PSW

          CLR TR1

          MOV TL1,#00H ;50MS 定時常數(shù)

          MOV TH1,#4CH

          SETB TR1

          DJNZ R0,EXIT ;判斷毫秒=0

          MOV R0,#20 ;DELAY 1 SECOND

          MOV R6,#0FFH ;置秒標志

          CJNE R1,#59H,SECOND ;判斷秒=59

          MOV R1,#99H

          CJNE R2,#59H,MINUTE ;判斷分=59

          MOV R2,#99H

          CJNE R3,#23H,HOUR ;判斷時=23

          MOV R3,#99H

          HOUR:

          MOV A,R3

          ADD A,#1 ;時加1

          DA A

          MOV R3,A

          MINUTE:

          MOV A,R2

          ADD A,#1 ;分加1

          DA A

          MOV R2,A

          SECOND:

          MOV A,R1

          ADD A,#1 ;秒加1

          DA A

          MOV R1,A

          EXIT:

          POP PSW ;恢復現(xiàn)場

          POP ACC

          POP DPL

          POP DPH

          RETI ;中斷返回

          DISPLAY:

          MOV A,R3

          ANL A,#0FH

          MOV R5,A

          MOV R4,#6

          LCALL DISLED ;顯示小時低位

          MOV A,R3

          SWAP A

          ANL A,#0FH

          MOV R5,A

          MOV R4,#7

          LCALL DISLED ;顯示小時高位

          MOV A,R2

          ANL A,#0FH

          MOV R5,A

          MOV R4,#3

          LCALL DISLED ;顯示分鐘低位

          MOV A,R2

          SWAP A

          ANL A,#0FH

          MOV R5,A

          MOV R4,#4

          LCALL DISLED ;顯示分鐘高位

          MOV A,R1

          ANL A,#0FH

          MOV R5,A

          MOV R4,#0

          LCALL DISLED ;顯示秒低位

          MOV A,R1

          SWAP A

          ANL A,#0FH

          MOV R5,A

          MOV R4,#1

          LCALL DISLED ;顯示秒高位

          RET

          LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'

          DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'

          DB 6DH,02H,08H,00H,59H,0FH,76H;'U,-,_, ,I,O,P, '

          END



          評論


          相關推薦

          技術專區(qū)

          關閉