目 录
一.课程设计目的………………………………………… 1 二.设计要求……………………………………………… 2
总体要求………………………………………………… 2 具体要求………………………………………………… 2 三.设计内容及方法……………………………………… 3 设计准备………………………………………………… 3 功能设计及系统总体设计……………………………… 3 四.硬件电路总体设计…………………………………… 3
硬件总框图……………………………………………… 3 主控电路………………………………………………… 4 按键控制扫描模块………………………………………… 5 DS1302实时时钟模块……………………………………… 6 数码管显示模块…………………………………………… 8 LED显示模块……………………………………………… 9 扬声器模块………………………………………………… 10 硬件原理图………………………………………………… 12
五.软件流程框图及源程序………………………………… 12
流程框图…………………………………………………… 12 主程序流程图……………………………………………… 12 蜂鸣器流程图……………………………………………… 14 流水灯程序流程图…………………………………………… 15 时钟显示流程图………………………………………… 16 作息时间控制流程图……………………………………… 17 源程序代码及注释………………………………………… 18
六.调试情况及小结……………………………………… 33 七.课程设计体会………………………………………… 34 八.参考文献……………………………………………… 35
一、课程设计目的
《单片机原理及应用》课程设计是一项重要的实践性教育环节,是学生在
校期间必须接受的一项工程训练。在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生初步体验单片机应用系统的设计过程、设计要求、完成工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。 通过课程设计,应能加强学生如下能力的培训: (1) 独立工作能力和创造力;
(2) 查阅图书资料,产品手册和各种工具书的能力; (3) 工程绘图的能力;
(4) 编写技术报告和编制技术资料的能力
(5) 综合运用专业及基础知识,解决实际工程技术问题的能力;
二、设计要求
总体要求
(1) 独立完成设计任务 (2) 绘制系统硬件总框图 (3) 绘制系统原理电路图
(4) 制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释; (5) 制定编写调试方案,编写用户操作使用说明书
(6) 写出设计工作小结。对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研修方向。
具体要求
本次工程实践的校内部分主要以单片机为基础,进行单片机软件编程,目的是为了提高学生的软件编程和系统设计能力,整个设计系统包括两个部分,硬件及软件部分,硬件部分已经制作成功,学生只需要掌握其原理和焊接相应的元器件,掌握元器件的辨别和元器件的作用以及应用场所即可,另外对所焊接的电路还需要进行仔细的检查,判断是否有焊接错误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原因,并具备解决问题的能力,从而切实提高学生的硬件电子电路的分析、判断能力。
软件编程是本次工程实践的重要环节。在为期两周的工程实践中,将占据主要时间,学生要完成的软件编程任务主要包括以下几点: 1)、熟悉Keil C51编程平台及相关编程软件
2)、编写、调试蜂鸣器、继电器动作、方波程序并进行软硬件联调 3)、编写、调试LED流水灯(循环显示)程序并进行软硬件联调 4)、编写、调试键盘扫描子程序并进行软硬件联调 5)、编写、调试数码管动态扫描程序并进行软硬件联调 6)、电子钟设计(包括键盘、时钟、显示等)
7)、温度测量控制系统设计(包括键盘、显示、时钟、报警等) 8)、作息时间控制设计 9)、交通灯控制设计 10)、汉字输入设计
三、设计内容及方法
单片机原理及其应用课程设计通常选择一般常见、常用的简单应用装置或
对象进行微机控制。所涉及的系统可以实际制作,也可以实验室模拟,具体步骤和内容如下:
设计准备
认真研究设计任务书,明确设计要求、条件、内容、和步骤;通过阅读有关资料,了解设计对象;复习课程有关内容,熟悉有关单元电路的设计方法和设计步骤;搜集、分析、消化相关资料、软件等,掌握微型计算机应用系统软件的设计方法;准备好设计需要的图书、资料和工具;拟定设计计划等。
功能设计及系统总体设计
要求学生有创新精神和创新意识,分析所掌握的资料,了解设计对象的功能。在充分考虑功能设计后,进行总体设计,以功能、结构为标,制定总体方案,规划硬、软件功能分配等;初步确定关键元器件地选择。
此次设计任务本人所作工作是协助组长和组员查阅资料文献,在代码编写完成后主负责调试程序,完成产品后编辑报告。(个人自己编 不要写一样)
四、硬件电路总体设计
硬件总框图
按键控制扫描模块 主控电路 数码管显示模块 LED显示模块 DS1302实时时钟模块 原理说明:
扬声器模块
本电路以单片机AT89C52为主控电路,分别连接按键控制扫描模块、时钟模块、数码显示模块、LED显示模块、扬声器模块。首先,按键扫描模块的四个按键分别用来控制数码显示、LED显示和扬声器工作,P1口作为输出口,用来控制LED的亮灭,要使其
亮只需要让口保持低电平就可以使8个灯亮起来。同时通过端控制蜂鸣器发生,当输出低电平时候使蜂鸣器发出声音,按下按键1时使蜂鸣器发声。P0口用来
控制数码管段选和位选,以显示相应的数值。在其位选控制部分,采用了9012型的三极管,要求当对应端口输出低电平时,位选成功,使得该位选的数码管亮,数码管显示时分通过按键3控制。最后通过按按键4实现作息时间控制的功能。
主控电路
本次课程设计中主要是设计一个以作息时间控制为主的多功能控制系统。该设计中我们主控电路部分采用了单片机AT89C52芯片来实现这些功能,AT89C52是一个低电压,高性能CMOS的8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256B的随机存取数据存储器(RAM)。其引脚如下图所示:
图引脚图 VCC:供电电压。 GND:接地。
P0口():P0口来输出数码管位选及段选数据,以控制相应数码管显示相应数值。 P1口 :P1口来控制LED的亮灭。
P2口 :使能相应的模块功能;wela():控制数码管位选; dula():控制数码管段选。
P3口 :为RXD(串行输入口),为TXD(串行输出口),为/INT0(外部中断0),为/INT1(外部中断1),为T0(记时器0外部输入),为T1(记时器1外部输入),为/WR(外部数据存储器写选通),为/RD(外部数据存储器读选通)。
XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义。
按键控制扫描模块
按键用于控制数码显示、LED显示、扬声器等模块的工作。通过扫描按键是