数码管数字钟_第1页
数码管数字钟_第2页
数码管数字钟_第3页
数码管数字钟_第4页
数码管数字钟_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

数码管数字钟通过调整选择键SET_KEY选调整位,选位开始闪烁,此时再按增加键ADD_KEY或减少键DEC_KEY整选中位,如果长按或DEC_KEY,统识别后则进行调时快进,此时停止闪烁,方便人眼观察。同时还增加了调秒功能:如果选中位是秒,则按增加键或减少键都是将秒清零。汇编程序设计:/**************************************************************程序名称:51片机8位码管数字钟汇编程序简要说明:实现小时制电子钟,位码管显示,显示时分秒显示格式:(小时十位如果为不显示)通过只按键来调整时间调整选择键:;通过选择键选择调整位,选中位闪烁增加键ADD_KEY:;一次使选中位加1减少键DEC_KEY;P1.2;按一次使选中位减如果长按ADD_KEYDEC_KEY识别后则进行调时快进,此时停止闪烁如果选中位是秒,则按增加键或减少键都是将秒清零口输出数码管段选信号,口输出数码管位选信号。晶振12M编写:JiangX.net最后更新:晚**************************************************************/ORG0000H程序入口地址STARTORG;定器断入口地址ORG0300H/*****序开始,初始化*****/START:SETB48H;使一个bit位于调时闪烁标志SETB47H;使一个bit位于产生脉冲用于调时快进时基MOVR1,#0;整选择键功能标志常走时调、2调、3调秒

MOV20H,#00H用于控制秒基准时钟源的产生MOV21H,#00H清零秒寄存器MOV22H,#00H清零分寄存器MOV23H,#00H清零时寄存器MOV24H,#00H用于控制调时闪烁的基准时钟的产生MOV;IP,IE初化MOVIE,#82HMOV;设定定时器0工方式1MOVTH0,#3CHMOVTL0,#0B0H;赋定时初值,定时SETBTR0启动定时器0MOV;重设堆栈指针/*****程序*****/MAIN:DISPLAY;调用显示子程序KEY_SCAN;调用按键检测子程序MAIN;无键按下则返回重新循环SET_KEY;调选择键处理子程序46H,MAIN;如已进行长按调整(调时快进不再执行下面的单步调整;调用增加键处理子程序,加一DEC_KEY;调减键处理子程序,减一MAIN;重循环/*****时器中断服务程*****/TIMER_0:PUSHPUSH;保护现场MOVTH0,#3CHMOVTL0,#0B0H;重赋定时初值CPL;产生脉冲用于调时快进时基INCMOVA,#10,ADD_TIME产生秒准时钟,用于调时闪烁CPL;取反调时闪烁标志位MOV24H,#00HADD_TIME:;走INCMOV产生1秒准时钟MOV20H,#00H;一钟间到,清零20HMOVDAA;十进制调整MOVA,#60H,RETI1MOV21H,#00H;一钟MOVDAA

MOVA,#60H,RETI1MOV22H,#00H;一时MOVDAAMOVA,#24H,RETI1MOV23H,#00H;到点,零小时RETI1:POPPOP;恢现场RETI;中返回/*****示处理*****/DISPLAY:MOV;秒A,#0FHMOV2FH,A;转出秒个位,存入2FHMOVA,#0F0HAMOV2EH,A;转出秒十位,入46H,MIN;如长按按键(调时快进跳过闪烁处理程序R1,#3,MIN;如R1为,闪烁秒位待调整48H,MINMOV;使位为,查表到使该位不显示的输出MOV2EH,#0AHMIN:MOV;分A,#0FHMOV2DH,A;换出分个位,存入2DHMOVA,#0F0HAMOV2CH,A;转换出分十位,存入如果长按按键(调时进跳闪烁处理程序;如R1为2,闪烁分位待调整MOV;使位为10查表得到使该位不显示的输出MOVMOV;时A,#0FHMOV2BH,A;转换出时个位,存入2BHMOVA,#0F0HAMOV2AH,A;转换出时十位,存入2AH46H,DISP;如长按按键(调时快进跳过闪烁处理程序

R1,#1,DISP;如果1闪烁时位待调整48H,DISPMOV2BH,#0AH使该位为10查表得到使该位不显示的输出MOV2AH,#0AH/*****码管动态扫描显*****/MOVDPTR,#TABLEMOVA,2FHMOVCMOVP0,ACLRP2.7SETBP2.7;显示秒个位MOVA,2EHMOVCMOVP0,ACLRP2.6SETBP2.6;显示秒十位MOVMOVP0,ACLRP2.5SETBP2.5;显示“-MOVA,2DHMOVCMOVP0,ACLRP2.4SETBP2.4;显示分个位MOVA,2CHMOVCMOVP0,ACLRP2.3SETBP2.3;显示分十位MOVMOVP0,ACLRP2.2SETBP2.2;显示“-MOVA,2BHMOVCMOVP0,ACLRP2.1SETBP2.1;显示时个位MOV该使用以除前置MOVA,2AHMOVC

MOVP0,ACLRP2.0SETBP2.0;显示时十位RET/*****键检测子程序*****/KEY_SCAN:CLR46H;关长按调整(调时快进)标志MOV;将P1口置成输入状态MOVA,P1CPLAA,#07H口3位连接个键,只判断该3位EXIT_KEY;无按下则返回;延时去抖动MOVA,P1;重判断CPLAA,#07HEXIT_KEY;键去抖动MOVR5,A;临将键值存入MOV;用控制调时快进速度;设置为00H是了在进入长按处理前加长延时区分用户的长按与短按,防止误快进LOOP:;进入长按处理DISPLAY;使按时显示正常MOVA,P1CPLAA,#07HINC;调快进间隔时间基准加1如果调秒时长按,则不处理LOOP3MOV;确认用户长按后,重新设起始值,加快调时快进速度SETB46H;长调整(调时快进)标志DEC_KEYJNZLOOP;等键释放MOVA,R5;输出键值RETEXIT_KEY:RET/*****时子程序*****/DELAY:MOVRET

/*****择键处理子程序*****/SET_KEY:R5,#01H,EXIT选择键键值INC;调选择功能标志加一R1,#4,EXITMOVR1,#0MOV24H,#00H调时闪烁基准清零RET/*****加键处理子程序*****/ADD_KEY:R5,#02H,EXIT增加键键值R1,#01H,NEXT1;择键功能标志为1,调时,否则跳出MOVDAAMOVA,#24H,EXITMOV23H,#00HR1,#02H,NEXT2;择键功能标志为2,调分,否则跳出MOVDAAMOVA,#60H,EXITMOV22H,#00HR1,#03H,EXIT选择键功能标志为,秒,否则跳出MOV21H,#00H如增加键按下直接清零秒RET/*****少键处理子程序*****/DEC_KEY:R5,#04H,EXIT减少键键值R1,#01H,NEXT3;择键功能标志为1,调时,否则跳出MOVDAAMOVA,#99H,EXITMOV23H,#23HR1,#02H,NEXT4;择键功能标志为2,调分,否则跳出MOVDAAMOVA,#99H,EXITMOV22H,#59H

R1,#03H,EXIT选择键功能标志为,秒,否则跳出MOV21H,#00H如较少键按下直接清零秒RET/*****用

温馨提示

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

评论

0/150

提交评论