单片机课程设计-智能电子数字钟设计.doc_第1页
单片机课程设计-智能电子数字钟设计.doc_第2页
单片机课程设计-智能电子数字钟设计.doc_第3页
单片机课程设计-智能电子数字钟设计.doc_第4页
单片机课程设计-智能电子数字钟设计.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

河北建筑工程学院单片机课程设计报告题目名称: 智能电子数字钟设计 系: 电气工程系 专 业: 班 级: 学 号: 学生姓名: 指导教师: 职 称: 2013年 3月 1 日18目 录摘 要1一、系统总体方案设计21、系统结构框图22、系统的基本原理及设计思想23、计时方案3二、系统硬件设计41、电源模块42、单片机模块43、晶振电路模块54、LED显示电路模块55、独立键盘模块66、复位电路模块77、报时电路模块7三、系统软件设计81、主程序流程图82、按键检测子程序流程图93、定时器中断子程序流程图94时间显示子程序流程图10结 论12参考文献12附 录131源程序132主程序13定时器中断子程序144、LED显示子程序145按键控制子程序166总电气原理图17摘 要近年来,随着电子产品的发展,人们对数字时钟的要求越来越高,本文针对人们的这一需求,设计了一种由单片机控制的智能化数字时钟,功能强大,界面友好,更好的满足了人们对它的智能化要求。智能电子数字钟是采用AT89C51单片机内部定时器来实现定时功能的,通过LED驱动器MC14543来实现LED动态扫描驱动,通过增量键盘预置和调整时间、星期。秒计数器满60向分计数器进位,分计数器满60向时计数器进位,时计数器以24为一个周期。AT89C51单片机内部计数器的输出经LED动态扫描驱动器MC14543送到七位共阴显示器,可将星期、时、分、秒在相应位置正确显示,并实现整点报时功能。关键词:智能数字钟;AT89C51;LED一、系统总体方案设计 由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。设计中采用单片机技术来实现数字钟的功能。采用AT89C51单片机,用由LED驱动器MC14543构成的7位LED显示电路。还有一些其他控制电路,如:晶振电路,复位电路,报时电路和键盘电路。1、系统结构框图系统由六个模块组成,既:单片机模块、晶振电路模块、复位电路模块、独立键盘模块、报警电路模块和显示电路模块。按照系统设计功能的要求。电路系统构成框图如图1所示。 报时电路显示电路独立键盘单片机AT89C51晶振电路复位电路图1 系统构成框图电源电路2、系统的基本原理及设计思想使用9V干电池经LM7805稳压,再经稳压管D1稳压后输出+5V直流电,供给AT89C51单片机模块、晶振电路模块、复位电路模块、独立键盘模块、显示电路模块和报时电路模块所需的工作电源,电源正常工作由LED指示灯指示。AT89C51单片机的内部电路在时钟信号的控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。复位是单片机的初始化操作,只需给AT89C51的复位引脚RESET加上大于2个机器周期的高电平就可使AT89C51复位。当AT89C51进行复位时,PC初始化为0000H,使AT89C51单片机从程序存储器的0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行出错(如程序“跑飞”)或操作错误使系统处于“死锁”状态时,也需要按复位键即RESET为高电平,使AT89C51摆脱“跑飞”或“死锁”状态而重新启动程序。键盘的任务有三项:(1)首先判别是否有键按下。若有,进入下一步工作。(2)识别哪一个键被按下,并求出相应的键值。(3)根据键值,找到相应键值的处理程序入口。在本设计中,键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。通过键盘,可以预置时间、星期。常见的LED数码管为“8”字型的,共计8段。每一个段对应一个发光二极管。这种数码管显示器有共阳极和共阴极两种,本文采用共阴极接法。共阴极LED数码管的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。采用MC14543作为LED驱动器来实现LED的动态扫描驱动,通过七位共阴LED显示星期、时、分、秒。通过加入一个使用晶体管驱动的蜂鸣器报时电路,当时间到达整点时,报警电路进行报时。工作原理为:P1.7接晶体管基极输入端,当P1.7输出高电平时,晶体管导通,压电式蜂鸣器两端获得+5V电压而鸣叫;当P1.7输出低电平时,晶体管截止,蜂鸣器停止发声。23、计时方案电脑数字钟的秒信号是利用AT89C51单片机内部定时器TO产生的。由于振荡器的晶振频率为12MHz,使得TO的最大定时时间远远小于1秒,因此,在设计时采用了硬件计数与软件计数相结合的方式,即通过TO产生0.1S的时基信号,然后再利用软件进行计数,从而产生1秒钟的时间信号。在设计中,定时器TO采用了中断方式。当定时时间到时,定时器向CPU申请一次中断,CPU响应中断后转入中断服务程序,在TO的中断服务程序中实现时、分、秒的累加,即每产生一次中断,0.1S时基单元的内容加1,当0.1S时基单元的内容等于10时,便产生1S信号,使秒计数单元的内容加1,并将0.1S时基单元的内容清0;当秒计数单元计满60后,向分计数单元进位,使分计数单元的内容加1,并将秒计数单元的内容清0;当分计数单元计满60后,向时计数单元进位,使时计数单元的内容加1,并将分计数单元的内容清0;时计数单元计满24后清O。3二、系统硬件设计系统是以AT89C51为核心控制器,外加一些控制电路来实现数字钟的基本功能。1、电源模块电源模块如图2 电源电路,考虑到测量仪器的应用方便,本设计采用9V干电池经LM7805稳压,再经稳压管D1稳压后输出+5V直流电,供给AT89C51单片机模块、晶振电路模块、复位电路模块、独立键盘模块、显示电路模块和报时电路模块所需的工作电源,电源正常工作由LED指示灯指示。图2 电源模块2、单片机模块本设计采用AT89C51单片机。AT89C51单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在线可编程存储器。AT89C51有5个中断源,2个可编程的16位定时器/计数器。低功耗节电模式有空闲模式和掉电模式。AT89C51的引脚图如下图所示:(1)RESET:复位信号输入端,高电平有效。(2)/VP: 是外部程序存储器访问允许控制端。(3)XTAL1/XTAL2:片内振荡器反向放大器和时钟发生器电路的输入/输出端。(4):片外程序存储器的读选通信号,低电平有效。(5)ALE/:ALE为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号,将低8位地址锁存在片外的地址锁存器中。4(6)P0口:8位,漏极开路的双向I/O口。(7)P1口:8位,准双向I/O口,具有内部上拉电阻。(8)P2口:8位,准双向I/O口,具有内部上拉电阻。(9)P3口:8位,准双向I/O口,具有内部上拉电阻。还可提供第二功能。图3 单片机模块3、晶振电路模块晶体振荡器电路给数字钟提供一个频率稳定准确的12MHz的方波信号。AT89C51内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定 的自激振荡器,图4为AT89C51内部时钟方式的电路。图4 晶振电路模块电路中的两个电容典型值通常选择为30pF,该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体振荡的范围通常是在1.212MHZ。晶体的频率越高,系统的时钟频率越高,单片机的运行速度也就越快。54、LED显示电路模块系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。图中的MC14543作为LED驱动器来实现LED的动态扫描驱动,而7个4.7千欧姆电阻则起限流作用。由LED驱动器MC14543构成的7位LED显示电路如图5所示。图5 显示电路模块要想让数码管那一段亮,在该数码管位控段为高电平的情况下给这段送高电平就可以了。显示电路结构采用动态扫描的方式,所有数码管的段控端公用LED驱动器MC14543的7根输出线,数码管的段控端a、b、c、d、e、f、g分别通过一个510欧姆的电阻接到MC14543输出口的a、b、c、d、e、f、g口线上,每个数码管的位控线单独占用单片机P2口一根输出口线,7位数码管从高位到低位分别接P2.0P2.6引脚。段控码(高电平有效)由P0口输出经上拉电阻上拉电压后通过驱动器MC14543送到数码管的段控端,位控码由P2口输出经三极管S9012驱动后送到数码管的位控端。65、独立键盘模块独立式键盘的特点是:一键一线,各键相互独立,每个按键各接一条I/O口线,通过检测I/O输入线的电平状态,可以很容易地判断哪个按键被按下。图6中的上拉电阻保证按键释放时,输入检测线上有稳定的高电平,当某一按键按下时,对应图6 键盘电路模块的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,就很容易识别出哪个按键被按下。在本设计中,用四个键来实现对星期和时间的校对,按Kweek来调节星期,按Khour来调节小时的时间,按Kmin来调节分针的时间,按Ksec来调节秒的时间。6、复位电路模块图7所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。按键手动复位有电平和脉冲两种方式,本设计采用按键电平复位电路,它是通过复位端RESET经电阻与Vcc电源接通而实现的,它兼具上电复位功能。因本系统的晶振的频率为12MHz,所以,复位信号持续时间应当超过2S才能完成复位操作。7图7 复位电路模块7、报时电路模块当LED显示器所显示的时间为整点时,单片机系统能够发出提醒声音使人们警觉,使用单片机系统的I/O口很容易实现该功能。在图8中,P1.7接晶体管的基极输入端。当P1.7输出高电平时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P1.7输出低电平时,晶体管截止,蜂鸣器停止发声。8图8 报警电路模块三、系统软件设计软件程序的设计是根据硬件电路图的连接和各个元器件的功能进行设计。在编写软件时,可以按各个程序的功能将软件细分为各个功能模块,再通过主程序的调用来实现整个软件系统。而一般编写的程序都是根据事前所用的流程图来编写的,而且,流程图中也包含了对设计所得结果的要求,因此,流程图的设计直接影响到源程序的设计。91、主程序流程图主程序的功能主要是读时间,将时间数据送到LED数码管显示,再判断是否有按键按下,从而进行校时功能。当到达整点时,发出报时音。其流程图如图8所示。开 始初始化启动定时器按键检测时间显示、等待定时中断调整时间整点时间时间调整子程序发“嘀”一声YNNY图8 主程序流程图主程序的功能是完成系统的初始化,然后启动定时器,定时器启动后再进行按键检测,检测完后,就可以显示时间。2、按键检测子程序流程图先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。按键检测子程序流程图如图9所示:开 始秒按键是否按下?取秒键值返 回NYYYNNN分按键是否按下?取分键值Y取时键值分按键是否按下?星期按键是否按下?取星期键值图9图9 按键检测子程序流程图3、定时器中断子程序流程图定时器中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加l;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。定时器中断流程图如图10所示:开 始1秒时间到?秒单元加1秒单元清零, 分单元加1分单元清零, 时单元加160秒时间到?60分钟到?24小时到?时间显示时单元清零中断返回NYYYYNNN图10 定时器中断子程序流程图4、时间显示子程序流程图时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。时间显示子程序流程图如图11所示:开 始秒个位计算显示秒十位计算显示分十位计算显示分个位计算显示时个位计算显示时十位计算显示时十位计算显示星期计算显示结 束图11 时间显示子程序流程图结 论此次智能电子数字钟课程设计的设计过程中我受益匪浅。通过对自己在单片机中所学知识的回顾,并充分发挥对所学知识的理解和思考,最终完成了本次设计。提高了我分析和解决问题的能力,也培养了我运用所学知识解决实际问题的能力。我意识到,只有理论水平提高了,才能够将课本知识与实践相整合,以增强自己的动手能力。也使我知道了理论和实际的距离,也知道了理论和实际想结合的重要性,通过实际动手和去网上以及图书馆查找一些资料,我从中学到了很多书本上无法学到的知识。参考文献1李朝青. 单片机原理及接口技术(简明修订版) M. 杭州: 北京航空航天大学出版社,1998.2李广弟. 单片机基础M. 北京: 北京航空航天大学出版社,1994.3 高吉祥. 电子技术基础实验与课程设计M. 电子工业出版社,2002.4 康华光. 电子技术基础M. 北京:高等教育出版社,2002.5 李中发. 数字电子技术M. 北京:中国水利水电出版社,2004:302一306.6 胡汉才. 单片机原理及其接口技术M. 北京:清华大学出版社,2004.7 康光华. 电子技术基础模拟部分M. 北京:高等教育出版社,2006.8 梅丽凤、王艳秋等. 单片机原理及接口技术M. 北京:清华大学出版社,2004.9 阎石. 数字电子技术基础(第四版) M. 北京:高等教育出版社,1998.10 郁汉琪. 数字电子技术实验及课程设计M. 北京:高等教育出版社,1995. 附 录1、源程序表1 P1口对应段码及数值显示数字P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.016进制代码dpgfedcba0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH2、主程序#includereg52.h sbit ksec=P10; sbit kmin=P11; sbit khour=P12;sbit kweek=P13;unsigned char secshi=0, secge=0, minshi=0, minge=0, hourshi=0, hourge=0, week=0;unsigned int num=0, sec=0, min=0, hour=0,week=0;unsigned char codetable10=0x3f, 0xxx, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f;void delay (unsigned int);void keyscan();void display();main()TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1;while(1) display(); keyscan();void delay (unsigned int z)unsigned int x, y;for (x=z; x0; x-)for (y=110; y0; Y-);3、定时器中断子程序void time0() interrupt 1num+;TH0=(65536-50000)/25

温馨提示

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

评论

0/150

提交评论