单片机课程
课程设计报告
目 录
前言„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„3 1 键盘显示设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„4
1.1键盘显示设计的工作原理及主要功能
1.2键盘显示设计的硬件 软件的设计
1.3硬件的实物连接图与软件的实验程序展示及分析
2 音乐播放系统设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„10
2.1音乐播放系统的工作原理及主要功能
2.2音乐播放系统的硬件 软件的设计
2.3硬件的实物连接图与软件的实验程序展示及分析
2.4实验结果的分析
3 点阵LED广告屏设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„14
3.1点阵LED广告屏的工作原理及主要功能
3.2点阵LED广告屏的硬件 软件的设计
3.3硬件的实物连接图与软件的实验程序展示及分析
3.4实验结果的分析
4 字符型LCD显示设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„18
4.1字符型LCD显示的工作原理及主要功能,软件的功能及控制字的写入
4.2硬件的实物连接图与软件的实验程序展示及分析
4.3实验结果的分析
5 比赛记分牌设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„26
5.1比赛积分牌设计的工作原理及主要功能
5.2比赛积分牌设计的硬件 软件的设计
5.3硬件的实物连接图与软件的实验程序展示及分析
5.4实验结果的分析
6 “叮咚”门铃设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„30
6.1“叮咚”门铃的工作原理及主要功能
6.2“叮咚”门铃的硬件 软件的设计
6.3硬件的实物连接图与软件的实验程序展示及分析
6.4实验结果的分析
7 交通信号控制器„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„33
7.1交通信号控制器的工作原理及主要功能
7.2交通信号控制器的硬件 软件的设计
7.3硬件的实物连接图与软件的实验程序展示及分析
7.4实验结果的分析
8 具有闹钟功能的电子时钟设计„„„„„„„„„„„„„„„„„„„„„„„36
8.1具有闹钟功能的电子时钟的工作原理及主要功能
8.2具有闹钟供能的电子时钟的硬件 软件的设计
8.3硬件的实物连接图与软件的实验程序展示及分析
— 1 —
课程设计报告
8.4实验结果的分析
9 报警器与旋转灯„„„„„„„„„„„„„„„„„„„„„„„„„„„„„44
9.1报警器与旋转灯的工作原理及主要功能
软件的设计 9.2报警器与旋转灯的硬件
9.3硬件的实物连接图与软件的实验程序展示及分析
9.4实验结果的分析
课程设计体会„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„48
— 2 —
课程设计报告
一、前言
单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作~单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。
这次课程设计主要考察了9个项目:
键盘显示设计;音乐播放系统设计;点阵LED广告设计;字符型LCD显示设计;比赛记分牌设计;“叮咚”门铃设计;交通信号控制器;具有闹钟功能的电子时钟设计;报警器与旋转灯。
前4个是对单片机的几个基本独立功能的考察,熟悉单片机的管脚,8255可编程I/O扩展芯片的应用以及管脚,8*8LED点阵得管脚及PCtoLCD的运用,蜂鸣器的管脚及音乐产生的原理,LCD上显示字符串、数字。
后5个不仅考察了对单片的综合运用,还考察了对单片机语言的熟悉。按所给要求完成相应的功能:硬件的连接,编程,调试,结果验证等。
具体的各个实验下面会进行详细的介绍。
— 3 —
课程设计报告
1 键盘显示设计
8255单元键盘及数码管显示单元连接,扫描键盘输入,并将扫描结果送数码管显示。键盘采
-F,当按下其中一个按键时,将该按键对应的变化在一个数用4*4键盘,将键盘进行编号,记作0
码管上显示出来,当再按下一个按键时,便将这个按键的变化在下一个数码管上显示出来,数码管上可以显示最近几次按下的按键编号。
1.1键盘显示设计的工作原理及主要功能
用软件实现对4*4键盘的编号,对数码管扫描显示的设置。在按下一个键位后,数码管上能显示按下的相应的键值,且数码管能保留前几次输入的键值。
1.2键盘显示设计的硬件 软件的设计
在键盘显示设计块用到的有:单片机,8255,LED数码显示块,4*4键盘。
在单片机的P0端与8255相连,8255作为扩展模块,将LED和键盘连接。软件部分就是编程键盘的编号及数码管的显示。
1.3硬件的实物连接图与软件的实验程序展示及分析
1.31 图与程序
图 8255内部结构及外部引脚图
— 4 —
课程设计报告
图 8255控制字格式
键盘扫描及数码管显示单元原理图
— 5 —
课程设计报告
键盘扫描及数码显示接线图
实物连接图 #include "Absacc.h"
#define C8255_A XBYTE[0x7F00] //8255端口地址定义 #define C8255_B XBYTE[0x7F01] #define C8255_C XBYTE[0x7F02]
— 6 —
课程设计报告
#define C8255_CON XBYTE[0x7F03] //数码管显示编码 unsigned char a[] = {0x3f, 0x06, 0x5b, 0x4f, 0x7c, 0x39, 0x5e, 0x66,
0x77, 0x71, 0x79, 0x6d, 0x6f, 0x7f, 0x07, 0x7d};
unsigned char b[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; //显示缓冲
unsigned char key_down; unsigned char key_value; unsigned char key_count; void delay(unsigned int time) {
unsigned int i;
for(i=0; i