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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3736|回復: 0
收起左側

基于51單片機匯編語言3按鍵數碼管時鐘程序與仿真

[復制鏈接]
ID:34643 發表于 2019-5-4 06:30 | 顯示全部樓層 |閱讀模式
基于51單片機匯編語言3按鍵數碼管時鐘程序與仿真,能顯示晨、分、秒,能實現設置功能。
全部資料51hei下載地址: 三按鍵8位數碼管時鐘.zip (44.08 KB, 下載次數: 65)

基于51單片機匯編語言3按鍵數碼管時鐘程序與仿真

基于51單片機匯編語言3按鍵數碼管時鐘程序與仿真



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


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费在线观看黄 | 中文字幕中文字幕 | 在线亚洲一区 | 成人一区二区在线 | 亚洲欧美中文字幕 | xxxxx黄色 | 成人不卡视频 | 一区二区免费 | 日韩1级片 | 综合久久综合 | 高清久久久 | 成人高清免费 | 在线免费黄色 | 久久靖品| 日韩精品一区二区在线 | 三级视频在线 | 黄色av免费 | 国产综合第一页 | 美女福利视频 | 97精品久久| 一级黄色免费看 | 日本中文字幕在线观看 | 日韩视频在线观看 | 亚洲天堂久久久 | 欧美日韩国产三级 | 免费v片| 日韩成人综合 | 黄色a一级片 | 精品久久久久久久久久久久久 | 日韩视频一区二区 | 一区二区三区四区视频 | 国产精品视频免费在线观看 | 能看毛片的网站 | 欧美午夜精品一区二区三区 | 免费成人黄色 | 日韩免费视频一区二区 | 午夜成人在线视频 | 午夜视频免费看 | 日本一级大毛片a一 | 免费视频一区 | 91亚洲精品在线 |