西南科技大学 2011级微机原理与接口技术
课题名称 姓 名 学 号 、系、部专 业 指导教师 课程设计报告
微机原理与接口技术
制造科学与工程学院
2014年 月 日
院
一、设计任务及要求: 设计任务: 1、利用MCS-51内部定时器定时,编程实现年、月、日、时、分、秒的显示,显示格式为: 年月日: 10-06-18 时分秒: 09-12-35 也可自行设定显示格式,两部分可按键切换显示; 2、能按键调整日期、时间的数值; 3、可设定时间报警,报警的时间至少有2个,报警时应有报警指示。 4、要求至少调试出任务的前两项。 要 求: 首先进行预设计,根据设计的任务要求,先确定设计的硬件电路方案,然后进行硬件电路的初步设计,在计算机上画出硬件电路图,在老师的指导下进行修正硬件电路图,并对所涉及的参数进行计算。 在确定硬件的基础上,要进行软件的总体设计,包括软件主流程的设计以及各子程序的设计,同时,要写出详细的操作说明,如时间的调整方法,显示窗口的时间切换等,以配合软件的设计。 然后进入硬件的调试及编程工作,设计组内的同学可根据任务分工,有调试硬件各功能模块的,如键盘子程序、显示子程序等,有进行整体程序的编制的,各模块的编制过程中要注意资源的衔接。 最后进入联机调试,联机调试的原则也要采用分步走的原则,各个功能模块要逐步套入,通过一个再增加一项功能,从而达到设计的总体要求,不要上来编制个最大的程序,最后无法查找错误。 最后写出设计报告。 指导教师签名: 2014年 月 日 三、成绩 指导教师签名: 年 月 日
1
目 录
一、 绪 言??????????????????????????????????1 二、系统设计?????????????????????????????????1
2.1系统整体流程图????????????????????????????1 2.2日历时钟的控制方案论证???????????????????????1 2.3单片机的选择方案论证?????????????????????????2 2.4键盘选择方案论证???????????????????????????2 2.5显示模块的选择方案论证????????????????????????2 2.6模块的选择方案论证??????????????????????????2 三、硬件电路设计??????????????????????????????2
3.1日历时钟的控制电路图?????????????????????????2 3.2行列式键盘的设计??????????????????????????3 3.3数码管显示电路的设计?????????????????????????3 3.4蜂鸣器驱动电路的设计?????????????????????????4 3.5主要元器件选择????????????????????????????4 四、程序流程图???????????????????????????????5 五、 c语言程序设计?????????????????????????????5 六、日历时钟的控制器仿真??????????????????????????19 6.1 Keil调试??????????????????????????????19 6.2 Proteus调试?????????????????????????????19 七、结束语?????????????????????????????????20
八、参考文献????????????????????????????????21
2
1、绪 言
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。 电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用AT89C51单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。数字钟已成为人们日常生活中: 必不可少的必需品, 广泛用于个人家庭以及车站、 码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。 由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性 能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
2、系统设计
2.1 设计任务
1、利用MCS-51内部定时器定时,编程实现年、月、日、时、分、秒的显示,显示格式为: 年月日: 10-06-18
时分秒: 09-12-35 也可自行设定显示格式,两部分可按键切换显示;
2、能按键调整日期、时间的数值;
3、可设定时间报警,报警的时间至少有2个,报警时应有报警指示。 4、要求至少调试出任务的前两项。
2.2 方案比较与论证
2.2.1 系统整体流程图
单片机控制电路 软件控制程序 人机接口
电源电路 显示电路 2.2.2 电子密码锁的控制方案论证 用4*3的行列式键盘组成0-9数字键及确认键、删除键,从矩阵键盘输入8位数密码,起始密码由程序设定,输入完后按确定键开锁,取消键清除所有输入。用8位数码管组成显示
3
电路提示信息,当输入密码时,只显示“-”,当密码位输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则开锁,此处用LED发光二极管亮一秒钟做为提示。当密码不正确时,禁止按键输入3秒,同时启动蜂鸣器发出“嘀、嘀”报警声。 2.2.3 单片机的选择方案论证
方案一:采用可编程逻辑期间CPLD 作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高,且从使用及经济的角度考虑我们放弃了此方案
方案二:采用Atmel公司的AT89S52单片机作为控制器。AT89S52是一个低功耗,高性能的51内核的CMOS 8位单片机,片内含8k空间的可反复擦些1000次的Flash只读存储器,具有256 bytes的随机存取数据存储器(RAM),32个IO口,2个16位可编程定时计数器。
综合考虑,选择方案二,采用Atmel公司的AT89S52单片机作为控制器。 2.2.4 键盘选择方案论证
方案一:采用独立式键盘。由于各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可以很容易的判断哪个按键被按下。此种键盘适用于按键较少或操作速度较高的场合。但本题发挥部分要求12个功能键,按键数目较多,这就需要较多的输入口线,而且电路结构复杂。故此方案不可取。
方案二:采用行列式键盘。它由行线和列线组成,按键位于行列的交叉点上,行线信号和列线信号分别通过两个接口和CPU相连,通过行列扫描法判定按键的位置,此方案适用于按键较多的场合。
通过对电子密码锁题目的分析,采用4*3行列式键盘。 2.2.5 显示模块的选择方案论证
方案一:采用带字库LCD模块显示。能显示复杂的信息,具有质量轻,体积小,功耗低,指令功能强,接口简单,可靠性强等优点,显示内容丰富,图形美观,易于人机交流。但是价格昂贵。
方案二:采用LED数码管显示。数码管能显示数字和符号,但是占用IO口资源较多,对于简单的电路可以选用此方案。
电子密码锁,电路简单,选用方案二,显示所需信息。 2.2.6 模块的选择方案论证
4