欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    AT89C51单片机的数字时钟设计.ppt

    • 资源ID:24457488       资源大小:1.71MB        全文页数:23页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    AT89C51单片机的数字时钟设计.ppt

    一、设计简介本设计利用Atmel公司的AT89C51单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编进行软件编程,并用Proteus软件进行仿真演示、验证。主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机80C51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机的数字电子时钟。它的计时周期为24小时,显满刻度为“23时59分59秒”,且配有3个独立键盘,可以灵活地调节时间,并具有一定的扩展性。 二、设计背景十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!四、设计方案1、主程序主程序执行流程图如图1所示。主程序先对显示单元和定时器计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有建按下,则转入相应的功能程序。 四、设计方案2、数码管显示模块 本设计的显示模块采用6位一体共阳极数码管,显示分为时钟显示模式,从右到左依次显示秒个位,秒十位,分个位,分十位,时个位,时十位;数码管显示的信息用6个内存单元存放,这6个内存单元为显示缓冲区,其中秒个位和秒十位,分个位和分十位,时个位和时十位分别由秒数据,分数据和小时数据分拆得到。四、设计方案3、定时器计数器T0中断服务程序 定时器计数器T0用于时间计时,选择方式1,重复定时,定时时间设为20MS,定时时间到则溢出中断,计50次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清零。分单元加到60的时候,则对时单元加1,同时分单元清零,时单元加到24的时候则对时单元清零,标志一天时间计满,此时所以单元清零。在对各单元计数的同时,把它们的值放到存储器单元的制定位置 四、设计方案4、按键处理模块 按键处理设置为:如果没有按键,则为时钟模式,时钟正常走时.按键KEY1为工作模式键,用于时钟显示或调秒、调分、调时的功能切换选择。R3寄存器记录KEY1按键的次数,R3=0,显示时钟;R3=1,调秒;R3=2,调分;R3=3,调时。按键KEY2为增1键,对选定的被调项的当前值增1;按键KEY3为减1键,对选定的被调项的当前值减1五、硬件电路设计六、软件设计与程序代码 1、软件选择与介绍 Proteus7.8是一款电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统 。六、软件设计与程序代码 2、软件仿真电路全图 1.模式0显示时钟2.模式1第1次按KEY1键选择调秒3.模式2第2次按KEY1键选择调分4.模式3第3次按KEY1键选择调时六、软件设计与程序代码 3、程序代码KEY1 BIT P1.0KEY2 BIT P1.1KEY3 BIT P1.2CLK BIT P1.3LOAD BIT P1.4DIN BIT P1.5SECOND DATA 30HMINUTE DATA 31HHOUR DATA 32H ORG 0000H AJMP MAIN ORG 000BH AJMP TIMER0MAIN:MOV SP,#60H MOV TMOD,#01H;定时器T0方式设置 MOV TH0,#0B1H;定时器T0装入初值20ms MOV TL0,#0E0H SETB ET0;T0中断允许 SETB EA;总中断允许 MOV R2,#50;T0中断为1s SETB TR0;启动T0 MOV SECOND,#00H MOV MINUTE,#00H MOV HOUR,#08H ;初始化时间8点00分00秒 MOV A,HOUR时间值送显示缓冲区79H7EH ANL A,#0F0H SWAP A MOV 79H,A MOV A,HOUR ANL A,#0FH MOV 7AH,A MOV A,MINUTE ANL A,#0F0H SWAP A MOV 7BH,A MOV A,MINUTE ANL A,#0FH MOV 7CH,A MOV A,SECOND ANL A,#0F0H SWAP A MOV 7DH,A MOV A,SECOND ANL A,#0FH MOV 7EH,A MOV R3,#00H;R3初值设为0,显示时钟 ACALL INI7219;调用7219初始化子程序I NI7219:MOV 50H,#0FH;显示测试寄存器设置 MOV 51H,#00H;非测试模式,正常显示MOV R0,#50HACALL SEND7219MOV 50H,#0CH;关闭显示寄存器MOV 51H,#01H;正常显示MOV R0,#50HACALL SEND7219MOV 50H,#0BH;扫描界限寄存器MOV 51H,#05H;6位显示MOV R0,#50HACALL SEND7219MOV 50H,#0AH;亮度寄存器,其值为000EH,设置为0AH MOV 51H,#09HMOV R0,#50HACALL SEND7219MOV 50H,#09H;译码方式寄存器MOV 51H,#0FFH;8位显示全部B译码MOV R0,#50HACALL SEND7219RETDISPLAY:MOV 50H,#01H ;显示子程序 MOV 51H,79H;显示缓冲区设在79H7EH单元MOV R0,#50H;其内容从左至右一次显示在数码管显示器上ACALL SEND7219MOV 50H,#02HMOV 51H,7AH MOV R0,#50HACALL SEND7219MOV 50H,#03HMOV 51H,7BHMOV R0,#50HACALL SEND7219MOV 50H,#04HMOV 51H,7CHMOV R0,#50HACALL SEND7219MOV 50H,#05HMOV 51H,7DHMOV R0,#50HACALL SEND7219MOV 50H,#06HMOV 51H,7EHMOV R0,#50HACALL SEND7219RETSEND7219:CLR LOAD;向7219写入数据子程序 MOV R4,#02H;写入16位串行数据CLR CLOP1: MOV R1,#08H MOV A,R0LOP2: RLC A MOV DIN,C SETB CLK CLR CLK DJNZ R1,LOP2 INC R0 DJNZ R4,LOP1 SETB LOAD RET;键扫描处理子程序KEY: JNB KEY1,KK1;判断KEY1键是否按下 JB KEY1,$;等待KEY1键是否释放INC R3;模式值增1 ,在0、1、2、3间逐项切换 CJNE R3,#04H,JMPKK3;当让中的模式值为4时,在设置为0 MOV R3,#00HJMPKK3:AJMP KK3;转至KK3,按R3内容选择显示KK1:JNB KEY2,KK2;判断KEY2键是否按下 JB KEY2,$ ;等待KEY2键释放MOV A,R3;根据当前R3值对时间项增1调整RL AMOV DPTR,#KJMP1JMP A+DPTRKJMP1: AJMP DISCLK AJMP SINC AJMP MINC AJMP HINCSINC: MOV A,SECOND;秒增1 ADD A,#01H DA A MOV SECOND,A CJNE A,#60H,DISS1 MOV 30H,#01HDISS1:AJMP DISS;转至秒显示缓冲区设置MINC:MOV A,MINUTE;分增1 ADD A,#01H DA A MOV MINUTE,A CJNE A,#60H,DISM1 MOV MINUTE,#00HDISM1:AJMP DISM;转至分显示缓冲区设置HINC: MOV A,HOUR;时增1 ADD A,#01H DA A MOV HOUR,A CJNE A,#24H,DISH1 MOV HOUR,#00HDISH1:AJMP DISH;转至时显示缓冲区设置KK2:JNB KEY3,KK3;判断KEY3是否按下 JB KEY3,$ ;等待KEY3键释放MOV A,R3RL AMOV DPTR,#KJMP2JMP A+DPTRKJMP2:AJMP DISCLK AJMP SDEC AJMP MDEC AJMP HDECSDEC:MOV A,#9AH;秒减1 CLR C SUBB A,#01H ADD A,SECOND DA AMOV SECOND,A CJNE A,#00H,DISS2 MOV SECOND,#59HDISS2:AJMP DISS;转至秒显示缓冲区设置MDEC:MOV A,#9AH;分减1 CLR C SUBB A,#01H ADD A,MINUTE DA A MOV MINUTE,A CJNE A,#0,DISM2 MOV MINUTE,#59HDISM2:AJMP DISM;转至分显示缓冲区设置HDEC:MOV A,#9AH;时减1 CLR C SUBB A,#01H ADD A,HOUR DA A MOV HOUR,A CJNE A,#99H,DISH2 MOV HOUR,#23HDISH2:AJMP DISH;转至时显示缓冲区设置KK3:MOV A,R3 RL AMOV DPTR,#KJMP3 JMP A+DPTRKJMP3:AJMP DISCLK ;R3=0显示时钟 AJMP DISS;R3=1显示秒 AJMP DISM;R3=2显示分 AJMP DISH;R3=3显示时DISCLK:MOV R0,#79H MOV R1,#HOUR MOV R4,#03HCFLOOP:MOV A,R1 SWAP A ANL A,#0FH MOV R0,A INC R0 MOV A,R1 ANL A,#0FH MOV R0,A INC R0 DEC R1 DJNZ R4,CFLOOP SETB TR0 RETDISS:CLR TR0;显示秒,时与分的数码管不亮 MOV A,SECOND SWAP A ANL A,#0FH MOV 7DH,A MOV A,SECOND ANL A,#0FH MOV 7EH,A MOV 79H,#0FH MOV 7AH,#0FH MOV 7BH,#0FH MOV 7CH,#0FH AJMP KK5DISM:CLR TR0;显示分,时与秒的数码管不亮 MOV A,MINUTE SWAP A ANL A,#0FH MOV 7BH,A MOV A,MINUTE ANL A,#0FH MOV 7CH,A MOV 79H,#0FH MOV 7AH,#0FH MOV 7DH,#0FH MOV 7EH,#0FH AJMP KK5DISH: CLR TR0 ;显示时,分与秒的数码管不亮 MOV A,HOUR SWAP A ANL A,#0FH MOV 79H,A MOV A,HOUR ANL A,#0FH MOV 7AH,A MOV 7BH,#0FH MOV 7CH,#0FH MOV 7DH,#0FH MOV 7EH,#0FHKK5:RET;定时器T0中断处理子程序TIMER0:PUSH ACC;保护现场 PUSH PSW MOV TH0,#0B1H;重装定时常数 MOV TL0,#0E0H DJNZ R2,NEXT;判断是否中断了50次,不足50次,中断返回MOV R2,#50;若达到50次,计时满1s,刷新时间单元格 MOV A,SECOND ADD A,#01H DA A MOV SECOND,A CJNE A,#60H,NEXTS1:MOV SECOND,#00H MOV A,MINUTEADD A,#01HDA AMOV MINUTE,ACJNE A,#60H,NEXTS2:MOV MINUTE,#00H MOV A,HOUR ADD A,#01H DA A MOV HOUR,A CJNE A,#24H,NEXT MOV HOUR,#00HNEXT:POP PSW;恢复现场 POP ACCRETI;中断返回 END结束结束

    注意事项

    本文(AT89C51单片机的数字时钟设计.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开