武汉理工大学单片机课程设计
更新时间:2024-06-18 21:04:01 阅读量: 综合文库 文档下载
武汉理工大学《单片机实习报告书》
目 录
摘 要 ........................................................................................................................... - 2 - Abstract ........................................................................................................................ - 3 - 1.基本原理及电路图 .................................................................................................... - 4 - 2.硬件电路原理与设计................................................................................................. - 5 -
2.1复位电路 ........................................................................................................ - 5 -
2.1.1上电复位 .............................................................................................. - 5 - 2.1.2按键复位 .............................................................................................. - 5 - 2.2振荡电路 ........................................................................................................ - 6 - 2.3数码管显示电路 .............................................................................................. - 7 - 2.4串口通信电路 ................................................................................................. - 9 - 2.5矩阵键盘电路 ................................................................................................- 10 - 2.6 温度检测模块................................................................................................- 12 - 3 软件设计 .................................................................................................................- 13 -
3.1软件介绍 .......................................................................................................- 13 -
3.1.1设计软件Protel..................................................................................- 13 - 3.1.2程序编写软件Keil ..............................................................................- 13 - 3.1.3仿真软件Proteus ................................................................................- 13 - 3.2软件设计原理分析 .........................................................................................- 14 -
3.2.1接收机流程图 ......................................................................................- 14 -
3.2.2 接收机程序流程图 ..............................................................................- 15 -
4.仿真结果与实物运行................................................................................................- 17 -
4.1温度检测和串口仿真结果 ...............................................................................- 17 - 4.2数字移位和串口仿真结果 ...............................................................................- 17 - 4.3温度检测实物运行结果 ..................................................................................- 17 - 4.4 数字移位实物运行结果..................................................................................- 18 - 4.5 串口收发实物运行结果..................................................................................- 18 - 5小结与体会 ..............................................................................................................- 20 - 参考文献.....................................................................................................................- 21 - 附录1:最小系统原理图 .............................................................................................- 22 - 附录2:C语言源程序 .................................................................................................- 23 - 附录3:元件清单 .......................................................................................................- 30 - 附录4:实物照片 .......................................................................................................- 30 - 附录5:实习日记 .......................................................................................................- 31 -
- 1 -
武汉理工大学《单片机实习报告书》
摘 要
单片机最小系统,无论对单片机初学人员还是开发人员都具有十分重要的意义,可以利用最小系统进行编程实现工业控制。单片机最小系统电路板在单片机开发市场和大学生电子设计方面十分流行。本次课程设计包括STC89S52单片机最小系统包括复位和时钟电路及供电系统、4×4矩阵键盘、独立6个8段LED数码管显示电路以及DS18B20温度传感器。利用相关设计软件进行原理图设计利用Keil软件编程以及Proteus软件仿真借此巩固单片机应用、模拟电路、数字电路课程及学会各种工程软件的使用。
关键字:单片机 最小系统 矩阵键盘 LED显示 DS18B20温度传感器 Protues keil
- 2 -
武汉理工大学《单片机实习报告书》
Abstract
MCU minimum system, regardless of the singlechip novice staff or staff development ,who can use minimum system program for industrial control,has very important sense. MCU minimum system board in the MCU develop market and college students electronic design is very popular. The curriculum design, including STC89S52MCU minimum system ( including a reset and clock circuit and power supply system ),4 x4 matrix keyboard, the independent 6 LED digital tube display circuit and a DS18B20 temperature sensor. Using circuit design software schematic design, using Keil software and Protues software simulation, we consolidate the MCU application, analog circuit, digital circuit course and learn all kinds of engineering software use.
Key Words:MCU
minimum system matrix keyboard LED digital tube
display DS18B20 temperature sensor Keil Protues
- 3 -
武汉理工大学《单片机实习报告书》
1.基本原理及电路图
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。单片机接口电路主要用来连接计算机和其它外部设备。
本次设计主要完成的扩展电路包括矩阵键盘、数码管显示电路、温度检测电路和串口电路。其原理框图如下图1.1所示:
图1.1 系统原理框图
本设计中选用的微处理芯片是STC89C52,它是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,2个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。
- 4 -
武汉理工大学《单片机实习报告书》
2.硬件电路原理与设计
硬件电路主要由复位电路、振荡电路、数码管显示电路、矩阵键盘电路和串口电路等组成。
2.1复位电路
单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。
单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。
复位电路由按键复位和上电复位两部分组成。。
2.1.1上电复位
STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。
2.1.2按键复位
按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。电路图如图2.1。
- 5 -
武汉理工大学《单片机实习报告书》
图2.1 按键复位电路
2.2振荡电路
单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 STC89C51使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡
- 6 -
武汉理工大学《单片机实习报告书》
电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。其电路原理图如2.2所示。
图2.2 晶体振荡电路
2.3数码管显示电路
LED数码管显示是利用半导体发光制成条形的发光二极管,封装在一起组成数字或其他符号形状。数码管根据公共端不同,分为共阴极和共阳极两种形式。
图2.3 共阴极数码管内部电路
- 7 -
武汉理工大学《单片机实习报告书》
图2.4 共阳数码管电路内部电路
图2.5 共阴数码管
根据设计需要,本次选用共阴极数码管。由于一个数码管不能实现多位数显示,同时从节省I/O端口考虑,结合数电知识,利用两片74HC573扩展单片机的IO口,两片74HC573的输出分别接6位7段共阴数码管的段选端和公共端。
74HC573是8数据锁存器。主要用于数码管、按键等等的控制,其输出受输出允许端OE和锁存允许端LE的控制,当LE为高时锁存器输出为高阻态,当OE为低,LE也为低时,输入端的信号输出到输出端。在这里,使用两片74HC573的目的是为了扩展IO,达到时分复用单片机P0口的目的。输出端与6位7段阴数码管相连,共同组成数码管显示电路。电路图如图2.6所示。
- 8 -
武汉理工大学《单片机实习报告书》
图2.6 数码管显示电路
2.4串口通信电路
串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
MAX232是电平转换芯片。1970年,美国电气学会规定“RS232”串口通信协
- 9 -
武汉理工大学《单片机实习报告书》
议。规定逻辑“1”,-5— -15V;逻辑“0”,+5— +15V 。噪声容限为2V。要实现利用串口与单片机进行通信,就要进行电平转换,把标准转化成单片机可以识别的。MAX220–MAX249都是电平转换芯片,在单片机最小系统中,使用MAX232。其电路原理图如图2.7所示。
图2.7 串口电路
2.5矩阵键盘电路
从编码的功能上,键盘又可以分成全编码键盘和非编码键盘两种。全编码键盘是由硬件完成键盘识别功能的,它通过识别键是否按下以及所按下键的位置,由全编码电路产生一个唯一对应的编码信息(如ASCII码)。非编码键盘是由软件完成键盘识别功能的,它利用简单的硬件和一套专用键盘编码程序来识别按键的位置,然后由CPU将位置码通过查表程序转换成相应的编码信息。非编码键盘的速度较低,但结构简单的,并且通过软件能为某些键的重定义提供很大的方便。 编码键盘本身带有实现接口主要功能所需的硬件电路,不仅能自动栓测被按下的键并完成去抖动防串键等功能,而且能提供与被按键功能对应的键码(如ASCⅡ码)送往CPU,而非编码键盘只简单的提供按键开关的行列矩阵,有关键的识别,键码的输入与确定,以及去抖动等功能场由软件完成。
在这里,我们所需要的按键完成的功能就只是简单的功能切换和数字输入的
- 10 -
武汉理工大学《单片机实习报告书》
图3.2 接收机主程序流程图
同发送机一样,在接收机中,程序开始时,进行T1和串口的初始化,然后开启中断,执行显示函数和等待串口中断。
接收机中断服务程序如图3.3所示。
图3.3 接收中断程序流程图
- 16 -
武汉理工大学《单片机实习报告书》
4.仿真结果与实物运行
4.1温度检测和串口仿真结果
图4.1 温度检测仿真图
4.2数字移位和串口仿真结果
图4.2 数字移位仿真图
4.3温度检测实物运行结果
图4.3 温度检测实物运行结果
- 17 -
武汉理工大学《单片机实习报告书》
4.4 数字移位实物运行结果
图4.4 实物运行结果
4.5 串口收发实物运行结果
图4.5 温度检测串口发送实物运行结果
- 18 -
武汉理工大学《单片机实习报告书》
图4.6 数字移位串口发送实物运行图
- 19 -
武汉理工大学《单片机实习报告书》
5小结与体会
这次为期两周的课程设计让我受益匪浅。以前对单片机更多的只是一些感性的,理论上的认识,自己真正动手的时候,才真正理解到其中的精华所在。 本次设计让我更好的了解如何应用单片机的定时器计数器模块,灵活应用IO口。其中最重要的是分析问题解决问题的能力,在我看来,写程序并不难,重要的是把程序优化,无论是在节省硬件资源,还是提高数据的准确度来看,都需要下一些功夫把它做到最好。
与此同时,我们进一步加强了自己查找资料的自学能力,每天都遨游在各种专业书籍和文献之中,不断学习,不断提炼。特别是对专业软件的学习和使用,同时也大大加强了我们编程的能力。后期在程序调试方面,同学们互相讨论,互相解决问题,现在想起来还意犹未尽,着实令人难忘。
- 20 -
武汉理工大学《单片机实习报告书》
参考文献
[1] 谢自美. 电子线路设计·实验·测试(第三版).武汉:华中科技大学出版社 [2] 李群芳. 单片微型计算机与接口技术(第3版).电子工业出版社,2008 [3] 刘教瑜. 单片机原理及应用.武汉理工大学出版社,2011 [4] 张东亮. [5] 郭天祥. 51
单片机原理与应用.人民邮电出版社,2009 单片机C语言教程.电子工业出版社 - 21 -
武汉理工大学《单片机实习报告书》
附录1:最小系统原理图
图1 最小系统原理图
- 22 -
武汉理工大学《单片机实习报告书》
附录2:C语言源程序
发送机主程序: #include
#define NO_DEF
20
//声明无效键值 //声明显示数字的标志 //声明显示温度的标志
#define SHOW_NUM 1 #define SHOW_TEP 0 #define CLEAR 11 #define
//定义清0键
//定义功能切换键
SWITCH 10
typedef unsigned char uchar; typedef unsigned int uint;
#define SM_PORT P0 #define KEY P3
//声明数码管数据端口 //声明矩阵键盘端口
sbit dula = P2^6; sbit wela = P2^7;
//声明数码管段选端口 //声明数码管位选端口
sbit DS = P2^2; //声明温度传感器的数据端口
uint temp; // variable of temperature ,用于接收来自DS18B20传回的温度数据 uint key_value=20; uchar show_flag=SHOW_TEP; uchar send_cnt=0;
uchar *s;
uint tep_index[4]={0,0,0,0};
//温度索引,因为用前4位数码管显
- 23 -
武汉理工大学《单片机实习报告书》
示温度值,后两位分别显示-C,故温度索引之定义了4位 uchar tem_value[6]={0x3f,0xbf,0x3f,0x3f,0x40,0x39}; 的,数码管显示码
uint num_index[6]={13,13,13,13,13,13}; uchar num_value[6]={0,0,0,0,0,0}; 显示码值
unsigned char code table[14]={0x3f,0x06,0x5b,
void delayms(uint count); void key_scan();
void display(uchar ch[6]);
void num_shift(uint *num,uint new_key_value); void dsreset(void); bit tmpreadbit(void); uchar tmpread(void);
void tmpwritebyte(uchar dat); void tmpchange(void); void tmp();
void toTmpIndex(uint *index);
void indexToValue(uint *index,uchar *value,int flag); void shut_down();
- 24 -
//温度值对应
//数字索引
//要显示的数字对应的数码管
0x4f,0x66,0x6d, 0x7d,0x07,0x7f, 0x6f, //数字:0——9
0x39, //字母:C 数组第10个字符 0x40, //字符:- 数组第11个字符 0x80, //字符:. 数组第12个字符 0x00 //无显示 数组第13个字符 };
武汉理工大学《单片机实习报告书》
void main() {
TMOD = 0x20; TH1 = 0xfd; TL1 = 0xfd; SCON = 0x40; EA = 1; PCON = 0x80; ES = 1; TR1 = 1; while(1) {
key_scan(); delayms(1);
if(key_value==SWITCH)
//检测功能切换键
//开启定时器1,开始发送数据
//串口波特率加倍
//设置串口的工作方式为方式1
//设置定时器的工作方式为方式2
//设置波特率为19200
是否被按下
{ }
switch(show_flag) {
case SHOW_NUM:
//key_scan();
//检测数字键是否被按
shut_down(); key_value=NO_DEF;
//将键值赋值为无效值
if(show_flag==SHOW_TEP)
show_flag=SHOW_NUM;
else
show_flag=SHOW_TEP;
if(key_value<=9)
- 25 -
武汉理工大学《单片机实习报告书》
下
}
{ }
if(key_value==CLEAR) { }
indexToValue(num_index,num_value,SHOW_NUM); s = num_value; //display(num_value); key_value=NO_DEF; break;
//将键值赋值为无效值
uchar i=6; while(i>0)
num_index[--i] = 13;
//检测清0键是否按下
num_shift(num_index,key_value);
case SHOW_TEP:
tmpchange(); tmp();
toTmpIndex(tep_index);
indexToValue(tep_index,tem_value,SHOW_TEP); s = tem_value; //display(tem_value); break;
default: show_flag=SHOW_TEP;
break;
//delayms(1); display(s);
- 26 -
武汉理工大学《单片机实习报告书》
}
}
SBUF = 0xee; while(!TI); TI = 0;
//发送帧同步信号
while(send_cnt<6) { }
send_cnt = 0;
//清空发送计数器
SBUF = s[send_cnt++]; while(!TI); TI = 0;
//发送数据
//等待发送完成 //清空发送标志
接收机主程序与中断服务程序: #include
#define SM_PORT P0 sbit dula = P2^6; sbit wela = P2^7;
#define uchar unsigned char #define uint unsigned int
uchar receive_cnt = 0; uchar r_syn_code = 0x00;
//接收帧同步码
//声明数码管数据端口
//声明数码管段选端口 //声明数码管位选端口
uchar receive[6] = {0x3f,0x06,0x5b,
0x4f,0x66,0x6d,};
//接收数据缓冲数组,
初始化什么也不显示
- 27 -
武汉理工大学《单片机实习报告书》
void delayms(uint count); void display(uchar ch[6]); void main() { }
void Re()interrupt 4 //using 0 {
TMOD = 0x20; TH1 = 0xfd; TL1 = 0xfd; SM0=0; SM1=1; REN=1; EA = 1; PCON = 0x80; ES = 1; TR1 = 1; while(1) { }
//设置定时器的工作方式为方式2
//设置波特率为19200
//串口波特率加倍
//开启定时器1,开始发送数据
display(receive);
RI = 0;
if(r_syn_code == 0xee) { }
if(receive_cnt == 0)
r_syn_code = SBUF;
- 28 -
//检测到帧同步码:0xee
receive[receive_cnt]=SBUF; receive_cnt++;
//开始接收数据
//数据开始,先检测同步码
武汉理工大学《单片机实习报告书》
if(receive_cnt==6) //一帧数据接收完成,将接
收计数器清0,同时清除同步码标志 { receive_cnt = 0; r_syn_code =0x00;
}
}
- 29 -
武汉理工大学《单片机实习报告书》
附录3:元件清单
序 号 1 2 3 4 5 6 7 8 9 10 11 名称 铜板 数量 2块 表1 元件清单表
单片机STC89C52 晶振12MHz 30PF瓷片电容 10k/0.25W电阻 10uF/16V电解电容 2k/0.25W电阻 10k/9脚排阻 5V/500mA直流电源 74HC573 MAX232 104电容 1片 1个 2个 2个 1个 1个 1个 1个 2片 1片 5个
附录4:实物照
12 13 排针、按钮、LED、导线等 若干 片
图2 实物图
- 30 -
武汉理工大学《单片机实习报告书》
附录5:实习日记
表2 实习日记表 日期 2012.12.17 2012.12.18 2012.12.19 2012.12.20 2012.12.21 2012.12.22 2012.12.23 2012.12.24 2012.12.25 2012.12.26 2012.12.27 2012.12.28 2012.12.29
安排 方案设计 方案设计 硬件设计 硬件设计 软件设计 软件设计 软件设计 电路板焊接 电路板焊接 系统调试 系统调试 系统调试 答辩 - 31 -
武汉理工大学《单片机实习报告书》
附录5:实习日记
表2 实习日记表 日期 2012.12.17 2012.12.18 2012.12.19 2012.12.20 2012.12.21 2012.12.22 2012.12.23 2012.12.24 2012.12.25 2012.12.26 2012.12.27 2012.12.28 2012.12.29
安排 方案设计 方案设计 硬件设计 硬件设计 软件设计 软件设计 软件设计 电路板焊接 电路板焊接 系统调试 系统调试 系统调试 答辩 - 31 -
正在阅读:
武汉理工大学单片机课程设计06-18
外研版新标准英语五年级上册全册教案(一年级起点)2.doc05-03
流体力学与液压传动试题库及答案.jsp10-12
包饺子的小学生二年级作文100字06-13
11g与10g数据库迁移方法12-06
人防质量通病12-01
某医院薪酬管理体系设计方案和对策08-07
公务员干部个人学习计划范文06-22
- 2009中西部家居博览会总体策划
- 2009 Revit 1级工程师学生用
- 天津地铁建设工程试验检测机构管理办法(TJDT-ZY-AQ-29)
- 新四年级数学暑期班第七次教案
- 机械制造企业隐患排查治理检查表 - 图文
- 2008届全国百套高考数学模拟试题分类汇编-103概率与统计解答题 -
- 职场健身防病试题及答案
- Excel操作技巧大全II - --数据输入和编辑技巧
- 南开大学2018春季《行政管理学》离线作业考核答案
- 2015年医师定考简易程序试卷及答案
- 新《预算法》对行政事业单位预算管理的挑战解读
- 轴的课件
- 电动汽车充电桩设计 毕业论文
- 必修2、选修2-1、1-1期末模拟试题2
- 桌面远程运维管理系统实施-可行性研究报告120306
- 西气东输水土保持工程工作总结 - 图文
- 正宁县基本县情及经济社会发展情况简介
- SATWE参数设置(巨详细)
- 儒家法思想研究综述
- 生活家政服务电子商务平台建设运营整合方案书【审报完稿】
- 武汉理工大学
- 单片机
- 课程
- 设计
- 物理大地测量学教案
- 2018-2019部编人教版二年级语文下册(全册)教案
- 堤防工程施工组织设计
- 第二章作业与思考题答案
- GW5型隔离开关检修及调整主要步骤
- 天津市雾霾天气治理调查报告定稿
- 我国事业单位绩效管理制度改革——党课讲稿(47页)
- 地下室造价指标分析 - 图文
- 借款人未能按时还款的几种案情分析
- 电脑主机板项目商业计划书
- 中国化工行业节能减排市场调研分析报告
- 中小学教育教学案例分析例谈
- 商务印书馆地理学翻译出版中的著译编读交流一种副文本的研究视角
- 晨读材料 - 图文
- 辽宁丹东中出1注双色球头奖 总奖金675万
- 收支和预算管理业务内部控制流程图
- 双联总结t Word 文档(3)
- 五金交电制品市场规模调查分析及前景趋势行业报告2018年目录
- 防水材料考试试题及答案
- 道路 引桥施工组织设计