久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于51單片機匯編語言3按鍵數碼管時鐘程序與仿真 [打印本頁]

作者: 51mcu    時間: 2019-5-4 06:30
標題: 基于51單片機匯編語言3按鍵數碼管時鐘程序與仿真
基于51單片機匯編語言3按鍵數碼管時鐘程序與仿真,能顯示晨、分、秒,能實現設置功能。
全部資料51hei下載地址: 三按鍵8位數碼管時鐘.zip (44.08 KB, 下載次數: 65)



S_SET        BIT                P1.0                                                ;數字鐘秒控制位
M_SET        BIT                P1.1                                                ;分鐘控制位
H_SET        BIT                P1.2                                                ;小時控制位
SECOND        EQU                30H
MINUTE        EQU                31H
HOUR        EQU                32H
TCNT        EQU                34H
                ORG                00H
                SJMP        START
                ORG                0BH
                LJMP        INT_T0
START:        MOV                DPTR,#TABLE
                MOV                HOUR,#0                                                ;初始化
                MOV                MINUTE,#0
                MOV                SECOND,#0
                MOV                TCNT,#0
                MOV                TMOD,#01H
                MOV                TH0,#(65536-50000)/256                ;定時50毫秒
                MOV                TL0,#(65536-50000)MOD 256
                MOV                IE,#82H
                SETB        TR0
;****************************************************
;判斷是否有控制鍵按下,是哪一個鍵按下
A1:                LCALL        DISPLAY               
                JNB                S_SET,S1
                JNB                M_SET,S2
                JNB                H_SET,S3                                
                LJMP        A1
        S1:        LCALL        DELAY                ;去抖動
                JB                S_SET,A1
               
                INC                SECOND                ;秒值加1
                MOV                A,SECOND
                CJNE        A,#60,J0        ;判斷是否加到60秒
                MOV                SECOND,#0
                LJMP        K1
        S2:        LCALL        DELAY
                JB                M_SET,A1
               
        K1:        INC                MINUTE                ;分鐘值加1
                MOV                A,MINUTE
                CJNE        A,#60,J1        ;判斷是否加到60分
                MOV                MINUTE,#0
                LJMP        K2
        S3:        LCALL        DELAY
                JB                H_SET,A1
               
        K2:        INC                HOUR                ;小時值加1
                MOV                A,HOUR
                CJNE        A,#24,J2        ;判斷是否加到24小時
                MOV                HOUR,#0
                MOV                MINUTE,#0
                MOV                SECOND,#0
                LJMP        A1
;****************************************************
;等待按鍵抬起
J0:                JB                S_SET,A1
                LCALL        DISPLAY
                SJMP        J0
J1:                JB                M_SET,A1
                LCALL        DISPLAY
                SJMP        J1
J2:                JB                H_SET,A1
                LCALL        DISPLAY
                SJMP        J2
;***********************************************
;定時器中斷服務程序,對秒,分鐘和小時的計數
INT_T0:        MOV                TH0,#(65536-50000)/256
                MOV                TL0,#(65536-50000)MOD 256               
                INC                TCNT
                MOV                A,TCNT
                CJNE        A,#20,RETUNE        ;計時1秒
                INC                SECOND
                MOV                TCNT,#0
                MOV                A,SECOND
                CJNE        A,#60,RETUNE
                INC                MINUTE
                MOV                SECOND,#0
                MOV                A,MINUTE
                CJNE        A,#60,RETUNE
                INC                HOUR
                MOV                MINUTE,#0
                MOV                A,HOUR
                CJNE        A,#24,RETUNE
                MOV                HOUR,#0
                MOV                MINUTE,#0
                MOV                SECOND,#0
                MOV                TCNT,#0
RETUNE:        RETI
;******************************************
;顯示控制子程序
DISPLAY:MOV                A,SECOND        ;顯示秒
                MOV                B,#10
                DIV                AB
                CLR                P3.6
                MOVC        A,@A+DPTR
                MOV                P0,A
                LCALL        DELAY
                SETB        P3.6
                MOV                A,B
                CLR                P3.7
                MOVC        A,@A+DPTR
                MOV                P0,A
                LCALL        DELAY
                SETB        P3.7

                CLR                P3.5
                MOV                P0,#40H                ;顯示分隔符
                LCALL        DELAY
                SETB        P3.5

                MOV                A,MINUTE        ;顯示分鐘
                MOV                B,#10
                DIV                AB
                CLR                P3.3
                MOVC        A,@A+DPTR
                MOV                P0,A
                LCALL        DELAY
                SETB        P3.3
                MOV                A,B
                CLR                P3.4
                MOVC        A,@A+DPTR
                MOV                P0,A
                LCALL        DELAY
                SETB        P3.4

                CLR                P3.2
                MOV                P0,#40H                ;顯示分隔符
                LCALL        DELAY
                SETB        P3.2

                   MOV                A,HOUR                ;顯示小時
                MOV                B,#10
                DIV                AB
                CLR                P3.0
                MOVC        A,@A+DPTR
                MOV                P0,A
                LCALL        DELAY
                SETB        P3.0
                MOV                A,B
                CLR                P3.1
                MOVC        A,@A+DPTR
                MOV                P0,A
                LCALL        DELAY
                SETB        P3.1
                RET

TABLE:         DB                 3FH,06H,5BH,4FH,66H
                DB                6DH,7DH,07H,7FH,6FH
DELAY:        MOV                R6,#10
D1:                MOV                R7,#250
                DJNZ        R7,$
                DJNZ        R6,D1
                RET

                END







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲第一色站 | 日韩精品视频在线免费观看 | 日韩在线一区二区三区 | 国产精品国产a级 | 精品啪啪 | 国产精品中文字幕在线播放 | 在线观看中文字幕av | 在线观看视频一区 | 成人99| 自拍偷拍中文字幕 | 欧美色偷拍| 亚洲国产中文字幕 | 第四色播日韩第一页 | 最新中文字幕在线 | 久久精品国产久精国产 | 午夜精品久久 | 中文字幕日韩一区 | 91精品www | 黄色成人在线观看 | 精品一区二区三区91 | 欧美一级在线 | 999久久久 | 99r在线| 亚洲风情在线观看 | 欧美日韩一卡 | 成人av一区二区亚洲精 | 中文字幕国产精品视频 | 米奇成人网 | 日韩一区二区三区精品 | 中文字幕第二区 | 黄色一级片在线播放 | 久久国产精品免费 | av网站在线看 | 秋霞av国产精品一区 | 欧美精品日韩精品国产精品 | 久久亚洲视频 | 天天草av| 亚洲视频在线观看 | 亚洲在线一区二区 | 久久精品国产一区二区三区 | 99福利|