问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数字时钟kell 程序

发布网友 发布时间:2022-05-01 14:18

我来回答

1个回答

热心网友 时间:2023-10-17 22:56

软件是要硬件支持的     下面有个图参考

程序可能要调试一下      你是 高手这个应该没什么问题吧。。。

LED   BIT  P3.7       ;指示灯

TT0   EQU  09H

TT1   EQU  0AH

TT2   EQU  0BH        ;位定义

XIAN0 EQU  50H 

XIAN1 EQU  51H 

XIAN2 EQU  52H 

XIAN3 EQU  53H        ;显存定义

FEN   EQU  54H        ;分存定义

SHI   EQU  55H        ;时存定义

ZHI   EQU  57H        ;按钮暂存内容定义

FLASH BIT  30H        ;闪烁标志位定义

SBIAO BIT  31H        ;定时器工作两种状态的标志位

KEY   BIT  32H        ;正常工作时屏蔽“加键”标志位

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP NIEDS0

ORG 0050H

MAIN:

 MOV SP,#60H

 MOV ZHI,#00   ;按钮初始值

 MOV R7,#10

 MOV R6,#2

 MOV R5,#10

 MOV R4,#2

 MOV XIAN0,#0

 MOV XIAN1,#0

 MOV XIAN2,#0

 MOV XIAN3,#0

 MOV R0,#FEN    

 MOV FEN,#0

 MOV SHI,#0

 MOV TMOD,#01H

 MOV TH0,#3CH

 MOV TL0,#0B0H

 SETB FLASH     ;开机显示不闪

 SETB SBIAO     ;开机定时器正常工作

 SETB LED

 CLR KEY        ;初始屏蔽加键

 SETB TR0 

 SETB ET0 

 SETB EA 

NIEXQ:

 LCALL DISP 

 LCALL KEYHAND

 LJMP NIEXQ

NIEDS0:

 PUSH ACC 

 PUSH PSW

 JNB SBIAO,DSSS   ;判断是正常工作还是闪烁标志位取反

 DJNZ R5,NIEOUT 

 MOV R5,#10

 CPL LED          ;指示灯1S闪烁,因为是取反,所以要500MS取反一次

 DJNZ R4,NIEOUT 

 MOV R4,#2

 MOV A,FEN 

 INC A

 MOV FEN,A 

 CJNE A,#60,NIEOUT 

 MOV FEN,#0

 MOV A,SHI 

 INC A

 MOV SHI,A 

 CJNE A,#24,NIEOUT 

 MOV SHI,#0

 AJMP NIEOUT 

DSSS:

        DJNZ R7,NIEOUT

 MOV R7,#10

 CPL FLASH         ;进入调整状态,标志位取反,显示中判断  

 CPL LED           ;指示灯在调整时也闪烁

 DJNZ R6,NIEOUT 

 MOV R6,#2  

NIEOUT:

        MOV TH0,#3CH

 MOV TL0,#0B0H

 POP PSW

 POP ACC

 RETI

DISP:

 LCALL PAND        ;判断子程序,为了达到调整时闪烁

 CLR  P3.3

 SETB P3.2 

 SETB P3.1 

 SETB P3.0         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN0

        LCALL CHAB        ;查段码

 CLR  P3.2 

 SETB P3.3 

 SETB P3.1 

 SETB P3.0         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN1 

        LCALL CHAB        ;查段码

 CLR  P3.1

 SETB P3.2 

 SETB P3.3 

 SETB P3.0         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN2

        LCALL CHAB        ;查段码

 CLR  P3.0 

 SETB P3.1 

 SETB P3.2         

 SETB P3.3         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN3 

 LCALL CHAB        ;查段码

 RET 

CHAB:

        MOV DPTR,#TAB

 MOVC A,@A+DPTR 

 MOV P1,A 

 LCALL DELAY 

 MOV P1,#0FFH

 RET

PAND:                     ;判断是否闪烁???

 MOV A,R0 

 CJNE A,#FEN,PPS

 JNB FLASH,FFS 

 LCALL DIVDIV 

 RET 

FFS:

 MOV XIAN1,#10

 MOV XIAN0,#10

 RET 

PPS:

 JNB FLASH,SSS

 LCALL DIVDIV 

 RET 

SSS:

 MOV XIAN2,#10

 MOV XIAN3,#10

 RET 

DIVDIV:                    ;分``时分解

 MOV A,FEN

 MOV B,#10

 DIV AB 

 MOV XIAN1,A 

 MOV XIAN0,B

 MOV A,SHI

 MOV B,#10

 DIV AB 

 MOV XIAN3,A 

 MOV XIAN2,B  

 RET 

KEYHAND:                   ;按键扫描子程序

 LCALL KAP

 JZ NOKEY 

 PUSH P1            ;暂存P1状态!!

 LCALL DISP 

 POP  P1

 LCALL KAP 

 JZ NOKEY 

 MOV A,P1 

 JNB ACC.0,K1 

 JNB ACC.1,K2 

NOKEY:

 RET

KAP:                       ;通用型KAP

 MOV A,P1 

 ORL A,#0FCH

 CPL A 

 RET 

DENDAI:                    ;等待键弹起

        PUSH P1

        LCALL DISP 

 POP  P1

 LCALL KAP 

 JNZ DENDAI

 RET 

K1:

 LCALL DENDAI 

 MOV A,ZHI

 INC A 

 MOV ZHI,A

 CJNE A,#1,KTF

 CLR SBIAO          ;按第一次时开启定时器中FLASH标志位取反``

 SETB KEY           ;取消屏蔽

 RET 

KTF:

 CJNE A,#2,KKAI 

 MOV R0,#SHI        ;按第二次属调时

 RET 

KKAI:

        CJNE A,#3,K1OUT 

 MOV ZHI,#0

 MOV R0,#FEN        ;恢复初始状态``调分

 SETB SBIAO         ;开启定时1S工作

 SETB FLASH         ;判断PAND子程序中用到

 CLR KEY            ;屏蔽K2键

K1OUT :

       RET 

K2: 

        JNB KEY,K2OUT      ;是否屏蔽

 LCALL DENDAI 

 MOV A,R0 

 CJNE A,#FEN,KKS    ;是否调分

 MOV A,FEN

 INC A 

 MOV FEN,A 

 CJNE A,#60,K2OUT 

 MOV FEN,#0

 RET 

KKS:                       ;不是调分``一定是调时

 MOV A,SHI

 INC A 

 MOV SHI,A 

 CJNE A,#24,K2OUT 

 MOV SHI,#0

K2OUT:

 RET 

DELAY:

 MOV TT1,#02

DEE1:

 MOV TT2,#0FFH

 DJNZ TT2,$ 

 DJNZ TT1,DEE1 

 RET 

TAB:

 DB 0FH,1FH,2FH,3FH,4FH,5FH,6FH,7FH,8FH,9FH,0FFH

 END

热心网友 时间:2023-10-17 22:56

软件是要硬件支持的     下面有个图参考

程序可能要调试一下      你是 高手这个应该没什么问题吧。。。

LED   BIT  P3.7       ;指示灯

TT0   EQU  09H

TT1   EQU  0AH

TT2   EQU  0BH        ;位定义

XIAN0 EQU  50H 

XIAN1 EQU  51H 

XIAN2 EQU  52H 

XIAN3 EQU  53H        ;显存定义

FEN   EQU  54H        ;分存定义

SHI   EQU  55H        ;时存定义

ZHI   EQU  57H        ;按钮暂存内容定义

FLASH BIT  30H        ;闪烁标志位定义

SBIAO BIT  31H        ;定时器工作两种状态的标志位

KEY   BIT  32H        ;正常工作时屏蔽“加键”标志位

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP NIEDS0

ORG 0050H

MAIN:

 MOV SP,#60H

 MOV ZHI,#00   ;按钮初始值

 MOV R7,#10

 MOV R6,#2

 MOV R5,#10

 MOV R4,#2

 MOV XIAN0,#0

 MOV XIAN1,#0

 MOV XIAN2,#0

 MOV XIAN3,#0

 MOV R0,#FEN    

 MOV FEN,#0

 MOV SHI,#0

 MOV TMOD,#01H

 MOV TH0,#3CH

 MOV TL0,#0B0H

 SETB FLASH     ;开机显示不闪

 SETB SBIAO     ;开机定时器正常工作

 SETB LED

 CLR KEY        ;初始屏蔽加键

 SETB TR0 

 SETB ET0 

 SETB EA 

NIEXQ:

 LCALL DISP 

 LCALL KEYHAND

 LJMP NIEXQ

NIEDS0:

 PUSH ACC 

 PUSH PSW

 JNB SBIAO,DSSS   ;判断是正常工作还是闪烁标志位取反

 DJNZ R5,NIEOUT 

 MOV R5,#10

 CPL LED          ;指示灯1S闪烁,因为是取反,所以要500MS取反一次

 DJNZ R4,NIEOUT 

 MOV R4,#2

 MOV A,FEN 

 INC A

 MOV FEN,A 

 CJNE A,#60,NIEOUT 

 MOV FEN,#0

 MOV A,SHI 

 INC A

 MOV SHI,A 

 CJNE A,#24,NIEOUT 

 MOV SHI,#0

 AJMP NIEOUT 

DSSS:

        DJNZ R7,NIEOUT

 MOV R7,#10

 CPL FLASH         ;进入调整状态,标志位取反,显示中判断  

 CPL LED           ;指示灯在调整时也闪烁

 DJNZ R6,NIEOUT 

 MOV R6,#2  

NIEOUT:

        MOV TH0,#3CH

 MOV TL0,#0B0H

 POP PSW

 POP ACC

 RETI

DISP:

 LCALL PAND        ;判断子程序,为了达到调整时闪烁

 CLR  P3.3

 SETB P3.2 

 SETB P3.1 

 SETB P3.0         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN0

        LCALL CHAB        ;查段码

 CLR  P3.2 

 SETB P3.3 

 SETB P3.1 

 SETB P3.0         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN1 

        LCALL CHAB        ;查段码

 CLR  P3.1

 SETB P3.2 

 SETB P3.3 

 SETB P3.0         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN2

        LCALL CHAB        ;查段码

 CLR  P3.0 

 SETB P3.1 

 SETB P3.2         

 SETB P3.3         ;直接对独立指定位CLR/SETB是为了不影响到P3.7指示灯的闪烁 

 MOV A,XIAN3 

 LCALL CHAB        ;查段码

 RET 

CHAB:

        MOV DPTR,#TAB

 MOVC A,@A+DPTR 

 MOV P1,A 

 LCALL DELAY 

 MOV P1,#0FFH

 RET

PAND:                     ;判断是否闪烁???

 MOV A,R0 

 CJNE A,#FEN,PPS

 JNB FLASH,FFS 

 LCALL DIVDIV 

 RET 

FFS:

 MOV XIAN1,#10

 MOV XIAN0,#10

 RET 

PPS:

 JNB FLASH,SSS

 LCALL DIVDIV 

 RET 

SSS:

 MOV XIAN2,#10

 MOV XIAN3,#10

 RET 

DIVDIV:                    ;分``时分解

 MOV A,FEN

 MOV B,#10

 DIV AB 

 MOV XIAN1,A 

 MOV XIAN0,B

 MOV A,SHI

 MOV B,#10

 DIV AB 

 MOV XIAN3,A 

 MOV XIAN2,B  

 RET 

KEYHAND:                   ;按键扫描子程序

 LCALL KAP

 JZ NOKEY 

 PUSH P1            ;暂存P1状态!!

 LCALL DISP 

 POP  P1

 LCALL KAP 

 JZ NOKEY 

 MOV A,P1 

 JNB ACC.0,K1 

 JNB ACC.1,K2 

NOKEY:

 RET

KAP:                       ;通用型KAP

 MOV A,P1 

 ORL A,#0FCH

 CPL A 

 RET 

DENDAI:                    ;等待键弹起

        PUSH P1

        LCALL DISP 

 POP  P1

 LCALL KAP 

 JNZ DENDAI

 RET 

K1:

 LCALL DENDAI 

 MOV A,ZHI

 INC A 

 MOV ZHI,A

 CJNE A,#1,KTF

 CLR SBIAO          ;按第一次时开启定时器中FLASH标志位取反``

 SETB KEY           ;取消屏蔽

 RET 

KTF:

 CJNE A,#2,KKAI 

 MOV R0,#SHI        ;按第二次属调时

 RET 

KKAI:

        CJNE A,#3,K1OUT 

 MOV ZHI,#0

 MOV R0,#FEN        ;恢复初始状态``调分

 SETB SBIAO         ;开启定时1S工作

 SETB FLASH         ;判断PAND子程序中用到

 CLR KEY            ;屏蔽K2键

K1OUT :

       RET 

K2: 

        JNB KEY,K2OUT      ;是否屏蔽

 LCALL DENDAI 

 MOV A,R0 

 CJNE A,#FEN,KKS    ;是否调分

 MOV A,FEN

 INC A 

 MOV FEN,A 

 CJNE A,#60,K2OUT 

 MOV FEN,#0

 RET 

KKS:                       ;不是调分``一定是调时

 MOV A,SHI

 INC A 

 MOV SHI,A 

 CJNE A,#24,K2OUT 

 MOV SHI,#0

K2OUT:

 RET 

DELAY:

 MOV TT1,#02

DEE1:

 MOV TT2,#0FFH

 DJNZ TT2,$ 

 DJNZ TT1,DEE1 

 RET 

TAB:

 DB 0FH,1FH,2FH,3FH,4FH,5FH,6FH,7FH,8FH,9FH,0FFH

 END

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 宴词这首诗后两句含蓄蕴藉,请。赏析诗人是如何表现自己的思绪的? 绿原的《诗人》赏析 玛雅历的卓尔金历 利赢年年分红型及附加险每年交一万交五年,请问五年过后拿的回本金吗 赏析:诗人,是世界幻想上最大的快乐,也是事实中最深的失望 诗人闻一多经典现代诗歌,应该怎么赏析? 题目好词好句好段20篇 苹果怎样更新14系统 朗读者 人物,事情,好词好句 谢谢 油麦菜炒几分钟就熟了 求《喜羊羊与灰太狼虎虎生威》所有歌的歌词 华擎880GM-LE的介绍 微星的880GM-E41和880GMA-E41和880GMS-E41到底哪个好啊。。最好详细解答下。谢谢。。 880GMS-E41 和880GM-E41 哪个好?两款主板都支持速龙x3 440和速龙x4 640吗? 微星880GM-E41和微星870A-G54-H这个2款 哪个性价比高些 ? 微星880GM-E41 能升级什么CPU呢 技嘉880GM 如何开四核 微星880gm-e41 支持多少内存 微星880gm-e41配什么CPU好 微星 880 gm-e41 800 gms-e41 这两主板 有什么区别?哪个更好?请专业人士从技术层面回答 谢谢 刚换的iphone6电信卡有哪些免费流量可以领取 徐渭的题葡萄图 请赏析诗人是一个什么样的形象 中东海枣与加拿列海枣的区别 秒钟的显示程序 如何赏析唐代诗人贺知章《咏柳》? 大家好,我在2015年买的利赢年年分红险,我今年想退保,能退完本金吗? 高考常考的古诗词鉴赏诗人有哪些?诗人背景是什么 品味《春江花月夜》结尾八句,赏析诗人如何展现“游子思家”的情怀 男生给女生发20元红包是什么意思? 作品中的诗人有哪些形象特征?请结合诗句简要赏析。(6分) 情人节发20元红包代表什么意思? 20红包什么意思 登高杜甫任选两联赏析诗人如何感秋寄情 一个异性给我发20元红包,什么意思 诗歌鉴赏分析诗人某种行为的具体表现从哪几个方面入手? 红包数字是20,00什么意思啊? 诗人鉴赏 如果有一个男生用红包给你发20元是什么意思? 红包20代表啥意思 你最欣赏哪位诗人?