《单片机原理及接口技术》.docx
- 文档编号:26765177
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:31
- 大小:369.85KB
《单片机原理及接口技术》.docx
《《单片机原理及接口技术》.docx》由会员分享,可在线阅读,更多相关《《单片机原理及接口技术》.docx(31页珍藏版)》请在冰豆网上搜索。
《单片机原理及接口技术》
《单片机原理及接口技术》
实验指导书
编写:
张天飞审定:
段毅
安徽信息工程学院电气与电子工程学院
2019年2月
《单片机原理及接口技术》课程实验指导书
第一部分绪论
一、实验的基本要求
本实验课是《单片机原理及接口技术》课程的重要组成部分。
通过项目设计的实验方式,充分调动学生学习的主动性,让学生真正实现在“做中学”,提高学生的自主学习能力并培养一定的单片机开发能力。
本课程主要内容为熟悉51单片机的内部组成及工作原理,掌握51单片机的C51语言程序设计方法,并能综合运用单片机的软、硬件技术分析实际问题。
通过安排项目化的实验,要求每位学生在规定的时间内完成项目设计和开发任务,分析并回答相关的思考题内容,认真完成项目规定的功能,仔细分析项目设计过程中出现的问题与现象。
通过本课程的学习,使电类专业的学生系统掌握单片机的基本原理、功能、应用、程序设计方法和编程技巧,为将来从事单片机应用系统的开发和嵌入式的学习打下坚实的基础。
按照实验教学过程,对实验准备、实验、实验总结三个阶段提出基本要求。
1.实验准备
实验准备是保证实验能够顺利进行的必要步骤。
学生每次实验前都应做好预习,才能对实验目的、原理、步骤和注意事项等做到心中有数,从而提高实验质量和效率。
认真做好实验前的准备工作,对于培养学生独立工作能力,提高实验教学质量和保证人身及实验设备安全等都具有重要意义。
预习应做到:
(1)复习教科书有关章节内容,熟悉与本次项目相关的理论背景知识。
(2)认真阅读实验指导书,了解本次项目的目的和内容,掌握项目中涉及的实验原理和方法,仔细阅读实验安全操作说明,明确实验过程中应注意的问题。
(3)写好预习报告,其中应包括项目相关的主要知识点及设计方案等,经教师检查认为确实做好了实验前的准备,方可开始实验。
2.实验
在完成实验预习环节后,就可进入实验实施阶段。
实验时要做到以下几点:
(1)预习报告完整,熟悉项目所需背景知识及相关元器件设备
实验开始前,指导教师要对学生的预习报告做检查,要求学生了解本次项目的目的、内容和方法,只有满足此要求后,方能允许实验。
指导老师要对项目所用焊接工具等设备作详细介绍,特别是对实验中的安全必须认真讲解,学生必须熟悉该次实验所用的设备,明确这些设备的功能与使用方法。
(2)建立小组,合理分工
每次实验都以小组为单位进行,每组4人组成。
项目进行中,软硬件设计、实物焊接、调试分析等工作都应有明确的分工,以保证项目在规定时间内可靠完成。
(3)实验
预习时应对基本项目内容做到心中有数。
正式实验时,根据实验步骤完成相应项目设计任务。
实验完毕后,应请指导老师检查每次课的实验结果。
经指导老师认可后,关闭所有电源,并把实验中所用的物品整理好,放至原位。
3.实验总结
实验结束,应对项目整体实施过程进行分析并撰写项目结题报告。
每组同学要独立完成一份项目结题报告,报告的编写应持严肃认真、实事求是的科学态度。
项目结题报告是根据项目具体实施过程完成相关内容,经过分析研究或分析讨论后写出的实验总结和心得体会,应简明扼要、字迹清楚、结论明确。
项目结题报告应包括以下内容:
(1)整体方案概述。
(2)软、硬件电路详细设计。
(3)仿真及实物焊接。
(4)对实验中出现的现象、遇到的问题进行分析讨论,写出心得体会,并对实验提出自己的建议和改进措施。
二、实验的安全操作说明
为了顺利完成单片机原理及接口技术的全部项目,确保实验时人身安全及设备的安全可靠运行,实验人员要严格遵守如下安全规则:
1.上电前,应做如下工作:
(1)检查实验台与电脑间的电缆线是否正确可靠连接。
(2)检查实验台与实验设备间的电缆线是否正确可靠连接。
2.上电后,实验过程中勿带电插拔元器件。
3.实验过程中,人体不可接触带电线路。
4.实验过程中,电烙铁需放置在烙铁架上,不得随意摆放在实验台上。
5.实验结束后,按照正确步骤关闭电脑,并等电烙铁冷却后再放入工具箱整理。
第二部分实验项目指导
项目一花样彩灯
一、项目目的
1.了解单片机系统实现花样彩灯项目的硬件电路和软件编程技巧。
2.熟悉发光二极管的特点;熟悉软件延时的编程方法。
3.掌握单片机I/O口的工作原理;掌握查表方法在花样彩灯中的的应用。
二、项目仪器(元器件)
1.万能板
2.电烙铁套件(焊台、焊锡海绵等)
3.导线
4.单片机最小系统开发板
5.发光二极管
6.电阻
7.万用表
三、项目背景知识
1.发光二极管
发光二极管简称LED,可用来指示系统的工作状态,制作节日彩灯、广告牌匾等。
不同材料制作的二极管可发出不同颜色的光,常见的有红光,绿光,黄光和蓝光。
发光二极管具有单向导电性,大部分发光二极管的工作电流在1~5mA之间,其内阻为20~100Ω。
发光二极管在不超过额定工作电流情况下,流经的电流越大,显示亮度越高。
2.发光二极管与单片机的连接
P0口作通用I/O用,由于漏极开路,需外接上拉电阻。
而P1~P3口内部有30kΩ左右上拉电阻。
与P1、P2、P3口相比,P0口每位可驱动8个LSTTL输入,而P1~P3口每一位驱动能力,只有P0口一半。
当P0口某位为高电平时,可提供400µA的拉电流;当P0口某位为低电平(0.45V)时,可提供3.2mA的灌电流,而P1~P3口内有30kΩ左右上拉电阻,如高电平输出,则从P1、P2和P3口输出的拉电流Id仅几百µA,驱动能力较弱,亮度较差,见图1(a)。
如端口引脚为低电平,能使灌电流Id从单片机外部流入内部,则将大大增加流过的灌电流值,见图1(b)。
AT89S51任一端口要想获得较大的驱动能力,要用低电平输出。
如一定要高电平驱动,可在单片机与发光二极管间加驱动电路,如74LS04、74LS244等。
图1发光二极管与单片机并行口的连接
3.I/O端口的编程控制
对I/O端口编程控制时,要对I/O端口特殊功能寄存器声明,在C51的编译器中,这项声明包含在头文件reg51.h中,编程时,可通过预处理命令#include
四、项目内容
在单片机的P0端口的P0.0~P0.7引脚外接8个LED发光二极管D1~D8,在P2端口的P2.0~P2.7引脚外接8个LED发光二极管D9~D16实现各种灯亮的效果,具体要求为:
1.D1~D16发光二级管自上而下依次轮流点亮;
2.D1~D16发光二级管自下而上依次轮流点亮;
3.D1~D16发光二级管自上而下每间隔一个依次点亮;
4.上下交替点亮;
5.全亮;
6.全灭;
7.重复循环以上6个过程。
五、项目步骤
1.布置项目内容(此项目所需掌握知识目标、项目所要求实现的基本功能)
2.整体方案制定
3.硬件电路设计(硬件电路,分模块介绍)
4.软件程序编写
(1)设计思路(有哪些子程序,或者相关流程图)
(2)程序代码
5.仿真调试(Proteus仿真图)
6.实物焊接
7.项目验收(项目答辩、项目报告)
六、项目注意事项
1.发光二极管轮流点亮,时间间隔设置要恰当。
2.二极管具有单向导电性,焊接时,注意二极管的极性。
项目二数字电子钟
一、项目目的
1.了解数字电子钟的组成,功能以及特点。
2.熟悉数字电子钟的外围电路模块,以及各模块与单片机的连接。
3.掌握数码管显示原理,按键检测原理以及定时器,蜂鸣器的工作原理。
二、项目元器件
1.万能板
2.电烙铁套件(焊台、焊锡海绵等)
3.导线
4.单片机最小系统开发板
5.数码管
6.电阻
7.按键
8.蜂鸣器
9.74LS373
10.万用表
三、项目背景知识
1.开关检测原理
用I/O端口来进行开关状态检测,开关一端接到I/O端口引脚上,并通过上拉电阻接+5V上,开关另一端接地,当开关打开时,I/O引脚为高电平,当开关闭合时,I/O引脚为低电平。
因此,读入I/O端口电平,即可检测开关处于闭合状态还是打开状态。
2.数码管结构及显示原理(静态显示原理和动态显示原理)
(1)数码管的结构及显示原理
LED数码管:
“8”字型,7段(不包括小数点)或8段(包括小数点),每段对应一个发光二极管,有共阳极和共阴极两种,共阳极数码管的阳极连接在一起,接+5V;共阴极数码管阴极连在一起接地。
对于共阴极数码管,当某发光二极管阳极为高电平时,发光二极管点亮,相应段被显示。
同样,共阳极数码管阳极连在一起,公共阳极接+5V,当某个发光二极管阴极接低电平时,该发光二极管被点亮,相应段被显示。
图18段LED数码管结构及外形
为使LED数码管显示不同字符,要把某些段点亮,就要为数码管各段提供一字节的二进制码,即字型码(也称段码)。
习惯上以“a”段对应字型码字节的最低位。
表1LED数码管段码
如要在数码管显示某字符,只需将该字符字型码加到各段上即可。
(2)数码管的动态显示与静态显示
静态显示方式
无论多少位LED数码管,都同时处于显示状态。
多位LED数码管工作于静态显示方式时,各位共阴极(或共阳极)连接在一起并接地(或接+5V);每位数码管段码线(a~dp)分别与一个8位I/O口锁存器输出相连。
如果送往各个LED数码管所显示字符的段码一经确定,则相应I/O口锁存器锁存的段码输出将维持不变,直到送入下一个显示字符段码。
静态显示方式显示无闪烁,亮度较高,软件控制较易。
图2为4位LED数码管静态显示电路,各数码管可独立显示,只要向控制各位I/O口锁存器送相应显示段码,该位就能保持相应的显示字符。
这样在同一时间,每一位显示的字符可各不相同。
静态显示方式占用I/O口端口线较多。
图1电路,要占用4个8位I/O口(或锁存器)。
如数码管数目增多,则需增加I/O口数目。
图24位LED数码管静态显示示意图
动态显示方式
显示位数较多时,静态显示所占的I/O口多,这时常采用动态显示。
为节省I/O口,通常将所有显示器段码线相应段并联在一起,由一个8位I/O口控制,各显示位公共端分别由另一单独I/O口线控制。
图3:
4位8段LED动态显示器电路示意图。
其中单片机发出的段码占用1个8位I/O
(1)端口,而位选控制使用I/O
(2)端口中4位口线。
动态显示就是单片机向段码线输出欲显示字符的段码。
每一时刻,只有1位位选线有效,即选中某一位显示,其他各位位选线都无效。
每隔一定时间逐位轮流点亮各数码管(扫描方式),由于数码管余辉和人眼的“视觉暂留”作用,只要控制好每位数码管显示时间和间隔,则可造成“多位同时亮”的假象,达到同时显示效果。
各位数码管轮流点亮的时间间隔(扫描间隔)应根据实际情况定。
发光二极管从导通到发光有一定的延时,如果点亮时间太短,发光太弱,人眼无法看清;时间太长,产生闪烁现象,且此时间越长,占用单片机时间也越多。
另外,显示位数增多,也将占用单片机大量时间,因此动态显示实质是以执行程序时间来换取I/O端口减少。
图34位LED数码管动态显示示意图
3.定时器的结构及工作方式
AT89S51定时器/计数器结构见图4,定时器/计数器T0由特殊功能寄存器TH0、TL0构成,T1由特殊功能寄存器TH1、TL1构成。
图4定时器/计数器结构框图
T0、T1具有4种工作方式(方式0、1、2和3),图3特殊功能寄存器TMOD用于选择定时器/计数器T0、T1的工作模式和工作方式。
TMOD用于选择定时器/计数器的工作模式和工作方式,字节地址为89H,不能位寻址,格式见图5。
图5寄存器TMOD格式
M1、M0—工作方式选择位:
M1、M04种编码,对应于4种工作方式的选择,见表2。
表2M1、M0工作方式选择
方式0为13位计数器,由TLx(x = 0,1)的低5位和THx的高8位构成。
TLx低5位溢出则向THx进位,THx计数溢出则把TCON中的溢出标志位TFx置“1”。
方式1和方式0差别仅仅在于计数器的位数不同,方式1为16位计数器,由THx高8位和TLx低8位构成(x = 0,1),方式0则为13位计数器,有关控制状态位含义(GATE、C/T*、TFx、TRx)与方式0相同。
方式0和方式1最大特点是计数溢出后,计数器为全0。
因此在循环定时或循环计数应用时就存在用指令反复装入计数初值的问题,这会影响定时精度,方式2就是为解决此问题而设置的。
工作方式2为自动恢复初值(初值自动装入)的8位定时器/计数器,TLx(x=0,1)作为常数缓冲器,当TLx计数溢出时,在溢出标志TFx置“1”的同时,还自动将THx中的初值送至TLx,使TLx从初值开始重新计数。
方式3是为增加一个附加的8位定时器/计数器而设置的,从而使AT89S51具有3个定时器/计数器。
方式3只适用于T0,T1不能工作在方式3。
T1方式3时相当于TR1 = 0,停止计数(此时T1可作为串口波特率产生器)。
以方式1为例讲解定时器初值的计算:
定时时间=(216−X)×12/晶振频率,其中X计数初值
四、项目内容
设计一个数字电子钟,使用8个数码管实时显示时分秒,格式hh-mm-ss,并且能够对时分秒进行修改,实现时间的调整功能,以及整点报时功能。
五、项目步骤
1.布置项目内容(此项目所需掌握知识目标、项目所要求实现的基本功能)
2.整体方案制定
3.硬件电路设计(硬件电路,分模块介绍)
4.软件程序编写
(1)设计思路(有哪些子程序,或者相关流程图)
(2)程序代码
5.仿真调试(Proteus仿真图)
6.实物焊接
7.项目验收(项目答辩、项目报告)
六、项目注意事项
1.数码管分为共阴极数码管和共阳极数码管,在使用时要注意数码管的极性以及对应的段码的改变。
2.焊接时注意单片机各引脚与各个器件的连接。
项目三双机通信
一、项目目的
1.了解TTL电平与RS-232电平区别,串口调试助手、虚拟串口软件的使用。
2.熟悉电平转换芯片MAX232电路的设计,“D”型9针插头的电路设计。
3.掌握单片机串行通信的工作原理及工作方式。
4.掌握利用串行口实现单片机与计算机间通信的方法。
5.掌握串行口初始化的内容和编程方法。
二、项目元器件
1.万能板
2.电烙铁套件(焊台、焊锡海绵等)
3.导线
4.单片机最小系统开发板
5.MAX232芯片
6.电阻
7.DB9母头
8.USB转RS232串口线
9.电容(10uf)
10.发光二极管
11.万用表
三、项目背景知识
1.SBUF——串行口数据缓冲器
共两个:
一个发送寄存器SBUF,一个接收SBUF,二者共用一个地址99H。
SCON——串行口控制寄存器
图1串行口控制寄存器SCON的格式
(1)SM0、SM1—串口4种工作方式选择
表1串口的4种工作方式
(2)SM2—多机通信控制位
(3)REN—允许串行接收位,由软件置“1”或清“0”。
REN=1,允许串行口接收数据。
REN=0,禁止串行口接收数据。
(4)TB8—发送的第9位数据
(5)RB8—接收的第9位数据
(6)TI—发送中断标志位
TI=1,表示1帧数据发送结束。
注意:
TI必须由软件清“0”。
(7)RI—接收中断标志位
RI=1,表示一帧数据接收完毕,要求CPU从接收SBUF取走数据。
注意:
RI必须由软件清“0”。
特殊功能寄存器PCON——电源及波特率选择寄存器
图2特殊功能寄存器PCON的格式
仅最高位SMOD与串口有关,SMOD位:
波特率选择位。
当SMOD=1时,比SMOD=0时波特率加倍,所以也称SMOD位为波特率倍增位。
2.串行口的4种工作方式
(1)方式0以8位数据为1帧,没有起始位和停止位,先发送或接收最低位。
波特率是固定的,为fosc/12。
(2)方式1收发一帧数据为10位,1个起始位(0),8个数据位,1个停止位
(1),先发送或接收最低位。
(3-1)
(3)方式2每帧数据均为11位,1位起始位0,8位数据位(先低位),1位可程控为1或0的第9位数据及1位停止位。
(3-2)
(4)除了波特率外,方式3和方式2相同。
(3-3)
3.串行口在查询方式工作时的初始化,具体步骤如下:
对TMOD赋值(不可位寻址),以确定T1的工作方式;
波特率的设置:
计算T1的初值,并将其写入TH1、TL1;
对TCON赋值(可位寻址),使TR1置1,启动T1;
对SCON赋值,以确定串行口控制。
串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。
4.波特率的计算
串行口工作在方式0,波特率固定为fosc/12
串行口工作在方式2,波特率固定,为(2SMOD/64)×fosc
串行口工作在方式1或3,T1作在方式2,波特率=
四、项目内容
1.实现单片机的接收,具体要求:
计算机通过串口调试助手随意的向单片机发送数据(8位),如果单片机接收到数据,发光二极管点亮来显示,收不到数据,发光二级管则不亮。
单片机选用振荡频率为11.0592MHz,选用T1工作在方式2定时作为波特率发生器,波特率设置为9600。
2.实现单片机的发送,具体要求:
单片机发给数据给计算机,如果计算机接收到数据,发光二极管依次循环点亮来显示,收不到数据,发光二级管则不亮,同时能在串口调试助手中显示出来。
单片机选用振荡频率为11.0592MHz,选用T1工作在方式2定时作为波特率发生器,波特率设置为9600。
五、项目步骤
1.布置项目内容(此项目所需掌握知识目标、项目所要求实现的基本功能)
2.整体方案制定
3.硬件电路设计(硬件电路,分模块介绍)
4.软件程序编写
(1)设计思路(有哪些子程序,或者相关流程图)
(2)程序代码
5.仿真调试(Proteus仿真图)
6.实物焊接
7.项目验收(项目答辩、项目报告)
六、项目注意事项
1.直接用COMPIM元件,它内部集成了TTL-RS232的电平转换,在Proteus中连接虚拟终端时不需要加MAX232。
但是在实际硬件电路连接中,MAX232必须得加上。
项目四温度报警系统
一、项目目的
1.了解DS18B20的引脚功能及特性。
2.熟悉控制LED数码管显示数字的原理。
3.掌握DS18B20测温原理以及单片机I/O实现单总线协议的方法。
二、项目元器件
1.万能板
2.电烙铁套件(焊台、焊锡海绵等)
3.导线
4.单片机最小系统模块
5.发光二极管
6.两位八段数码管
7.DS18B20(温度传感器)
8.74LS373
9.电阻
10.蜂鸣器
11.万用表
三、项目背景知识
1.单总线
单总线(也称1-Wirebus)由美国DALLAS公司推出的外围串行扩展总线。
只有一条数据输入/输出线DQ,总线上所有器件都挂在DQ上,电源也通过这条信号线供给。
2.单总线温度传感器DS18B20简介
DS18B20是美国DALLAS公司生产的数字温度传感器,体积小、低功耗、抗干扰能力强。
可直接将温度转化成数字信号传送给单片机处理,因而可省去传统的信号放大、A/D转换等外围电路。
DS18B20测量温度范围-55~+128℃,在-10~+85℃范围内,测量精度可达±0.5℃,非常适合于恶劣环境的现场温度测量,也可用于各种狭小空间内设备的测温,如环境控制、过程监测过程监测、测温类消费电子产品以及多点温度测控系统。
3.DS18B20的工作时序
(1)初始化时序,单片机将数据线电平拉低480~960µs后释放,等待15~60µs,单总线器件即可输出一持续60~240µs的低电平,单片机收到此应答后即可进行操作。
(2)写时序,当单片机将数据线电平从高拉到低时,产生写时序,有写“0”和写“1”两种时序。
写时序开始后,DS18B20在15~60µs期间从数据线上采样。
如果采样到低电平,则向DS18B20写的是“0”;如果采样到高电平,则向DS18B20写的是“1”。
这两个独立时序间至少需拉高总线电平1µs时间。
(3)读时序,当单片机从DS18B20读取数据时,产生读时序。
此时单片机将数据线电平从高拉到低使读时序被初始化。
如果在此后15µs内,单片机在数据线上采样到低电平,则从DS18B20读的是“0”;如果在此后的15µs内,单片机在数据线上采样到高电平,则从DS18B20读的是“1”。
4.DS18B20的命令
图1DS18B20的命令
当主机需要对多个单总线上的某一DS18B20进行操作时,首先应将主机逐个与DS18B20挂接,读出其序列号(33H);然后再将所有的DS18B20挂接到总线上,单片机发出匹配ROM命令(55H),紧接着主机提供的64位序列号之后的操作就是针对该DS18B20的。
如果主机只对一个DS18B20进行操作,就不需要读取ROM编码以及匹配ROM编码,只要用跳过ROM(CCH)命令,就可执行温度转换和读取命令。
如下图:
图2DS18B20的命令
5.DS18B20工作过程
(1)初始化
先将数据线置高电平“1”。
延时(该时间要求的不是很严格,但是尽可能的短一点)
数据线拉到低电平“0”。
延时750微秒(该时间的时间范围可以从480到960微秒)。
数据线拉到高电平“1”。
延时等待(如果初始化成功则在15到60微妙时间之内产生一个由DS18B20所返回的低电平“0”。
据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。
2.写数据操作
数据线先置低电平“0”。
按从高位到低位的顺序发送字节(一次只发送一位),D7到D0的次序。
延时。
重复上
(1)到(6)的操作直到所有的字节全部发送完为止。
最后将数据线拉高。
3.读数据操作
将数据线拉低“0”。
延时。
将数据线拉高“1”。
读数据线的状态得到1个状态位,并进行数据处理。
(5)将数据线拉高“1”。
延时。
4.启动温度转化步骤:
初始化
发送ROM操作指令0xCC
发送存储器操作命令0x44
5.启动温度读取步骤:
初始化
发送ROM操作指令0xCC
发送存储器操作命令0xBE
读出2个字节的数据
四、项目内容
1.设计一款能够检测当前温度值的温度系统:
采用温度传感器DS18B20采集温度;
2.温度显示功能:
利用LED数码管显示当前环境温度;
3.报警功能:
当温度超过设定的上下限温度,实现声光报警。
五、项目步骤
1.布置项目内容(此项目所需掌握知识目标、项目所要求实现的基本功能)
2.整体方案制定
3.硬件电路设计(硬件电路,分模块介绍)
4.软件程序编写
(1)设计思路(有哪些子程序,或者相关流程图)
(2)程序代码
5.仿真调试(Proteus仿真图)
6.实物焊接
7.项目验收(项目答辩、项目报告)
六、项目注意事项
1.注意DS18B20的工作时序及其初始化操作。
2.若系统中有多个DS18B20,需要读取ROM编码及匹配ROM编码。
项目五数字电压表
一、项目目的
1.了解ADC0809的引脚功能及特性。
2.熟悉常见A/D转换器的分类及各自工作原理。
3.掌握单片机控制ADC0809的转换原理。
二、项目元器件
1.万能板
2.电烙铁套件(焊台、焊锡海绵等)
3.导线
4.单片机最小系统模块
5.ADC0809
6.电位器
7.四位一体数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理及接口技术 单片机 原理 接口 技术