历史上的今天
返回首页

历史上的今天

今天是:2025年01月22日(星期三)

正在发生

2018年01月22日 | 实用单片机电子钟的制作

2018-01-22 来源:eefocus

P0接数码管的8段,P2.6-P2.1分别选通6个数码管,顺序依次是:P2.6 是秒的低位,P2.1选通时的高位。再有就是P3.2-P3.5接四个按键。DCF51-1型开发系统已经通过!!

;;主程序(MAIN),如下:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIME

ORG 0300H
MAIN: 

 

mov 20h,#00h 
MOV 21H,#00H
MOV 22H,#00H
MOV 23H,#00H
MOV IP,#02H ;IP,IE初始化
MOV IE,#82H
MOV TMOD,#01H ;设定定时器工作方式?
MOV TL0,#0B0H
MOV TH0,#3CH
SETB TR0 ;启动定时?
MOV SP,#40H ;重设堆栈指针
NEXT: LCALL DISP ;调用显示子程序?
LCALL KEY ;调用按键检测子程序
JZ NEXT ;
LCALL ANKEY ;调用按键处理子程序
SJMP NEXT ;重新循环
NOP
NOP
NOP
;定时中断处理程序:
TIME: PUSH ACC ;保护现场
PUSH PSW
MOV TL0,#0B4H ;赋定时初值
MOV TH0,#3CH
INC 20H ;
MOV A,20H
CJNE A,#20,RETI1
MOV 20H,#00H ;一秒钟时间到
MOV A,21H
ADD A,#01H
DA A
MOV 21H,A
CJNE A,#60H,RETI1
MOV 21H,#00H ;一分钟时间到
MOV A,22H
ADD A,#01H
DA A
MOV 22H,A
CJNE A,#60H,RETI1
MOV 22H,#00H ;一小时时间到
MOV A,23H
ADD A,#01H
DA A
MOV 23H,A
CJNE A,#24H,RETI1
MOV 23H,#00H ;到时间达到24小时,清零.
RETI1: POP PSW ;恢复现场
POP ACC
RETI ;中断返回?
NOP
NOP

;显示子程序
DISP: ANL 2FH,#10H ;处理小数点
MOV A,21H ;处理秒21H-->2DH,2EH
ANL A,#0FH
ORL A,2FH
MOV 2FH,A
MOV A,21H 
ANL A,#0F0H
SWAP A
MOV 2EH,A
ANL 2DH,#10H
MOV A,22H ;处理分钟22H-->2CH,2DH
ANL A,#0FH
ORL A,2DH
MOV 2DH,A
MOV A,22H
ANL A,#0F0H
SWAP A
MOV 2CH,A
ANL 2BH,#10H
MOV A,23H ;处理小时23H-->2AH,2BH
ANL A,#0FH
ORL A,2BH
MOV 2BH,A
MOV A,23H
ANL A,#0F0H
SWAP A
MOV 2AH,A
MOV R0,#2FH ;显示偏移量
MOV R3,#06H
MOV DPTR,#TABLE
MOV A,#0BFH
LOOP1: MOV B,A ;
MOV P2,a
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,a ;送显示
MOV R2,#80H ;延时
DJNZ R2,$
DEC R0
MOV A,B
RR A
DJNZ R3,LOOP1 ;循环显示
RET

TABLE: db 28h,7eh,0a2h,62h,74h,61h,21h ;不带小数点
DB 7ah,20h,60h,00,00,00,00,00,00
DB 8H,5eH,82H,42H,54H,41H,1H,5aH ;带小数点
DB 00H,40H,00,00,00,00,00,00
NOP
NOP
;按键判断程序
KEY: MOV P3,#0FFH ;
MOV A,P3
CPL A
ANL A,#3CH
JZ RETX ;无键按下则返回
LCALL DISP ;
LCALL DISP
MOV A,P3
CPL A
ANL A,#3CH
JZ RETX ;键盘去抖动。
MOV R6,A ;将键值存入R6。
LOOP2: LCALL DISP ;
MOV A,P3
CPL A
ANL A,#3CH
JNZ LOOP2 ;等待键释放
MOV A,R6
RETX: RET
NOP
NOP
;按键处理子程序
ANKEY: CLR EA ;关中断
LX: MOV A,R6
JB ACC.2,L1 ;是功能键转L1
JB ACC.3,L2 ;是确认键转L2
JB ACC.4,L3 ;是减1键转L3
JNB ACC.5,L12 ;不是增1键,转L12
JB 2BH.4,L6 ;判断使哪一位(时、分、秒)的值加1
JB 2DH.4,L8
JB 2FH.4,L9

L12: LCALL DISP 
LCALL DISP
LCALL KEY ;判断有无键按下。
JZ L12
LJMP LX

L2: MOV 25H,#00H ;确认键处理程序
CLR 2BH.4
CLR 2DH.4
CLR 2FH.4
SETB EA
RET

L3: JB 2BH.4,L61 ;增一键处理程序
JB 2DH.4,L81
JB 2FH.4,L91
AJMP L12

L1: MOV A,25H ;功能键处理程序
JZ LB1
JB ACC.0,LB2
JB ACC.1,LB3
JNB ACC.2,L12
LB1: MOV 25H,#01H ;25H单元是标志位,(25H)=01H调节时单元的值
SETB 2BH.4 
CLR 2DH.4
CLR 2FH.4
AJMP L12

LB3: MOV 25H,#04H ;25H单元是标志位,(25H)=01H调节秒单元的值
SETB 2FH.4
CLR 2DH.4
CLR 2BH.4
AJMP L12

LB2: MOV 25H,#02H ;25H单元是标志位,(25H)=01H调节分单元的值
SETB 2DH.4
CLR 2BH.4
CLR 2FH.4
AJMP L12

L61: AJMP L611 ; 
L81: AJMP L811 ;
L91: AJMP L911
L6: MOV A,23H ;时加一
ADD A,#01H
DA A
MOV 23H,A
CJNE A,#24H,L15
L15: JC L112
MOV 23H,#00H
L112: AJMP L12

L8: MOV A,22H ;分加一
ADD A,#01H
DA A
MOV 22H,A
CJNE A,#60H,L16
L16: JC L112
MOV 22H,#00H
AJMP L12

L9: MOV A,21H ;秒加一
ADD A,#01H
DA A
MOV 21H,A
CJNE A,#60H,L17
L17: JC L112
MOV 21H,#00H
AJMP L12

L611: MOV A,23H ;时减一
ADD A,#99H
DA A
MOV 23H,A
CJNE A,#99H,L112
MOV 23H,#23H
AJMP L12

L811: MOV A,22H ;分减一
ADD A,#99H
DA A
MOV 22H,A
CJNE A,#99H,L112
MOV 22H,#59H
AJMP L12

L911: MOV A,21H ;秒减一
ADD A,#99H
DA A
MOV 21H,A
CJNE A,#99H,L112
MOV 21H,#59H
AJMP L12
NOP
NOP 
END


推荐阅读

史海拾趣

Dow-Key Microwave Corporation公司的发展小趣事

在Dow-Key Microwave的发展历程中,企业文化和团队建设始终是公司关注的重点。公司注重培养员工的团队合作精神和创新能力,为员工提供良好的工作环境和发展机会。同时,公司还建立了完善的管理制度和激励机制,确保公司的运营效率和员工的工作积极性。这些措施的实施,使得Dow-Key Microwave成为了一个充满活力和创新精神的企业,为公司的发展提供了有力保障。

请注意,以上故事仅为概述性质,具体细节可能因实际情况而有所不同。如需了解更多关于Dow-Key Microwave Corporation公司的信息,建议查阅相关报道或公司官方网站。

GMT(致新科技)公司的发展小趣事
使用收音机的方向键或旋钮来设置希望定时开机的时间。这可能包括小时、分钟以及是否启用AM/PM模式。
EVERLIGHT公司的发展小趣事

进入21世纪,随着全球电子产业的快速发展,EVERLIGHT迎来了市场扩张的机遇。公司不仅巩固了在台湾市场的领先地位,还积极开拓国际市场。通过与国际知名品牌的合作,EVERLIGHT的产品逐渐进入全球市场,赢得了广泛认可。同时,公司还加强了对新兴市场的开拓,如中国大陆、东南亚等地区,为公司的持续发展注入了新的动力。

ERNI Electronics公司的发展小趣事

除了连接器产品外,ERNI Electronics的系统技术部门也取得了显著的发展。该部门为客户提供标准型和定制化的背板和子系统解决方案,以及高性能、自行设计的工具制造、现代器件装配和测试设备等高附加值服务。随着市场对完整解决方案的需求不断增长,系统技术部门的业绩也实现了大幅增长,成为公司发展的重要支柱之一。

芯旺微电子(ChipON)公司的发展小趣事

在汽车电子领域,AEC-Q100品质认证是衡量MCU产品质量的重要标准。芯旺微电子通过不懈的努力和技术创新,成功研发出满足AEC-Q100品质认证的MCU产品,并广泛应用于汽车前装市场。这一突破不仅证明了芯旺微电子的技术实力,也为其赢得了国内外众多知名汽车厂商的信赖和合作。

EXCELSEMI [ EXCEL SEMICONDUCTOR INC. ]公司的发展小趣事

EXCELSEMI公司自创立之初,就致力于半导体技术的研发与创新。在早期,公司研发团队成功攻克了高性能半导体材料的生产技术难题,这一技术突破为公司后续的产品开发奠定了坚实基础。随着技术的不断进步,EXCELSEMI在半导体芯片设计、制造和封装等领域都取得了显著成果,逐渐在市场中崭露头角。

问答坊 | AI 解惑

LPC之做自已的keil固件库

习惯于keil 的环境,也刚学了点stm32,觉得stm32 的固件库用起很方便的,在LPCXpresso 上师兄些都讲得过多,也过细,我想“另类”一点,写一篇keil 的文章Lpc 没有提供有固件库,但看它的例子,想了一下,何不将例子中的文件做成固件库呢?   ...…

查看全部问答>

谈谈做LED焊接金丝粗细的选择-----------原创

金丝的焊接对LED的品质起着决定性的作用,金丝的粗细就决定了他的焊接,在电及和支架上所能承受的拉力和推力,比如说08的金丝它焊接在支架上只能承受3到5克左右的拉力不断,09的金丝就能承受6到8克的拉力不断,10的就更好了。还有就是金丝也是做LED ...…

查看全部问答>

[贴图]LED户外灯 星光点点好浪漫

replyreload += \',\' + 382184;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

求Compact c# 如何使Contextmenu的字体变大和加图标 

在compact 2005 c#下开发    1,如何能够改变字体大小(原来字太小,想大点,找不到地方设置)    2,能不能加图片呢(好像照目前的东西看,是不行)…

查看全部问答>

数据采集资源占用问题

采集程序在运行了之后会出现一个错误,the specified group is in use,用探针看,除了循环的第一次error实现the operation could not compelte with limit time外,第二次以后的循环在config处error就开始输出这个错误,这是什么原因啊?而且,这 ...…

查看全部问答>

请教:关于看门狗定时器的看门狗模式

430单片机的看门狗有两种工作模式:一是间隔定时器模式;一是看门狗模式。 间隔定时器模式比较简单,不麻烦大家了! 看门狗定时器工作于看门狗模式时,WDTIE对看门狗的工作及中断不起限制作用,可以不用理会。 当看门狗定时器定时时间到后,会置 ...…

查看全部问答>

将8051应用程序迁移到ARM Cortex-M处理器上

将8051应用程序迁移到ARM Cortex-M处理器上…

查看全部问答>

谁要TQ2440开发板 3.5寸LCD套装

谁要TQ2440开发板 3.5寸LCD套装 ,我低价出售,去年买的,已经闲置一年,让你绝对想不到的低价,有诚意请联系:858532721,可以送书籍嵌入式linux应用开发完全手册,再次声明是纸质书籍,并不是电子书,韦东山的书!http://www.embedsky.net/probig ...…

查看全部问答>

毕业设计 关于DSP控制无位置传感器无刷直流电机的程序设计

  DSP 控制无位置传感器无刷直流电机转速,即控制变频空调室外机转速的程序,求各位大侠帮帮忙,基于无位置传感器无刷直流电机的变频空调室外机的程序设计,小弟确实摸不到头绪。。…

查看全部问答>