




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机研究性教学题 目:基于51单片机的时钟调整系统学 院:机电学院提交日期:2012年 5 月 29 日前言 时钟是人类生活中必不可少的工具,从挂式的、手机上的、电脑上的以及手表等。学完单片机后,我们基本了解到了单片机时钟的工作原理以及实现方式。借此研究性教学的机会,我们打算用单片机的知识完成对单片机电子时钟的设计以及制作。该设计不仅可以锻炼我们的动手能力,而且可以加深我们对单片机的认识和激发我们对机电控制的探索。基于单片机的数字时钟采用独立式按键来进行时间调整, MAX7219、AT89C51是其主要芯片,并利用数码管LED动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”。它不仅仅可以显示时间,还可以显示星期。总而言之该系统同时具有硬件设计简单,工作稳定性高,价格低廉等优点。关键词:时钟 、LED显示、MAX7219、AT89C51、点阵LED显示器一、 任务设计一个单片机时钟显示调整系统,其中扩展连接6个8段LED数码管显示器,利用MAX7219显示驱动器驱动LED用于时钟显示和调整,利用8*8点阵LED显示器显示星期。连接3个独立式按键分别控制系统的显示模式切换和时间值增减调整。二、 方案硬件选择:MAX7219驱动器、AT89C51单片机、6位LED显示器、8*8点阵LED、74LS14、74LS245、电阻、CAP电容、PCELECT4U763V电容、晶振、按键、电源三、 功能要求1、 六位数码管显示时、分、秒,以24小时运算2、 点阵LED显示星期3、 可实现对秒、分、时、星期的加减调整四、 程序设计1、主程序设计中计时采用定时器T0中断完成。主程序循环调用显示子程序和查键,当端口有开关按下时,转入相应的功能程序。流程图如图1所示。图1 主程序流程4、 显示子程序 显示由MAX7219驱动的六位显示器和点阵LED显示器共同完成,首先对其进行初始化,然后用单片机控制显示器显示。MAX7219驱动器显示流程图图2 显示子程序5、 定时器T0中断服务程序定时溢出中断周期设为50MS,中断进入后先进行定时中断初值校正,当中断累加到20次时,对秒计数单元进行加1操作。时钟最大计时值为23时59分59秒。在计数单元中,采用十进制BCD码计数,满十进位。流程图如图3所示在程序中采用12MHZ晶振频率,精度为1MS,定时初值为50MS,用循环程序进行20次循环可到1S。当1S到时调用加1程序并判断秒、分是否为60,当秒为60时,秒清零,分加1;当分为60时,分清零。当时满24时,星期加1,时清零,星期由1至7循环。终端结束时,计时单元数据移入对应显示单元。三、按键设置本时钟设置P1.0,P1.1,P1.2接3个按钮开关,用于调时。其中P1.0用于选择调时模式(对星期,小时,分钟,秒的选择),P1.1完成对所选的项目进行增一的操作,P1.2完成对所选项目进行减一的操作。四、程序KEY1BITP1.0KEY2BITP1.1KEY3BITP1.2CLKBITP1.3LOADBITP1.4DINBITP1.5SECONDDATA30HMINUTEDATA31HHOURDATA32HDAY DATA 33HORG0000HAJMPMAINORG000BHAJMPTIMER0MAIN:MOVSP,#60HMOVTMOD,#01HMOVTH0,#0B1HMOVTL0,#0E0HSETBET0SETBEAMOVR2,#50SETBTR0MOVSECOND,#00HMOVMINUTE,#00HMOVHOUR,#00H MOV DAY,#00HMOVA,HOURANLA,#0F0HSWAPAMOV79H,AMOVA,HOURANLA,#0FHMOV7AH,AMOVA,MINUTEANLA,#0F0HSWAPAMOV7BH,AMOVA, MINUTEANLA,#0FHMOV7CH,AMOVA,SECONDANLA,#0F0HSWAPAMOV7DH,AMOVA,SECONDANLA,#0FHMOV7EH,AMOVR3,#00HACALLINT7219 LOOP:ACALLKEYACALLDISPLAYAJMPLOOPINT7219:MOV50H,#0FHMOV51H,#00HMOVR0,#50HACALLSEND7219MOV50H,#0CHMOV51H,#01HMOVR0,#50HACALLSEND7219MOV50H,#0BHMOV51H,#05HMOVR0,#50HACALLSEND7219MOV50H,#0AHMOV51H,#09HMOVR0,#50HACALLSEND7219MOV50H,#09HMOV51H,#0FFHMOVR0,#50HACALLSEND7219 ACALL D1RETDISPLAY:MOV50H,#01HMOV51H,79HMOVR0,#50HACALLSEND7219MOV50H,#02HMOV51H,7AHMOVR0,#50HACALLSEND7219MOV50H,#03HMOV51H,7BHMOVR0,#50HACALLSEND7219MOV50H,#04HMOV51H,7CHMOVR0,#50HACALLSEND7219MOV50H,#05HMOV51H,7DHMOVR0,#50HACALLSEND7219MOV50H,#06HMOV51H,7EHMOVR0,#50HACALLSEND7219 ACALL D1RETSEND7219:CLRLOADMOVR4,#02HCLRCLOP1:MOVR1,#08HMOVA,R0LOP2:RLCAMOVDIN,CSETBCLKCLRCLKDJNZR1,LOP2INCR0DJNZR4,LOP1SETBLOADRET D1: MOV R6,#0FEH MOV R1,#08H MOV A,33H RL A RL A RL A MOV R4,A LP: MOV P3,#0FFH MOV A,R4 INC R4 MOV DPTR,#DTAB MOVC A,A+DPTR MOV P0,A MOV A,R6 MOV P3,A RL A MOV R6,A ACALL DEL DJNZ R1,LP RET DEL: MOV R7,#02H DL0:MOV R0,#0FFH DL6:DJNZ R0,DL6 DJNZ R7,DL0 RETKEY:JNBKEY1,KK1JBKEY1,$INCR3CJNER3,#05H,JMPKK3MOVR3,#00HJMPKK3:AJMPKK3KK1:JNBKEY2,KK2JBKEY2,$MOVA,R3RLAMOVDPTR,#KJMP1JMPA+DPTRKJMP1:AJMPDISCLKAJMPSINCAJMPMINCAJMPHINC AJMP DINCSINC:MOVA,SECONDADDA,#01HDAAMOVSECOND,ACJNEA,#60H,DISS1MOV30H,#01HDISS1:AJMPDISSMINC:MOVA,MINUTEADDA,#01HDAAMOVMINUTE,ACJNEA,#60H,DISM1MOVMINUTE,#00HDISM1:AJMPDISMHINC:MOVA,HOURADDA,#01HDAAMOVHOUR,ACJNEA,#24H,DISH1MOVHOUR,#00HDISH1:AJMPDISHDINC: MOV A,DAY ADD A,#01H MOV DAY,A CJNE A,#07H,DISD1 MOV DAY,#00H DISD1: AJMP DISDKK2:JNBKEY3,KK3JBKEY3,$MOVA,R3RLAMOVDPTR,#KJMP2JMPA+DPTRKJMP2:AJMPDISCLKAJMPSDECAJMPMDECAJMPHDEC AJMP DDECSDEC:MOVA,#9AHCLRCSUBBA,#01HADDA,SECONDDAAMOVSECOND,ACJNEA,#00H,DISS2MOVSECOND,#59HDISS2:AJMPDISSMDEC:MOVA,#9AHCLRCSUBBA,#01HADDA,MINUTEDAAMOVMINUTE,ACJNEA,#00H,DISM2MOVMINUTE,#59HDISM2:AJMPDISMHDEC:MOVA,#9AHCLRCSUBBA,#01HADDA,HOURDAAMOVHOUR,ACJNEA,#99H,DISH2MOVHOUR,#23HDISH2:AJMPDISHDDEC: MOV A,#9AH CLR C SUBB A,#01H ADD A,DAY DA A CJNE A,#99H,DISD2 MOV A,#06H DISD2:MOV DAY,A AJMP DISDKK3:MOVA,R3RLAMOVDPTR,#KJMP3JMPA+DPTRKJMP3:AJMPDISCLKAJMPDISSAJMPDISMAJMPDISH AJMP DISDDISCLK:MOVR0,#79HMOVR1,#HOURMOVR4,#03HCFLOOP:MOVA,R1SWAPAANLA,#0FHMOVR0,AINCR0MOVA,R1ANLA,#0FHMOVR0,AINCR0DECR1DJNZR4,CFLOOPSETBTR0RETDISS:CLRTR0MOVA,SECONDSWAPAANLA,#0FHMOV7DH,AMOVA,SECONDANLA,#0FHMOV7EH,AMOV79H,#0FHMOV7AH,#0FHMOV7BH,#0FHMOV7CH,#0FHAJMPKK5DISM:CLRTR0MOVA,MINUTESWAPAANLA,#0FHMOV7BH,AMOVA,MINUTEANL A,#0FHMOV7CH,AMOV79H,#0FHMOV7AH,#0FHMOV7DH,#0FHMOV7EH,#0FHAJMPKK5DISH:CLRTR0MOVA,HOURSWAPAANLA,#0FHMOV79H,AMOVA,HOURANLA,#0FHMOV7AH,AMOV7BH,#0FHMOV7CH,#0FHMOV7DH,#0FHMOV7EH,#0FH AJMP KK5 DISD: CLR TR0 MOV 79H,#0FH MOV 7AH,#0FH MOV7BH,#0FHMOV7CH,#0FHMOV7DH,#0FHMOV7EH,#0FHKK5:RETTIMER0:PUSHACCPUSHPSWMOVTH0,#0B1HMOVTL0,#0E0HDJNZR2,NEXTMOVR2,#50MOVA,SECONDADDA,#01HDAAMOVSECOND,ACJNEA,#60H,NEXTS1:MOVSECOND,#00HMOVA,MINUTEADDA,#01DAAMOVMINUTE,ACJNEA,#60H,NEXTS2:MOVMINUTE,#00HMOVA,HOURADDA,#01HDAAMOVHOUR,ACJNEA,#24H,NEXTS3:MOVHOUR,#00H MOV A,DAY ADD A,#01H DA A MOV DAY,A CJNE A,#07H,NEXT MOV DAY,#00HNEXT:POPPSWPOPACCRETI DTAB:DB 00H,08H,08H,08H,08H,08H,08H,00H DB 00H,04H,24H,24H,24H,24H,04H,00H DB 00H,02H,52H,52H,52H,52H,02H,00H DB 00H,0FFH,91H,0F1H,81H,0F1H,91H,0FFH DB 91H,91H,91H,0FFH,91H,91H,9FH,01H DB 20H,22H,24H,0A8H,60H,28H,24H,22H DB 00H,00H,0FFH,91H,91H,0FFH,00H,00HEND
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纪检监督知识培训会讲话课件
- 2025年度蔬菜水果储藏室购置与保鲜技术合同
- 2025年度风力发电场施工合同条件2
- 2025版化工设备采购与专业维护合同
- 2025调料品国际采购与分销合同
- 2025年度商品混凝土节能技术改造投资合作协议
- 2025年度合同财务审计与风险评估制度
- 红酒杯知识培训方案设计课件
- 红酒品鉴礼仪和知识培训课件
- 红酒业务培训课件
- ZDMS0.65S-A-YA型、ZDMS0.610S-A-YA型自动跟踪定位射流灭火系统现场控制箱使用说明书-佑安高科
- 无废校园知识培训课件
- 2025奇台县公安局招聘警务辅助人员(144人)考试参考题库附答案解析
- 中级政工考试题库及答案
- 助老员督导培训课件
- 医疗公司加盟管理办法
- 2025年浙江省中考道德与法治试题答案详解讲评(课件)
- 广州南沙深化面向世界的粤港澳全面合作白皮书(2022.06-2025.06)
- 2025年全国保密教育线上培训考试测试卷必考附答案详解
- 2025年陕西教师编制招聘考试笔试试题(含答案)
- 2025年高考英语新课标Ⅱ卷点评及2026备考方向 课件
评论
0/150
提交评论