proteus仿真论坛::机械设计制造及其自动化班级:83、84班姓名:周秋松邢文中学号:33183213318412设计时间:2011.11.25proteus仿真论坛:、设计目的……………………………………………………………………1二、具体要求……………………………………………………………………2三、方案论证……………………………………………………………………3四、硬件设计……………………………………………………………………4五、软件设计……………………………………………………………………5六、仿真调试……………………………………………………………………6七、性能测试与分析……………………………………………………………7八、心得体会…………………………………………………………………….8九、参考文献……………………………………………………………………9一、设计目的:(1)在学习了《数字电子技术》和《单片机原理及接口技术》课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的能力。(2)熟悉Ptoteus及Keil软件的调试和仿真。(3)通过实验提高对单片机的认识。(4)通过实验提高焊接、布局、电路检查能力。(5)通过实验提高软件调试能力。(6)进一步熟悉和掌握单片机的结构及工作原理。(7)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解电路参数的计算方法。(8)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。(9)通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程,为今后从事相应打下基础。二、具体要求:(1)、实时显示秒、分、时、年等(可自动或手动设置显示)(2)、具有定时功能(3)、能调整时间、日期(4)、能调整定时时间(5)、时钟走时误差一天少于1分钟三、方案论证:proteus仿真论坛:。方案一:利用数字电子电路的知识制作时钟,利用74LS160计数的简易数字控制电路,由NE555产生频率为1HZ的输入信号,经过74LS48译码由数码管显示。当数字大于100时有指示灯显示,大于300时返回。方案二:基于AT89C51单片机来制作电子时钟,其最大的好处就是可最大的调整时钟使其的准确度更高。所以根据课题要求为了得到更好的最确度所以决定选择方案二作为本设计的方案。其可归结如下:表一(1)使用12MHz的晶振作为单片机的外部时钟输入,一个机器周期为1us(2)使用定时器0作为时钟计数器,当计数满8ms时定时器0产生中断,当中断满125次时,调用时间模块进行加1操作。先对秒进行加1,若加1后等于60秒,则清除秒单元,同时向分进1,同理,对分、时进行同样操作。(3)P3.0选择键P3.1为加控制键P3.2减控制键P3.4为日期时间切换显示按键。利用发光二极管作为显示定时用,当定时时间到,从P3.3输出一低电平点亮发红光二极管。P3.3为发光二极管闪烁(4)年、月、日的判断。取年单元的数据除以4,若余数为零,则该年为闰年,再判断月单元是否为2月,若为2月则当月天数加1;若年单元数据除以4后余数不为零,则正常取表格的数据。数码管AT89C51基本系统串行时钟电源proteus仿真论坛:、硬件设计:根据要求我所制作的电路原理图用pltel99se画得如下表二:表二:根据表二的原理图我们可以得到如下表三的PCB板图:proteus仿真论坛:、软件设计:系统软件采用汇编语言按模块化方式进行设计,然后通过KeilC51软件开发平台将程序转变成十六进制程序语言,接着使用Proteous进行仿真,其次,按照Proteous的仿真电路图,在Protel99SE中完成电路板的逻辑布局及布线。系统程序主要包括主程序,读出时钟子程序和显示数据刷新子程序。程序详情请看程序附件;程序流程图如下主程序流程图开始清显示缓冲区初始化定时计数器赋时钟初值开定时器调整时间数码管显示当前时钟值定时中断恢复初值,保护中断4000次0.1秒单元清0.60秒到吗?秒单元清0,60分到吗?分单元清0,24小时到吗?时单元清0堆栈返回0.1秒加1秒加1分加1时加1YYYYNNNNproteus仿真论坛:、仿真调试:软件仿真:我们在进行硬件制作前我们都对我们的制作进行了软件仿真,本次我们用了proteus7.0进行了软件的仿真仿真图如下图,根据仿真图的显示结果我的电路设计已经达到了课题的基本要求。七、性能测试与分析本设计是基于MCS的时钟设计,用2个四位一体的共阴数码管做为显示器,它时实显示时间值;设计中有五个按键,其中K1为选择调整位置,K2为加控制键K3为减控制键,K4为日期和时间的切换显示,K5为闹钟存储按键,按下该键时会存储好当前时间值,当到设计值时,蜂鸣器报警。这样的结果与设计要求完全相符,本设计成功。八、心得体会很快一个星期的单片机实习课已经结束了,在这个星期里我们组根据老师第一节课上说的要求,在机房,或回到宿舍时都一起商量参考一些图书与网上资源,再结合老师给的范例,在绘图软件上画出电路图,并写入C语言的程序,然后运行。开始时并不那么如意,碰到很多问题,比如显示屏不出现数字,还有后来的数字异常等,但在老师与同学的帮助下,我们最终还是解决了问题。很感谢老师在这周给我们实验上得帮助。让我们学到很多知识,也学会了处理一个问题的方法,从基础入手,从根本学起,那后面的问题都会很容易解决的。九、参考文献1.单片机基础北京航空航天大学出版社.proteus仿真论坛:.电子报合订本(上)四川出版集团﹒四川科学技术出版社.3.C程序设计完全手册人民邮电出版社