欢迎来到天天文库
浏览记录
ID:13218320
大小:204.00 KB
页数:12页
时间:2018-07-21
《《单片机原理及应用》电子时钟课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机原理及应用课程设计报告(2013—2014学年第一学期)题目基于单片机的电子时钟设计系别电子与电气工程系专业通信工程班级1120331学号姓名指导教师完成时间2013-11-28评定成绩12目录一、设计的目的3二、设计的内容与要求3三、设计方案4四、硬件、软件设计4五、设计总结4六、参考文献412一、设计的目的在基本掌握了《单片机原理及应用》课程知识的基础上,完成课程设计项目的设计。通过课程设计环节的训练,包括设计方案的论证、硬件设计、程序编写和设计报告的撰写,掌握单片机应用项目的设计流程和方法,加深对《单片
2、机原理及应用》课程知识的理解和掌握,培养应用系统的设计能力,初步积累单片机系统开发经验,以及分析问题和解决问题的方法,并进一步拓宽专业知识面,培养实践应用技能和创新意识。二、设计的内容与要求根据《单片机原理及应用》课程设计教学大纲、《单片机原理及应用》课程设计指导书,开展课程设计环节。有四个设计项目供选择:步进电机控制、直流电机调速、电子琴或电子时钟。设计内容与要求:(1)选择其中一个设计项目,进行设计方案的比较和论证,确定设计思路和方案;(2)进行硬件设计,画出硬件结构框图,完成电路原理图的设计和元器件选型,必要
3、时应给出重要电路参数的设计和计算过程,以及元器件参数的选型依据;(3)编写单片机的软件程序,先理清软件设计思路并绘制程序流程图,再编写具体的汇编语言或C语言程序语句,并注释说明。成绩评定依据:(分值百分比)(1)确定设计思路和方案——20%;(2)画出硬件结构框图、原理图的设计、元器件选型,给出电路参数的设计依据——30%;(3)绘制程序流程图,再编写程序语句,并注释说明——30%;(4)设计成果的功能完善程度、创新点、演示效果,撰写设计报告的规范性——20%。12设计方案根据定时中断的原理,数码管显示和键盘扫描电
4、路,以及和MCS51单片机的接口方式,通过软件编程,实现时间初值设置,时钟运行和显示。可供使用的硬件电路:1)七段数码管显示电路;2)8155和74LS164“串转并”实现的键盘扫描和数码管控制显示电路;3)串并转换数码管显示电路:通过74LS164实现串入并出,控制四个七段数码管的显示。MCS-51单片机有一个全双工的串行通信接口,当工作于方式0时,为同步移位寄存器输入/输出方式,常用于扩展I/O口,这时串行数据通过RxD引脚输入或输出,引脚TxD输出同步移位信号,收/发数据都为8位,低位在前,波特率为振荡频率的
5、1/12。七段数码管的字型代码表如下表:12一、硬件和软件设计1总原理图1-1数码管显示部分121-2按键部分1操作步骤2-1硬件操作1)LED环境2)PC环境与PC联机状态,在keilc软件输入程序。点击图标,设置“输出”项。点击图标编译文件,编译通过后,点击图标开始调试,等待下载完成。3)观察运行结果点击图标用连续方法运行该程序。此时数码管上实时显示时间值。并按相关按钮对时间进行调整4)终止运行按“暂停图标”或实验箱上的“RST”按键,使系统无条件退出该程序的运行返回监控状态。122-2软件仿真操作1)进入Pr
6、oteus仿真系统2)点击File/OpenDesign,导入设计好的仿真原理图。右击AT89C51芯片,选择“EditProperties/ProgramFile”载入在keilc软件产生的.HEX文件,并“OK”。3)观察仿真结果点击“Play”,数码管上实时显示时间值。1)时间调整按“暂停/开始”按钮,数码管停止计时。按一次“选择”按钮,选中“秒”,并按“上调”或“下调”按钮调整秒;再按一次“选择”按钮,将选中“分”,按相关按钮对分上调/下调。调整完后,再按“暂停/开始”按钮,数码管继续实时计时。3程序源代码
7、/******************************电子时钟********************************/12#include#defineuintunsignedint#defineucharunsignedcharsbitCLK=P1^1;sbitDIN=P1^2;sbitk1_up=P1^3;//设置上调按钮sbitk2_down=P1^4;//下调按钮sbitk_3=P1^5;//暂停/开始按钮sbitk_4=P1^6;//选择按钮bitflag=0;ucha
8、rcodetable1[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};/*共阴极0~9*/ucharzzq[4]={0};//显示缓存ucharsecond,minute;ucharnum_stop=0,us,k_num;voiddelay(uintt)//延迟子程序{uintj;while(t-
此文档下载收益归作者所有