
基于proteus的数字电子钟的仿真设计.doc
14页成绩课程论文 题 目: 基于Proteus的数字电子钟的设计 与仿真 课程名称: 单片机系统设计与Proteus仿真 学生姓名: 马珂 学生学号: 1305010323 系 别: 电子工程学院 专 业: 通信工程 年 级: 13级 任课教师: 徐锋 电子工程学院2015年5月目 录一、设计目的与要求 3二、设计内容与方案制定 3三、设计步骤 31.硬件电路设计 31.1.硬件电路组成框图 31.2.各单元电路及工作原理 41.3.绘制原理图 51.4.元件清单列表 62.程序设计 62.1程序流程 62.2汇编程序 7四、调试与仿真 12五、心得体会 14六、参考文献: 14基于Proteus的数字电子钟的设计与仿真一、 设计目的与要求 设计目的:通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。
设计要求:设计一个时、分可调的数字电子钟、开机显示“9-58-00”二、 设计内容与方案制定具有校时功能,按键控制电路其中时键、分键两个键分别控制时、分时间的调整按分键分加1;按时键时加1以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示三、 设计步骤 1、硬件电路设计1.1.硬件电路组成框图 电源 晶振电路 显示电路AT89C52复位电路 按键控制电路1.2.各单元电路及工作原理(1) 晶振电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式本系统中AT89C51单片机采用内部时钟方式采用外接晶体和电容组成的并联谐振回路其电路图如下:(2) 键盘控制电路 键盘可实现对时间的校对,用两个按键来实现按时键来调节小时的时间,按分键来调节分针的时间其电路连接图如下:(3)显示电路 LED显示器是现在最常用的显示器之一发光二极管(LED)分段式显示器由7条线段围成8字型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光只要按规律控制各发光段亮、灭,就可以显示各种字形或符号显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,采用动态显示方式显示时间,其硬件连接方式如下图所示1.3.绘制原理图 其计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能整个设计图由晶振电路、复位电路、AT89C51单片机、键盘控制电路组成 显示电路将“时”、“分”、“秒”通过七段显示器显示出来,6个数码管的段选接到单片机的P0口,位选接到单片机的P2口数码管按照数码管动态显示的工作原理工作 把定时器定时时间设为50ms,则计数溢出20次即得时钟计时最小单位秒,而20次计数可用软件方法实现,每累计60秒进1分,每累计60分钟,进1小时时采用24进制计时器,可实现对一天24小时的累计 校时电路时用来对“时”、“分”显示数字进行校对调整,时分秒三个控制键分别接单片机的p3.1、p3.0进行控制按一下分键秒单元就加1 ,按一下时键分就加11.4.元件清单列表单片机AT89C51*1电解电容CAP-ELEC 10uF*1瓷片电容CAP 22pF*2电阻RES*10晶振CRYSTAL 11.0592MHz*1数码管7SEG-MPX8-CA-BLUE*1三极管NPN*8按钮BUTTON*3上位排阻RESPACK-8*1 2.程序设计2.1程序程序 数字电子钟采用内部硬件定时器来进行定时,计时最小单位sec100为10ms。
若sec100每计满100次时,表示已经计时1s,则sec100清零且sec加1如果sec等于60,应将sec清零,同时min加1如果min等于60,应将min清零,同时hour加1如果hour大于23时,应将hour清零通过分析可知,程序中可分别由inc_sec()、inc_min()、inc_hour()这是三个函数负责秒、分、时的计时Sec100的计时由Timer0()中断函数来实现 按钮K1(INT0)和K1(INT1)为调时、调分控制按键这两个按钮信号的输入采用外部中断方式来实现若产生外部中断时,通过调用inc_hour()或inc_min()函数来实现调时或调分操作编写显示函数display()时,应考虑小时数小于10时,应屏蔽时的十位数,使其不显示2.2汇编程序c语言编写的程序如下:#include
在项目管理窗口中选中文件组,单击鼠标右键,在弹出的菜单中选择“Add File to Grou`Source Group1`”,添加源程序“数组电子钟.c”到项目组执行命令“Project”-”Build Target”,编译源程序,如果编译成功,则在输出窗口中显示没有错误,并创建了”数字电子钟.hex“文件在已绘制好原理图的Proteus ISIS中,双击单片机,在弹出的对话框选择“数字电子钟.hex”开始仿真,刚运行时1,数码管显示“9-80-00”,而后每隔1s进行累计显示,如图所示,每按一次K1时,小时数会加1,每按一次K2时,分钟数加1五、 心得体会 按分键对分进行调整,按一下加一分;按时键对时进行调整,按一下加一小时,从而达到快速设定时间的目的若满足以上要求则符合方案要求若按一下连续加若干位,则按键延时时间设置太短,可以通过增大延时时间进行改进 通过本次仿真设计,基本掌握了简单的单片机应用设计,以及proteus仿真设计,数字电子钟设计比较简单,以后应多注意设计方面的问题并解决六、 参考文献。
