您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机LED时钟的设计
LED电子钟一.功能与使用该电子钟由于使用12MHZ晶振,故而能获得较高精度的时间。它能同时显小时,分钟和秒。设有三个按键:A,B和C键。A键用于选择要校正的目标,是小时,分钟还是秒,按第一下时,选择秒,按第二下则选分钟,第三下则选小时,第四下则退出校时,第五下又选秒,如此循环,可选择校时或退出校时。B键每按一次,所选对象就会加1,比如,已选择分钟,那么每按一下此键,分钟数目就会加上1;C键按一次,所校正的对象就会不断自动快地加一,再按任意键一次,就会停止快速校时。当需要校正时间时,先按下A键,选好对象,(可看到,两个数码管比其余4个亮了一倍,)再按B键或C键。二.元件与功能⑴数码管采用高亮共阴型数码管,共有6位数码管,为示区别,显示秒的两个数码管个头较小,另外4个较大。共阴数码管连接线路如下:⑵单片机采用89C5189C51内含4KB的程序存储器,可稳定地工作于5V的电源下。⑶ULN2003ULN2003为达林顿管反相驱动器,能够提供高达500mA的电流,对于数码管所需的驱动电流10mA*8=80mA来说,驱动数码管绰绰有余。其引脚功能:i1~i7为7个输入端,o1~o7为相应的7个输出端,gnd为地端,com为电源正极。如图:三.电路原理图四.汇编源程序DIR1EQU00HDIR2EQU01HDIR3EQU02HDIR4EQU03HDIR6EQU05HRABEQU21H;时,分,秒之一,用于校正RACEQU22H;供驱动数码管采用动态扫描时用RADEQU23H;延时RAD.7EQU1FHRAD.1EQU19HRAD.0EQU18HRAAEQU30HRBBEQU31HRCCEQU32HRIIEQU33HRJJEQU34HRKKEQU35HRLLEQU36HRMMEQU37HRNNEQU38HROOEQU39HRPPEQU3AHRQQEQU3BHRRREQU3CHRSSEQU3DHRTTEQU3EHORG0AJMPMAINORG001BAJMPDSZDORG0030MAIN:SETBEA;中断设置SETBET1MOVTH1,#6;定时设置MOVTL1,#6MOVTMOD,#20HSETBTR1MOVSP,#40H;初始化CLRAMOVRAB,#1MOVR5,AMOVR6,AMOVR7,ACLRDIR1CLRDIR3MOVR0,#30HMOVR2,#16M1:MOV@R0,ADECR0DJNZR2,M1MOVROO,#3FHMOVRPP,#3FHMOVRQQ,#3FHMOVRRR,#3FHMOVRSS,#3FHJCY:JBDIR2,JCN;MOVP3,#FFHMOVA,P3ANLA,#7JZA,LESETBRAD.7;RAD.7=1FHDEL:JNBRAD.0,DEL;RAD.0=18HMOVRAD,#0MOVA,P3ANLA,#7JZA,LE;有按键SETBDIR2JNBACC.0,AJ2AJI:CLRDIR3;按键自动计数标志SETBDIR1;中断下禁秒计数及按键计数标志MOVA,RABRLAMOVRAB,AJNZWSAMOVRAB,#1WSA:JNBRAB.4,WSCLRDIR1MOVRAB,#1WS:AJMPLEAJ2:JNBACC.1,AJ3CLRDIR3;按键自动计数标志JNBDIR1,LEJNBRAB.1,AJ2C1INCR5CJNER5,#60,LEMOVR5,#0AJMPLEAJ2C1:JNBRAB.2,AJ2C2INCR6CJNER6,#60,LEMOVR6,#0AJMPLEAJ2C2:MOVRAB,#8INCR7CJNER7,#24,LEMOVR7,#0AJMPLEAJ3:JNBACC.2,LEJNBDIR1,LEJNBDIR3,AJ3ACLRDIR3;按键自动计数标志AJMPLEAJ3A:SETBDIR3AJMPLEJCN:MOVA,P3ANLA,#7JZA,LESETBRAD.7DELA:JNBRAD.0,DELAMOVRAD,#0MOVA,P3ANLA,#7JZA,LECLRDIR2LE:JNBDIR3,JCY;(DIR3)=0自加JNBDIR6,JCY;DIR6为0.25S标志JNBRAB.1,ZJ2INCR5CJNER5,#60,JCYMOVR5,#0AJMPJCYZJ2:JNBRAB.2,ZJ3INCR6CJNER6,#60,JCYMOVR6,#0AJMPJCYZJ3:JNBRAB.3,ZJQINCR7CJNER7,#24,JCYMOVR7,#0AJMPJCYZJQ:CLRDIR3MOVRAB,#1AJMPJCYDSZD:PUSHA;定时中断,250USPUSHPSW;状态寄存器SM:MOVP2,#0;扫描,先清位选MOVP1,#0CPLDIR4;DIR4代表奇偶次中断MOVA,RACRLAMOVRAC,ASM1:JNBRAC.1,SM2SETBP2.0JNBDIR1,SM1A;DIR1(C)=0JNBDIR4,SM1AJNBRAB.1,JSSM1A:MOVP1,ROOAJMPJSSM2:JNBRAC.2,SM3SETBP2.1JNBDIR1,SM2AJNBDIR4,SM2AJNBRAB.1,JSSM2A:MOVP1,RPPAJMPJSSM3:JNBRAC.3,SM4SETBP2.2JNBDIR1,SM3AJNBDIR4,SM3AJNBRAB.2,JSSM3A:MOVP1,RQQAJMPJSSM4:JNBRAC.4,SM5SETBP2.3JNBDIR1,SM4AJNBDIR4,SM4AJNBRAB.2,JSSM4A:MOVP1,RRRAJMPJSSM5:JNBRAC.5,SM6SETBP2.4JNBDIR1,SM5AJNBDIR4,SM5AJNBRAB.3,JSSM5A:MOVP1,RSSAJMPJSSM6:JNBRAC.6,SM7SETBP2.5JNBDIR1,SM6AJNBDIR4,SM6AJNBRAB.3,JSSM6A:MOVP1,RTTAJMPJSSM7:MOVRAC,#2AJMPSM1JS:DJNZRAA,DSZ1MOVRAA,#40JNBRAD.7,JS1JNBRAD.1,JS2SETBRAD.0JS2:SETBRAD.1JS1:DJNZRBB,DSZ1MOVRBB,#25SETBDIR6JBDIR1,CLLDJNZRCC,DSZ1MOVRCC,#4CL:INCR5;60和24进制计数,INR5,R6,R7CLRCMOVA,R5SUBBA,#60JCCLLCLRR5CLRCINCR6MOVA,R6SUBBA,#60JCCLLCLRR6CLRCINCR7MOVA,R7SUBBA,#24JCCLLCLRR7CLL:MOVA,R5;60和24进制计数转化为10和6进制MOVB,#10DIVABMOVRII,BMOVRJJ,AMOVA,R6MOVB,#10DIVABMOVRKK,BMOVRLL,AMOVA,R7MOVB,#10DIVABMOVRMM,BMOVRNN,ACB:MOVDPTR,#TAB;查表MOVA,RIIMOVCA,@A+DPTRMOVROO,AMOVA,RJJMOVCA,@A+DPTRMOVRPP,AMOVA,RKKMOVCA,@A+DPTRMOVRQQ,AMOVA,RLLMOVCA,@A+DPTRMOVRRR,AMOVA,RMMMOVCA,@A+DPTRMOVRSS,AMOVA,RNNJZCBEMOVCA,@A+DPTRCBE:MOVRTT,A;息隐,灭零显示DSZ1:POPPSW;POPARETITAB:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,6FH,77HEND
本文标题:单片机LED时钟的设计
链接地址:https://www.777doc.com/doc-2606212 .html