51芯片闹钟.doc_第1页
51芯片闹钟.doc_第2页
51芯片闹钟.doc_第3页
51芯片闹钟.doc_第4页
51芯片闹钟.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

是51芯片。你参考看看! ORG 0000H ;程序入口地址 AJMP START ORG 000BH ;定时器0中断入口地址 LJMP INT_0 ORG 001BH ;定时器1中断入口地址 LJMP INT_1 ORG 0100H START:LCALL QING ;初始化 QING: ;初始化 MOV 30H,#0 ;时十位寄存器清零 MOV 31H,#0 ;时个位寄存器清零 MOV 32H,#0 ;分十位寄存器清零 MOV 33H,#0 ;分个位寄存器清零 MOV 34H,#0 ;秒十位寄存器清零 MOV 35H,#0 ;秒个位寄存器清零 MOV 36H,#0 ;秒 MOV 37H,#0 ;分 MOV 38H,#0 ;时 MOV 39H,#20 MOV 40H,#0 MOV 41H,#0 MOV TMOD,#11H MOV TH0,#3CH MOV TL0,#0B0H ;赋初值,定时50ms MOV TH1,#09EH MOV TL1,#0D0H SETB TR0 ;开启定时器0 SETB TR1 SETB EA ;开中断总开关 SETB ET0 ;定时器0中断允许位 SETB ET1 SETB PT0 CLR PT1 MAIN:MOV P3,#0FFH ;开启按键 JNB P3.3,KEY ;扫描按键 AJMP MAIN KEY:JNB P3.3,KEY ;控制时钟 MOV 41H,#1 CLR TR0 ;关“T0“中断 LJMP KEY1 DISPLAY: ;数码管 MOV DPTR,#TABLE MOV P2,#80H MOV A,35H ; 显示秒个位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#40H MOV A,34H ;显示秒十位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#20H MOV A,33H ; 显示分个位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#10H MOV A,32H ; 显示分十位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#20H MOV P0,#7FH ;显示小数点 ACALL DELAY JNB P3.2,LOOP ;转为” 时分“显示 LJMP EXIT LOOP:JNB P3.2,LOOP MOV 40H,#1 AJMP EXIT DELAY: MOV R3,#50 ;延时约为50MS D0: MOV R2,#50 DJNZ R2,$ DJNZ R3,D0 RET DISPLAY_1: MOV P2,#80H MOV A,33H ; 显示分个位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#40H MOV A,32H ; 显示分十位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#20H MOV A,31H ;显示时个位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#10H MOV A,30H ; 显示时十位 MOVC A,A+DPTR MOV P0,A ACALL DELAY MOV P2,#20H MOV P0,#7FH ;显示小数点 ACALL DELAY JNB P3.2,LOOP1 ;转为”分秒“显示 LJMP EXIT LOOP1:JNB P3.2,LOOP1 MOV 40H,#0 LJMP EXIT K3:JNB P3.4,K3 KEY3:JNB P3.5,K2_0 ;调整”时“ JNB P3.3,SHI_0 AJMP KEY3 SHI_0:JNB P3.3,SHI_0 SHI:JNB P3.4,JIA_SHI ;”时“ JNB P3.5,JIAN_SHI JNB P3.3,KEY0 AJMP SHI JIA_SHI:JNB P3.4,JIA_SHI ; 加时 INC 36H MOV R0,36H CJNE R0,#24,SHI MOV 36H,#0 AJMP SHIJIAN_SHI:JNB P3.5,JIAN_SHI ; 减时 DEC 36H MOV R0,36H CJNE R0,#-1,SHI MOV 36H,#23 AJMP SHI KEY0: JNB P3.3,KEY0 ;转为时钟 MOV 41H,#0 MOV TH0,#3CH MOV TL0,#0B4H SETB TR0 ;开”T0” 中断 AJMP MAIN K2: JNB P3.4,K2 K2_0: JNB P3.5,K2_0 KEY2: JNB P3.4,K3 ;调整”分“ JNB P3.5,K1 JNB P3.3,F_0 AJMP KEY2 K1: JNB P3.5,K1 KEY1: ;调整”秒“ JNB P3.4,K2 JNB P3.3,S_0 AJMP KEY1 S_0: JNB P3.3,S_0 S: JNB P3.3,KEY0 ; ”秒“ JNB P3.4,JIA_S JNB P3.5,JIAN_S AJMP S JIA_S:JNB P3.4,JIA_S ;加秒 INC 38H MOV R0,38H CJNE R0,#61,S MOV 38H,#0 AJMP S JIAN_S:JNB P3.5,JIAN_S ;减秒 DEC 38H MOV R0,38H CJNE R0,#-1,S MOV 38H,#59 AJMP S F_0:JNB P3.3,F_0 F: JNB P3.4,JIA_F ; ”分“ JNB P3.5,JIAN_F JNB P3.3,KEY0 AJMP F JIA_F:JNB P3.4,JIA_F ;加 ”分“ INC 37H MOV R0,37H CJNE R0,#60,F MOV 37H,#0 AJMP F JIAN_F:JNB P3.5,JIAN_F ;减 ”分“ DEC 37H MOV R0,37H CJNE R0,#-1,F MOV 37H,#59 AJMP F INT_0: ;中断0初始化 MOV TH0,#4BH MOV TL0,#0EAH DJNZ 39H,EXIT MOV 39H,#20 MOV A,41H ; 41H控制是否计时 CJNE A,#1,INT_01 INT_01: INC 38H MOV A,38H CJNE A,#60,EXIT MOV 38H,#0 INC 37H MOV A,37H CJNE A,#60,EXIT MOV 37H,#0 INC 36H MOV A,36H CJNE A,#24,EXIT MOV 36H,#0 INT_1: MOV TH1,#9EH ;定时1中断 MOV TL1,#0D0H INT_13: ;数据转换 “时”“分”“秒” MOV A,36H MOV B,#10 DIV AB MOV 30H,A MOV 31H,B MOV A,37H MOV B,#10 DIV AB MOV 32H,A MOV 33H,B MOV A,38H MOV B,#10 DIV AB MOV 34H,A MOV 35H,B ACA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论