网站大量收购独家精品文档,联系QQ:2885784924

电子万年历的设计与实现-精简版文章.doc

电子万年历的设计与实现-精简版文章.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业论文毕业设计开题报告论文报告设计报告可行性研究报告

理学院 School of Sciences 课程论文 课程名称 课程编码 开课学期 论文题目 学号 姓 名 班级 指导教师 设计思路 1.时钟电路 电子万年历既可以通过纯硬件实现,也可以通过软硬件结合实现,根据电子时钟中核心部件——秒信号的产生原理,通常使用以下形式:采用NE555时基电路的实现形式。其核心部分555的秒脉冲发生器如图1所示: 图1 基于555的秒脉冲发生器 采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。由555构成的秒脉冲发生器电路见图1-1。输出的脉冲信号VO的频率F=1.443/(RA+2RB)×C,可通过调节这3个参数,使输出VO的频率为精确的1Hz。 2.显示电路 就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051本身无专门的液晶驱动接口,因此,本设计采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合。初始化时,由软件编写的指令就集中在显示功能的设置上。LGM12641BS1R的指令可带一个、两个参数,或无参数。若指令中含有参数,则每条指令执行时均须先送入参数,再送入指令代码。由于状态位作用不一样,因此执行不同指令必须检测不同状态位。液晶显示模块LGM12641BS1RLGM12641BS1R 3.控制电路 由于我设计的是电子万年历,需要实现多种功能的显示,并要能够切换显示和调节年月日,因此,在设计过程中按键的设计就显得尤为重要。 在设计过程中我一共采用了4个按键,尽量在小的空间里实现最多的功能。其中MODE键是年月日与时间显示切换键,按下一次就能够更换一次显示位。在调整显示环境下UP和DONW键是显示调整位的的加1减1键,FUNCTION键实现清零,并提高万年历显示的精确性。按键电路如图3所示: 图3 按键电路 硬件的设计 我选用的是单片机(8052)来实现电子万年历的功能。共具备两个功能: (1)显示年月日及分秒信息 (2)具有可调整日期和时间功能。 1.8052引脚说明 8052 是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图图6: 图6 8052引脚 P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。 2.硬件电路的总体框图设计 该设计的硬件电路的总体框图如图4所示: 图4 总体框图 3.硬件电路原理图设计 该万年历是以单片机8052为核心来完成的。在硬件电路中采用P0口作为6位液晶显示电路的驱动接口,这是由于P0口输出驱动电路工作处于开漏状态,它的驱动能力强,故只需外接上拉电阻便可以把LED数码管点亮。因为共阴的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该电路中的8位LED数码管均用共阳阴极的数码管。8位LED数码管的位选线分别由相应的P2. 0~P2. 5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。P3口与八个校时按键相连,以成功实现万年历校时的功能。电路原理图如图5所示: 图5 硬件电路 三、程序流程图 1.主程序流程图设计 该设计主程序流程图如图7所示: 图7 主程序流程图 2.显示模块流程图 基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,程序流程如图1-11所示。其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“-”。 软件秒脉冲发生器其实质是利用了定时器0的定时溢出中断,将它设定为100ms溢出中断,则10次中断的时间正好为1s。将时间参数设计为100ms的原因有两个: (1)根据系统时钟主频为6M的特点,16位定时器最大定时时间为65536×2M(M为机器周期,这里是2μS),即131ms,取整数100便于计次数; (2)如取的太短,如10ms,则定时器频繁中断,干扰系统正常运行效果。 有了秒脉冲发生器,10次中断为1s,秒指示灯闪亮1次,秒变量单元加1,60后分变量单元加1,如果为60分则时变量单元加1。任何一个变

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档