基于单片机的电子时钟设计_第1页
基于单片机的电子时钟设计_第2页
基于单片机的电子时钟设计_第3页
基于单片机的电子时钟设计_第4页
基于单片机的电子时钟设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

电子设计自动化 基于单片机的电子时钟设计目录1需求分析 21.1基本功能 21.2功能要求说明 22系统总体方案 23系统硬件设计 33.1单片机控制模块 33.2时钟显示模块 43.3按键调时模块 43.4整点报时模块 53.5电子时钟整体电路图 54软件系统设计 64.1设计电子时钟使用单片机资源情况 64.2软件系统模块功能介绍 74.3软件系统程序流程图 75仿真结果,误差分析 115.1设计课题的仿真结果 115.2设计课题的误差分析 12

基于单片机的电子时钟设计1需求分析1.1基本功能1、能够在LED显示器上清晰的显示小时,分钟和秒;2、能够通过按键准确调整小时,分钟和秒;3、具有整点报时的功能。1.2功能要求说明设计一个具有特定功能的电子时钟。该电子时钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子时钟启动/调整键,电子时钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子时钟启动/调整键,则电子时钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后按启动/调整键,则电子时钟再次进入到时钟运行状态。2系统总体方案根据需求分析所要实现功能的具体要求,将整个电子时钟系统分为:单片机控制模块、按键调时模块、时钟显示模块和整点报时模块。设计的总体方案如图1.1所示:图1总体设计方案图本设计的所有的软件、参数均存放在AT89S52的FlashROM和内部RAM中,减少了芯片的使用数量,简化了整体电路也降低了整机的工作电流。由于AT89S52芯片内部FlashROM有8KB,RAM有256个字节,故软件下载编译时有足够的存储空间。键盘采用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字时钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。3系统硬件设计3.1单片机控制模块根据需求分析的要求,单片机控制模块如图3.1所示:图3.1单片机控制模块单片机控制模块包括低功耗、高性能CMOS、8位微控制器AT89S52;复位电路;晶振电路。单片机控制模块中AT89S52是系统控制的核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容,这样就构成一个稳定的自激振荡器。3.2时钟显示模块根据需求分析的要求,电子时钟显示模块如图3.2所示:图3.2时钟显示模块时钟显示模块中LED显示器为8位,采用两个四位一体共阳极数码管作为显示窗口,既可以节约成本又能简化电路。数码管驱动为74LS245芯片。当有脉冲信号时,脉冲信号经过74LS245驱动LED显示器显示当前时间。3.3按键调时模块根据系统分析要求,电子时钟的按键调试模块如图3.3所示:图3.3按键调时模块按键调时模块共用到了3个按键,3个按键采用独立式键盘,S1键控制电子时钟的启动/调整状态,S2键为加1键,S3键为减1键。而且S1、S2、S3任一键都独自连一个I/O(P1.0、P1.1、P1.2)口线,以便使它们能够独立实现相应的电子时钟功能。3.4整点报时模块根据需求分析的要求,电子时钟的整点报时模块如图3.4所示:图3.4整点报时模块电子时钟的整点报时模块主要有蜂鸣器和外围电路组成。3.5电子时钟整体电路图根据需求分析的要求,电子时钟的整体电路图如图3.5所示:图3.5电子时钟电路图4软件系统设计4.1设计电子时钟使用单片机资源情况根据需求分析的要求以及对电子时钟硬件设计的分析,我们经过综合考虑,电子时钟使用单片机资源的情况如下:P0口输出数码管段选信号,P3口输出数码管位选信号;晶振11.0592M;调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:P1.1;按一次使选中位加1;减少键DEC_KEY:P1.2;按一次使选中位减1;P2.1为蜂鸣器发声报时;50H-5FH;16个寄存器单元作为显示单元;50H用于控制秒基准时钟源的产生;51H清零秒寄存器;52H清零分寄存器;53H清零时寄存器;5FH用于秒个位;5EH用于秒十位;5DH用于分个位;5CH用于分十位;5BH用于时个位;5AH用于时十位;54H用于控制调时闪烁;堆栈栈底:70H。4.2软件系统模块功能介绍电子时钟的软件系统主要采用的基本模块有:主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的键码值。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判断键按下等,一种是长延时。4.3软件系统程序流程图系统软件采用汇编语言按模块化方式进行设计,然后通过Keil软件开发平台将程序转变成十六进制程序语言,接着使用Protues进行仿真,读出显示数据。主程序流程框图如4.1所示;加1子程序如4.2所示;中断服务程序程序如4.3所示;键盘扫描子程序框图如4.4所示;显示子程序框图如4.5所示;图4.1主程序流程框图图4.2加1子程序流程框图图3.3中断子程序图4.4键盘扫描子程序图4.5显示子程序5仿真结果,误差分析5.1设计课题的仿真结果在ProteusISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如图5.1与5.2所示。本设计用2个四位一体的共阳数码管做为显示器显示时间值;设计中有三个按键,其中S1为启动/选择调整位置,S2为加1控制键,S3为减1控制键。当整点时间到的时候,蜂鸣器报警。实现功能:电子时钟具有三种工作状态:“P.”状态、运行状态、调整状态。(1)“P.”状态,依靠上电或按复位键进入,在此状态下,按S2、S3键均无效,按S1键有效。当S1键按下时,进入运行状态;(2)运行状态,在此状态下,按S2、S3键均无效,只有按S1键有效,当按下S1键后,退出运行状态,进入调整状态;(3)调整状态,按S1键进入时、分、秒的闪烁,在此状态下,按S2(+1键)、S3(-1键)键均有效;调整结束后必须按S1键,即可退出调整状态,进入运行状态。在调整状态时长按S2、S3时可以连加及连减。时间显示格式为:时-分-秒;图5.1“P.”运行状态仿真图5.2

温馨提示

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

评论

0/150

提交评论