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

    单片机模拟电子时钟设计.doc

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

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

    单片机模拟电子时钟设计.doc

    07电气工程及其自动化 07电力 谭善文 单片机课程设计 单片机课程设计课题:单片机模拟电子时钟设计学 院: 自动化学院 专 业: 07电气工程及其自动化(低压电力智能控制方向) 姓 名: 谭善文 学 号: 2007104743002 指导老师: 张华 23目 录一、前言3二、设计目的3三、设计任务与要求3四、设计原理3五、总体设计方案41、硬件电路图4(1)、总电路图4(2)、电源5(3)、晶振5(4)、LED5(5)、复位6(6)、蜂鸣器6(7)、按键6(8)、串行口7(9)、单片机7(10)、数码管82、程序编写10六、小结与展望21七、致谢22八、主要参考文献22一、前言在当今的工作和生活环境中,有越来越多的单片机在为人们服务,例如电视遥控、手机、洗衣机、空调等,单片机几乎无所不在,学习单片微型计算机这门课程,就是为了对单片微型计算机有进一步感性的认识,了解、掌握、应用,甚至设计开发它。让我们能综合运用单片机的软、硬件技术分析实际问题,为工业生产、科学研究和实验设备等领域的单片机应用和开发打下良好的基础。二、设计目的a) 通过单片微型计算机原理与接口技术教程了解单片微型计算机的发展;b) 根据课程设计的要求,学会用汇编语言设计程序,学会应用程序设计调试软件;c) 通过调试程序设计模块,掌握单片微型计算机的结构原理,了解程序设计的编程思想;d) 通过软件调试熟悉使用单片机指令系统,掌握汇编语言程序设计方法及编程技巧,掌握子程序的设计与使用,熟悉中断服务程序的设计及调用过程。三、设计任务与要求任务:利用单片机定时功能实现电子时钟的计时要求:1.设计单片机电子时钟设计控制方案,功能设计;2.详细描述实现需要的硬件,效果等;3.编写汇编语言程序设计,在KEIL仿真实现调试程序;四、设计原理单片机可以利用定时功能实现电子时钟的计时。设计时利用单片机的定时器作为时钟的基准,利用几个单元作为时、分、秒的累计单元,秒到时,秒单元加1,直到59s时,分单元加1,依此类推,可完成年、月、日、时、分、秒的计时工作。五、总体设计方案1、硬件电路图(1)总电路图图1 总硬件电路原理图(2)电源图2 电源部分原理图该电源接上USB口后可输出一个+5V的直流电源。图中C1为电解电容,有储能缓冲作用。C2为一个滤波电容。而R1则为保护电阻,有限流作用。D1为电源工作指示灯。(3)晶振图3 晶振部分原理图该振荡电路可产生11.0952MHZ的频率。XTAL1为输入引脚,XTAL2为输出引脚。Y1为振荡器,C15、C16为微调电容,它们之间形成反馈电路,振荡器即能工作。(4)LED图4 LED接线图该部分主要用来记秒,即每隔一秒,LED指示灯就闪烁一次。(5)复位图5 复位电路原理图开关断开时,复位键RST为低电平,不起作用;当按下按键时,RST变为高电平,将起清零作用。(6)蜂鸣器图6 蜂鸣器电路原理图访电路在T1口的驱动后,经过Q1的放大,作用到BZ1上发出声音,在设计中将用作整点报时。(7)按键图7 按键电路原理图这两个按键在设计中分别用来调整时间和切换显示内容。(8)串行口图8 串行口电路原理图该电路主要由MAX232芯片和它的外围电路组成,可通过它与电脑的串口连接,将程序下载到单片机里。(9)单片机图9 单片机引脚图整个电路的主控芯片。(10)数码管图10 数码管显示电路原理图该电路通过了二片74HC595芯片组成的电路去驱动4位的共阴数码管显示时间。74HC595是一款具有8位移位寄存器和一个存储器,三态输出功能的驱动芯片。移位寄存器和存储器分别具有独立的时钟信号。数据在SHCP的上升沿输入,在STCP的上升沿进入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7),和一个异步的低电平复位(MR),存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。它和74HC164的功能类似,都是串入并出的IO接口,将串行的数据,转为并行的输出,这样可以节约MCU的IO口资源。主要应用在多路LED指示或多位数码管驱动方面。但与74HC164比,595主要还有以下更优越的功能:1.支持3态输出,当第13脚为高电平时,595无输出;2.具有数据锁存功能,这样不会影响移位时的瞬时输出;3.具有数据输出功能,可以更方便的进行595级联其引脚图和引脚功能如下:图11 74HC595引脚图1. 第1脚:数据输出端QB             2. 第2脚:数据输出端QC             3. 第3脚:数据输出端QD             4. 第4脚:数据输出端QE             5. 第5脚:数据输出端QF             6. 第6脚:数据输出端QG             7. 第7脚:数据输出端QH             8. 第8脚:电源GND             9. 第9脚:串行数据输入端SQH,时钟下降沿数据移出             10. 第10脚:复位引脚RESET             11. 第11脚:数据移位时钟输入端SCK             12. 第12脚:数据锁存信号输入端RCK             13. 第13脚:数据输出使能端/OE,低电平有效             14. 第14脚:串行数据输入端A,时钟上升沿数据移入             15. 第15脚:数据输出端QA             16. 第16脚:电源VDD2、程序编写汇编源程序如下:; 电子时钟程序 ;SPK EQU P3.5 ;P3.5端口定义为喇叭org0x0000;程序执行开始地址ajmpmain;跳到标号main执行org0x0003;外中断0中断程序入口; 1秒闪烁子程序 ;org0x000b;定时器T0中断程序入口clrtf0movTH0,#0x4cmovTL0,#0x00djnzr4,ret1;50*20(0x14)=1000ms=1Smovr4,#0x14clrp1.0;每隔1秒指示灯闪烁一次clrp1.1pushaccsetbrs0clrrs1movr0,#0x20; 秒计时控制子程序 ;mova,r0adda,#0x01daa ;二-十进制调整指令movr0,acjnea,#0x60,t0lp1 ;60秒到后分钟加1,秒钟清零mova,#0x00movr0,aincr0; 分计时控制子程序 ;mova,r0adda,#0x01daamovr0,acjnea,#0x60,t0lp1 ;60分到后时钟加1,时钟清零mova,#0x00lcallBZ ;整点到后喇叭报时movr0,aincr0; 小时计时控制子程序 ;mova,r0adda,#0x01daamovr0,acjnea,#0x24,t0lp1 ;24小时到后天加1,时钟清零mova,#0x00movr0,aincr0; 天计时控制子程序 ;mova,r0adda,#0x01daamovr0,acjnea,#0x31,t0lp1 ;30天过后月加1,天归1mova,#0x01movr0,aincr0; 月计时控制子程序 ;mova,r0adda,#0x01daamovr0,acjnea,#0x13,t0lp1 ;12个月过后月归1mova,#0x01movr0,a;t0lp1:noppopaccclrrs0clrrs1ret1:cjner4,#0x0a,ret2jcret2 ;point judgesetbp1.0;point offsetbp1.1 ret2:reti; 电子时钟初始化程序 ;main:mov0x20,#0x15;秒初始化mov0x21,#0x59;分初始化mov0x22,#0x23;时初始化mov0x23,#0x30;天初始化mov0x24,#0x12;月份初始化;clrp1.3clrp1.4clrp1.5;acallT0initmovsp,#0x0f; 显示时分的子程序 ;main1:jbp3.2,hmlpacalldelayjbp3.2,hmlpmovr0,#0x21 acalldisplayajmpmain1; 显示月份与日数的子程序 ; hmlp:movr0,#0x1f acalldisplayajmpmain1; 50ms延时子程序 ;T0init:movTMOD,#0x01movTH0,#0x4c ;50ms延时初值设置movTL0,#0x00setbet0setbeasetbtr0movr4,#0x14 ret; 显示子程序 ;display: movr1,#0x01 movr5,#0x04 ;4bit or 8bitmovdptr,#0x0300loop:movr7,#0x08mova,r1lp2:rlcasetbp1.5jclp1clrp1.5lp1:setbp1.4clrp1.4djnzr7,lp2;mova,r0anla,#0x0fmovca,a+dptrcplamovr7,#0x08lp4:rlcasetbp1.5jclp3clrp1.5lp3:setbp1.4clrp1.4djnzr7,lp4;setbp1.3clrp1.3;acalldelay;mova,r1rlamovr1,a;movr7,#0x08mova,r1lp6:rlcasetbp1.5jclp5clrp1.5lp5:setbp1.4clrp1.4djnzr7,lp6;mova,r0anla,#0x0f0swapamovca,a+dptrcplamovr7,#0x08lp8:rlcasetbp1.5jclp7clrp1.5lp7:setbp1.4clrp1.4djnzr7,lp8;setbp1.3clrp1.3;acalldelay; mova,r1rlamovr1,aincr0djnzr5,loopret; 整点报时子程序 ;BZ:MOV R6, #200B1: CPL SPKACALL DELAY1 DJNZ R6,B1;喇叭响的时间为:R6×R5=0.5s RET; 延时子程序 ;delay:movr6,#0x00del1:djnzr6,del1ret;DELAY1: D1:MOV R5,#250 ;延迟时间为:R5D2: DJNZ R5,D2 RET START1: LCALL display ;调用显示子程序 JB p1.2,SETMM1 ;P1.2口为0时转时间调整程序 SJMP START1 ;P1.2口为1时跳回START1SETMM1: LJMP SETMM ;转到时间调整程序SETMM; 时钟调整程序 ;当调时按键按下时进入此程序SETMM: cLR ET0 ;关定时器T0中断 CLR TR0 ;关闭定时器T0 mov TH0,#0x4cmov TL0,#0x00djnzr4,dede:lcallret1movr4,#0x14 ;调用1秒延时程序 JB p1.2,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电) MOV R2,#06H ;进入调时状态,赋闪烁定时初值 SETB ET1 ;允许T1中断 SETB TR1 ;开启定时器T1SET2: JNB p1.2,SET1 ;P1.2口为0(键未释放),等待 SETB 00H ;键释放,分调整闪烁标志置1SET4: JB p1.2,SET3 ;等待键按下 movTH0,#0x4cmovTL0,#0x00 djnzr4,de1de1:lcallret1movr4,#0x0A ;有键按下,延时0.5秒 JNB p1.2,SETHH ;按下时间大于0.5秒转调小时状态 MOV R0,#77H ;按下时间小于0.5秒加1分钟操作 LCALL ADD1 ;调用加1子程序 MOV A,R3 ;取调整单元数据 CLR C ;清进位标志 CJNE A,#60H,HHH ;调整单元数据与60比较HHH: JC SET4 ;调整单元数据小于60转SET4循环 LCALL CLR0 ;调整单元数据大于或等于60时清0 CLR C ;清进位标志 AJMP SET4 ;跳转到SET4循环;CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。开T0中断 SETB TR0 ;开启T0定时器(开时钟)CLOSE: JB p1.2,CLOSE ;无按键按下,等待。 LCALL display ;有键按下,调显示子程序延时削抖 JB p1.2,CLOSE ;是干扰返回CLOSE等待WAITH: JNB p1.2,WAITH ;等待键释放 LJMP START1 ;返回主程序(LED数据显示亮)SETHH: CLR 00H ;分闪烁标志清除(进入调小时状态)SETHH1: JNB p1.2,SET5 ;等待键释放 SETB 01H ;小时调整标志置1SET6: JB p1.2,SET7 ;等待按键按下 mov TH0,#0x4c mov TL0,#0x00 djnz r4,de2de2: lcall ret1 mov r4,#0x0A ;有键按下延时0.5秒 JNB p1.2,SETOUT ;按下时间大于0.5秒退出时间调整 MOV R0,#79H ;按下时间小于0.5秒加1小时操作 LCALL ADD1 ;调加1子程序 MOV A,R3 CLR C CJNE A,#24H,HOUU ;计时单元数据与24比较HOUU: JC SET6 ;小于24转SET6循环 LCALL CLR0 ;大于或等于24时清0操作 AJMP SET6 ;跳转到SET6循环SETOUT: JNB p1.2,SETOUT1 ;调时退出程序。等待键释放 LCALL display ;延时削抖 JNB p1.2,SETOUT ;是抖动,返回SETOUT再等待 CLR 01H ;清调小时标志 CLR 00H ;清调分标志 CLR 02H ;清闪烁标志 CLR TR1 ;关闭定时器T1 CLR ET1 ;关定时器T1中断 SETB TR0 ;开启定时器T0 SETB ET0 ;开定时器T0中断(计时开始) LJMP START1 ;跳回主程序;SET1: LCALL display ;键释放等待时调用显示程序(调分) AJMP SET2 ;防止键按下时无时钟显示SET3: LCALL display ;等待调分按键时时钟显示用 AJMP SET4SET5: LCALL display ;键释放等待时调用显示程序(调小时) AJMP SETHH1 ;防止键按下时无时钟显示SET7: LCALL display ;等待调小时按键时时钟显示用 AJMP SET6SETOUT1: LCALL display ;退出时钟调整时键释放等待 AJMP SETOUT ;防止键按下时无时钟显示; 加1子 程 序 ;ADD1: MOV A,R0 ;取当前计时单元数据到A DEC R0 ;指向前一地址 SWAP A ;A中数据高四位与低四位交换 ORL A,R0 ;前一地址中数据放入A中低四位 ADD A,#01H ;A加1操作 DA A ;十进制调整 MOV R3,A ;移入R3寄存器 ANL A,#0FH ;高四位变0 MOV R0,A ;放回前一地址单元 MOV A,R3 ;取回R3中暂存数据 INC R0 ;指向当前地址单元 SWAP A ;A中数据高四位与低四位交换 ANL A,#0FH ;高四位变0 MOV R0,A ;数据放入当削地址单元中 RET ; 清零程序 ;对计时单元复零用CLR0: CLR A ;清累加器 MOV R0,A ;清当前地址单元 DEC R0 ;指向前一地址 MOV R0,A ;前一地址单元清0 RET ;org0x0300DB0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,00H ;"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮" 共阴段码表 end六、小结与展望通过这次单片机课程设计,我终于把在课本上的知识应用到了实际当中去。这次课程设计还真是受益匪浅。我基本上熟悉了MCS51单片机的原理和汇编语言程序的设计,掌握了外设接口的编程设计,中断系统,系统扩展等知识。,我不但巩固了自己电力电子的理论知识,还进一步熟练了KEIL仿真软件的应用。用这个仿真软件,不仅可以方便地实现程序的修改,而且还可以直接进行软件仿真,观察程序运行情况。还可以将通过接口把程序下载到硬件电路上调试,真是方便多多啊!这种直观的仿真教学,使我不但验证了书本上的理论知识,而且也对一些抽象难懂的概念有了更加明确直观的理解。同时也能让我综合运用单片机的软、硬件技术分析实际问题,为工业生产、科学研究和实验设备等领域的单片机应用和开发打下良好的基础。本次的课程设计还令我认识到了熟能生巧这个道理。刚刚接触单片机的时候,觉得很难,好像什么都不会,各种各样的助记符、程序更烦,做一道习题或者是设计一个电路都要耗费我很多的时间。但通过这次实训,让我懂得了世上无难事,只怕有心人的道理。再难的事,只要你肯用心,也会变得容易;反之,再容易的事,如果你无心去做,也会变得遥不可及。要学好单片机,我们要走的路还很长。但路漫漫其修玩兮,吾将上下而求索。只要我们不懈努力,我相信我们一定能把任何一件事做好。七、致谢本次单片机课程设计的顺利完成,我要特别感谢我们的张华老师,是他平时理论与实际的讲课方式让我对单片机产生了极大的兴趣和打下了扎实的理论基础。另外,在整个实训过程中,我还要感谢我的队友,是大家在一起讨论,一起研究,互相帮助,才会有我们的共同进步,才能顺利地完成这次的课程设计。感谢大家一起为这次课程设计营造了良好的气氛。这次,我还要特别感谢海杰同学。从实训开始到结束,海杰同学一直都陪着我到实验室调试程序,给了我很大的帮忙。对大家给我的无私帮助,在此我要再一次向他们表示衷心的感谢。八、主要参考文献1)单片微型计算机原理与接口技术 ,高锋, 科学出版社,20072)单片机原理及接口技术, 李朝青,北京航空航天大学出版社,20001. 基于C8051F单片机直流电动机反馈控制系统的设计与研究2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模糊控制的电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器7. 单片机控制的二级倒立摆系统的研究8. 基于增强型51系列单片机的TCP/IP协议栈的实现 9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究11. 基于单片机的作物营养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16. 基于单片机的液压动力系统状态监测仪开发 17. 模糊Smith智能控制方法的研究及其单片机实现 18. 一种基于单片机的轴快流CO,2激光器的手持控制面板的研制 19. 基于双单片机冲床数控系统的研究 20. 基于CYGNAL单片机的在线间歇式浊度仪的研制 21. 基于单片机的喷油泵试验台控制器的研制 22. 基于单片机的软起动器的研究和设计 23. 基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究 24. 基于单片机的机电产品控制系统开发 25. 基于PIC单片机的智能手机充电器 26. 基于单片机的实时内核设计及其应用研究 27. 基于单片机的远程抄表系统的设计与研究 28. 基于单片机的烟气二氧化硫浓度检测仪的研制 29. 基于微型光谱仪的单片机系统 30. 单片机系统软件构件开发的技术研究 31. 基于单片机的液体点滴速度自动检测仪的研制32. 基于单片机系统的多功能温度测量仪的研制 33. 基于PIC单片机的电能采集终端的设计和应用 34. 基于单片机的光纤光栅解调仪的研制 35. 气压式线性摩擦焊机单片机控制系统的研制 36. 基于单片机的数字磁通门传感器 37. 基于单片机的旋转变压器-数字转换器的研究 38. 基于单片机的光纤Bragg光栅解调系统的研究 39. 单片机控制的便携式多功能乳腺治疗仪的研制 40. 基于C8051F020单片机的多生理信号检测仪 41. 基于单片机的电机运动控制系统设计 42. Pico专用单片机核的可测性设计研究 43. 基于MCS-51单片机的热量计 44. 基于双单片机的智能遥测微型气象站 45. MCS-51单片机构建机器人的实践研究 46. 基于单片机的轮轨力检测 47. 基于单片机的GPS定位仪的研究与实现 48. 基于单片机的电液伺服控制系统 49. 用于单片机系统的MMC卡文件系统研制 50. 基于单片机的时控和计数系统性能优化的研究 51. 基于单片机和CPLD的粗光栅位移测量系统研究 52. 单片机控制的后备式方波UPS 53. 提升高职学生单片机应用能力的探究 54. 基于单片机控制的自动低频减载装置研究 55. 基于单片机控制的水下焊接电源的研究 56. 基于单片机的多通道数据采集系统 57. 基于uPSD3234单片机的氚表面污染测量仪的研制 58. 基于单片机的红外测油仪的研究 59. 96系列单片机仿真器研究与设计 60. 基于单片机的单晶金刚石刀具刃磨设备的数控改造 61. 基于单片机的温度智能控制系统的设计与实现 62. 基于MSP430单片机的电梯门机控制器的研制 63. 基于单片机的气体测漏仪的研究 64. 基于三菱M16C/6N系列单片机的CAN/USB协议转换器 65. 基于单片机和DSP的变压器油色谱在线监测技术研究 66. 基于单片机的膛壁温度报警系统设计 67. 基于AVR单片机的低

    注意事项

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

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




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

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

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

    收起
    展开