您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于protues单片机的电子钟设计
重庆邮电大学电子设计自动化技术与应用设计报告设计题目:基于单片机的电子钟设计学院:通信学院姓名:*******学号:S*******目录一、需求分析.................................................1二、系统分析.................................................12.1硬件系统分析.........................................12.2软件系统分析.........................................2三、系统设计.................................................23.1主程序流程图.........................................23.2子程序流程图.........................................3四、硬件电路设计.............................................54.1电源电路.............................................54.2晶振模块设计.........................................54.3复位模块设计.........................................54.4按键模块设计.........................................64.5显示电路.............................................6五、系统仿真.................................................7六、心得与总结...............................................71基于单片机的电子钟设计一、需求分析名称:电子钟设计输入:功能按钮key1、key2、key3、输出:数码管显示需实现的功能:显示时钟,24小时制,并可以对时钟进行修改。二、系统分析2.1硬件系统分析电子钟要包括信号发生器、时间显示电路、按键电路、供电电源。整个系统用单片机作为中央控制器,由单片机执行采集芯片内部时钟信号,时钟信号通过单片机I/O口传给单片机,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出、LED的显示及相关的控制功能。系统设有按键模块用于对时间进行调整及扩展多个小键盘,系统整体框图如图(1)所示。该系统使用AT89C51单片机,完成电子钟的主要功能。AT89C51按键模块晶振电路显示模块复位电路图(1)系统框图(1)单片机芯片的选择:本实验选用的是AT89C51单片机芯片。该芯片的主要特点是:与MCS-51兼容,可反复擦写1000次的Flash只读程序存储器,三级程序存储器锁定,128×8位内部RAM,5个中断源,两个16位定时器/计数器,片内振荡器和时钟电路。128×8位内部RAM,全静态工作:0Hz-24MHz。(2)数码管显示的选择:本实验选用的是动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,人的视觉暂留功能才可察觉不到字符闪烁。显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可以实现较高稳定度的显示。22.2软件系统分析用基于单片机的嵌入式系统实现电子钟,需要监控程序和中断服务子程序。监控程序分成两部分,第一部分是初始化程序,对系统硬件资源和软件资源初始设置。第二部分是循环监控程序如图(2)所示,整个系统在此循环程序中完成不断扫描检测键盘、对按下的键进行分析和处理,,转到相应的程序段执行相关功能。同时在扫描键盘的过程中,不断刷新输出显示器现有的显示和及时更新显示内容。计时中断服务子程序完成时钟的更新。调整时钟系统状态记录数码管显示驱动扫描键盘键盘编码显示内容系统当前状态系统次状态计时中断图(2)循环监控程序图三、系统设计3.1主程序流程图初始化显示子程序计数程序开始键盘扫描子程序图(3)主程序流程图33.2子程序流程图(1)计时中断子程序使用计数器T0计数,每50ms中断去修改时钟缓冲区内容。如图(4)(2)显示流程图如图(5)所示循环次数tt加1计数器重新加载开始tt=20(满一秒)tt=0sec加1sec=0min加1hour=0sec=60hour=24min=60min=0hour加1YNNYNYNY开始位控码送入位控口(P2口)结束位控码变化段控码变化延时段控码送入段控口(P0口)查表取段控码8位显示是否完成图(4)定时中断计数流程图图(5)显示流程图4(3)按键流程图,如图(6)所示开始初始化key1是否按下num=1key2是否按下key3是否按下sec加1sec减1sec=0sec=60sec=-1sec=59YYYYNNNNkey1是否按下num=2key2是否按下key3是否按下min加1min减1min=0min=60min=-1min=59YYYYNNNNkey1是否按下num=3key2是否按下key3是否按下hour加1hour减1hour=0hour=24hour=-1hour=23YYYYNNNNNYNYYNkey1是否按下num=4YNnum=0,图(6)按键流程图5四、硬件电路设计4.1电源电路本数字电子钟设计所需电源电压为直流、电压值大小5V的电压源。从硬件实物设计简易程度考虑,用两节电压值大小2.5V干电池与电路电压源引脚相连接即可达到硬件设计要求。4.2晶振模块设计51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。单片机芯片可使用内部时钟电路和外部时钟电路两种方式产生电路所需的时钟脉冲,内部时钟电路实现可用石英晶体和微调电容外接即可达到,外部时钟电路实现需要一个外部脉冲源引入脉冲信号以保证个单片机之间时钟信号的同步。从硬件实现难易角度考虑,内部时钟电路的实现比外部时钟电路的实现更简易。既本数字电子钟设计所需的时钟源采用内部时钟电路实现。所用定时方式为工作方式1,石英晶振为12M,即最小定时时间为1us,最大定时时间约为65.5ms,其电路图如下图所示。4.3复位模块设计单片机复位方式分自动复位与手动复位,此处设为手动复位。按键会在RESET引脚产生一个高电平,使系统复位。原理图如下:64.4按键模块设计因为系统需要按键数量比较少,所以采用独立按键的方式进行控制。当按key1时,进入调整时间状态,可以对时分秒分别进行调整。key2和key3的功能是分别对当前的光标所在的数字进行加一或减一。电路图如下:4.5显示电路7五、系统仿真六、心得与总结经过十几周的电子设计实验的学习和一段时间的努力完成了“基于单片机的电子钟”的设计。这个设计利用Protues软件的仿真来实现24小时制的电子钟的时、分、秒显示以及时钟的修改与调整,可以完成小时数、分钟数、秒数的增加与减少。通过这次设计,初步掌握了Protues软件的简单实用,在设计的初期发现Protues的很多知识还需要了解,在不断的查阅资料后开始了设计。在这次设计中发现了自己的许多不足之处,由于对Protues没有大量的实战经验,很多方面掌握的不全面,走了不少弯路;最初对设计没有一个完整的概貌,考虑的不是很全面,碰到了不少困难,但最终还是完成了设计。通过这次的设计学到了不少的东西,对Protues有了更多的了解和掌握。而且熟练了用C语言编程,为以后的设计打下了更坚实的基础。
本文标题:基于protues单片机的电子钟设计
链接地址:https://www.777doc.com/doc-6437708 .html