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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3684|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久精品视频免费看 | 最新超碰| 一区二区三区四区在线视频 | 精产国产伦理一二三区 | 欧美成人h版在线观看 | 中文字幕一区二区三区精彩视频 | 日韩成人在线观看 | 亚洲成在线观看 | 日本午夜免费福利视频 | 成人免费一区二区 | 色综合视频在线 | 成人网在线 | 免费观看成人鲁鲁鲁鲁鲁视频 | 黄网免费看 | 福利视频日韩 | 懂色av一区二区三区在线播放 | 亚洲小视频在线观看 | 亚洲永久精品国产 | 91人人视频在线观看 | 精品久久国产视频 | 看片91| 成人精品一区二区户外勾搭野战 | 国产情侣啪啪 | 日韩精品 电影一区 亚洲 | av网站免费观看 | 色婷婷国产精品综合在线观看 | 日日干日日操 | 四虎av电影 | 成人精品一区二区三区 | 欧美日韩一区二区在线播放 | 色婷婷av99xx | 色网站在线| 国产女人第一次做爰毛片 | 亚洲欧美一区二区三区在线 | 7777在线视频免费播放 | 永久看片| 国产精品久久久久久久久久久久 | 欧美三级三级三级爽爽爽 | 色婷婷精品国产一区二区三区 | 国产精品久久久久久久久久东京 | 欧美精品综合 |