最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

8279顯示電子鐘實驗

作者:scb521 欄目:單片機

.實驗要求

利用8279鍵盤顯示接口電路,做成一個電子鐘。該鐘使用T1作50ms的定時中斷。

利用8279可實現(xiàn)對鍵盤/顯示器的自動掃描,以減輕CPU負擔,其有顯示穩(wěn)定、程序簡單、不會出現(xiàn)誤動作等特點。本實驗利用8279實現(xiàn)顯示掃描自動化。

8279操作命令字較多,根據(jù)需要來靈活使用,通過本實驗可初步熟悉使用方法。

電子鐘做成如下格式:
XX XX XX 由左向右分別為: 時、分、秒。

.實驗目的

1.掌握在8031系統(tǒng)中擴展8279鍵盤顯示接口的方法。

2.掌握8279工作原理和編程方法。

3.進一步掌握中斷處理程序的編程方法。

.實驗電路及連線

參看實驗十。

.實驗說明

8279通用接口芯片,根據(jù)應用需要可以在多種模式下工作,詳見有關手冊。

2樓: >>參與討論
scb521
.實驗程序框圖

3樓: >>參與討論
scb521



「該帖子被 scb521 在 2006-10-27 20:47:48 編輯過」
4樓: >>參與討論
scb521
5樓: >>參與討論
scb521

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              ;允許中斷

6樓: >>參與討論
scb521
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,值

7樓: >>參與討論
scb521
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
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
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
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

11樓: >>參與討論
ynkmsj
樓主辛苦了!但是,不得不說,這樣的東西已經(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),雖然程序復雜些,但是,對整個編程影響不大。
參與討論
昵稱:
討論內容:
 
 
相關帖子
一個純c語言試題
一篇詳細的keil c51 uv2使用教程
c51單片機的工作電壓.
pic-c,對你的編程絕對有用,呵呵,不要錯過。
數(shù)碼管驅動的問題!
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號