|
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
8279顯示電子鐘實驗 |
作者:scb521 欄目:單片機 |
利用8279鍵盤顯示接口電路,做成一個電子鐘。該鐘使用T1作50ms的定時中斷。 |
2樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:44:29 發(fā)布:
五.實驗程序框圖 |
3樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:46:01 發(fā)布:
「該帖子被 scb521 在 2006-10-27 20:47:48 編輯過」 |
4樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:46:58 發(fā)布:
|
5樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:48:20 發(fā)布:
Z8279 EQU 08701H ;8279 狀態(tài)/命令口地址 ORG 0000H |
6樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:48:51 發(fā)布:
WAIT: CJNE R6,#0FFH,WAIT LCALL DISPLAY MOV R6,#0 SJMP WAIT
|
7樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:49:46 發(fā)布:
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 |
8樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:50:40 發(fā)布:
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 |
9樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:52:01 發(fā)布:
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 ;中斷返回 |
10樓: | >>參與討論 |
作者: scb521 于 2006/10/27 20:52:49 發(fā)布:
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' |
11樓: | >>參與討論 |
作者: ynkmsj 于 2006/10/27 21:20:53 發(fā)布:
樓主辛苦了!但是,不得不說,這樣的東西已經(jīng)嚴重過時了!8279可以顯示8位數(shù)碼管顯示和64鍵盤掃描,就算“利用8279可實現(xiàn)對鍵盤/顯示器的自動掃描,以減輕CPU負擔,其有顯示穩(wěn)定、程序簡單、不會出現(xiàn)誤動作等特點”盡管如此,51單片機一旦使用8279,必然帶來一些致命的弱點:占用I/O口太多、電路復雜、單面板無法實現(xiàn)、成本增加,至少8279的價格比單片機還貴幾倍,單片機最重要的資源是I/O口,用一個少一個,不夠用了只好擴展I/O口。如果是為了學習單片機了解一下8279的應用是可以的,在設計產(chǎn)品就很不可取,最主要的原因是成本高了。我用8個CD4094就可以驅動8位數(shù)碼管,再來一個CD4014就可以實現(xiàn)64鍵盤掃描,價格比8279便宜一半,占用I/O口最多6個,單面板很容易實現(xiàn),雖然程序復雜些,但是,對整個編程影響不大。 |
|
|
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號 |