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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3633|回復: 0
打印 上一主題 下一主題
收起左側

基于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


評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品在线免费观看 | 欧美三级电影在线播放 | 天天爱天天操 | 国产一区二区三区免费观看在线 | 精品免费 | 日一区二区 | 亚洲国产成人精品一区二区 | 久久一视频 | 成人国产免费视频 | 成人黄色三级毛片 | 欧美精品一区二区蜜桃 | 91色在线 | 国产玖玖| 国产成人网 | 91精品国产一区二区三区 | 久久精品国产一区二区三区不卡 | 色婷婷激情综合 | 亚洲精品小视频在线观看 | 久久99久久99 | 在线黄 | 蜜桃精品噜噜噜成人av | 新av在线 | jav成人av免费播放 | 亚洲狠狠 | 国产精品一区二区av | 在线免费毛片 | 国产一区二区欧美 | av片网站 | 中文字幕加勒比 | 亚洲第一在线 | 在线国产一区 | 啪啪av | 久久久精品一区二区三区 | 日本午夜一区二区三区 | 欧美成人a | 成年人视频在线免费观看 | 国产精品中文字幕在线 | 婷婷福利 | 天天爱综合 | 范冰冰一级做a爰片久久毛片 | 欧美在线视频二区 |