预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《单片机原理及应用》课程设计报告 课题:基于单片机的LCD液晶显示 班级:电子1072 学生姓名: 专业:电子信息工程 系别:电子与电气工程学院 指导教师:朱霞 2010年9月 一.设计目的 单片机原理课程设计是电子信息工程系三个专业的公共课程设计,是模拟电子技术、数字电子技术、微机原理等课程结束后进行的教学环节。其目的是: 1.1培养理论联系实际的正确设计思想,训练综合运用已经学过的理论和生 产实际知识去分析和解决工程实际问题的能力。 1.2学习较复杂的电子系统设计的一般方法,提高基于模拟、数字电路等知 识解决电子信息方面常见实际问题的能力,由学生自行设计、自行制作和自行调 试。 1.3进行基本技能训练,如基本仪器仪表的使用,常用元器件的识别、测量、 熟练运用的能力,掌握设计资料、手册、标准和规范以及使用仿真软件、实验设 备进行调试和数据处理等。 二.设计总体要求 本次课程设计题目是基于单片机的温度测量控制系统设计。 要求学生掌握典型温度测量报警电路的基本硬件组成,掌握整个系统的工作 原理,在了解硬件的基础上进行软件编程。 2.1整个硬件系统包括数码管动态显示电路、CPU核心控制部分、流水灯(或 交通灯)电路、继电器驱动与蜂鸣器电路,键盘接口电路以及V/F转换测温电路 等组成。要求学生完成系统电路元器件的识别、安装并按照设计功能要求进行软 件编程、软硬件联调,学会分析、解决问题,排除软、硬件故障。 2.2学生的主要任务有:编写、调试蜂鸣器、继电器动作、方波程序;LED 流水灯(循环显示)程序;键盘扫描子程序;数码管动态扫描程序;电子钟设计 以及温度测量控制系统设计程序等并进行软硬件联调。 三.总体设计 该设计主要由如下部分组成: 微控制器,温度转换电路,时钟电路,数码显示电路,按键电路,蜂鸣器电 路,流水灯电路和继电器电路。 整体连接如图1所示。 3.1数码显示电路 数码显示电路按显示方式分为动态显示和静态显示两大类 其中静态显示的效果较好,控制也较简单,但会以大量的硬件开销和占用较 多的I/O口为代价。 动态显示的电路较简单,但简单的硬件需要复杂的软件来支持。 3.2按键电路 单片机中的按键分为独立式按键和组合式按键。 独立式键盘简单,虽然一个按键会占用一个I/O口,但可以通过时分复用的 方法来减小硬件开销。 组合式按键用于按键数量需要较多的场合。占用I/O口少是其显著的特点。 3.3蜂鸣器电路 市售有源蜂鸣器(电磁式)由振荡器、电磁线圈、磁铁、振动膜片及外壳等 组成。蜂鸣器接通电源后,振荡器产生音频信号使振动膜片振动发声。 蜂鸣器电路只需使用一个开关器件控制其通电和断电便能控制蜂鸣器开始 发声和停止发声。 四.电路设计 本系统以单片机为控制核心,辅以各种检测及输出单元电路,构成了该测量 控制系统。 4.1流水灯电路 流水灯由单片机的P1口控制。考虑到单片机I/O口高电平驱动能力弱而低 电平驱动能力强的特点以及系统功耗大小,采用如图5所示的电路。 现由P1口低电平驱动发光二极管发光。 图5流水灯显示电路 4.2按键电路 由于本系统中按键数量较少,且单片机的I/O口相对富余,使用独立式键盘。 同样,由于单片机高电平输出能力比低电平输出能力弱,使用如图6所示的 按键电路。 读按键前,先将端口设置为高电平。此时,单片机内部由一个MOS管作为上 拉电阻,在按键没被按下时,单片机端口人保持高电平;当按键被按下后,单片 机I/O口被强行接地,变为低电平。 按键电路中由于单片机内部MOS管有微弱的上拉作用,所以外部硬件可以不 接上拉电阻。 4.3蜂鸣器电路 4.4数码显示电路 显示电路是系统人机接口的重要组成部分。 该系统中采用动态显示的方法来驱动四位数码管显示。数码管为共阳型,所 以字形段码为阴码。显示驱动电路如图8所示。 按照单片机输出端口与数码显示管的连接关系,对应着显示内容的形状,计 算字形编码如表1所示。 只要在段码输入端输入对应的阴码,再从DR1-DR4的位码信号中给出要显示 内容的数码管的选择信号,便可在对应的数码管中按对应段码显示内容。 4.5数液晶显示电路 五.软件编程与调试 /*copyright2007,ShangHaiHaoTunElectronicTechnologyco.,Ltd * *Thissampleisusedfor7-segleddynamicdisplay. * *writebyShifang2007-4-23 * *V1.1 */ #include<reg51.h> #defineucharunsignedchar #defineuintunsignedint sbitLCD_EN=P3^4; sbitLCD_RS=P