单片机实验指导书.docx
- 文档编号:18125968
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:21
- 大小:207.82KB
单片机实验指导书.docx
《单片机实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书.docx(21页珍藏版)》请在冰点文库上搜索。
单片机实验指导书
实验指导书
单片机原理及应用
邵阳学院
2015年02月
目录
目录
目录1
实验一流水灯实验1
实验二
(1)计数器实验2
实验二
(2)定时器实验3
实验三外部中断实验4
实验四键盘实验5
实验五AD转换实验7
实验六DA转换实验8
实验八
(1)直流电动机控制实验10
实验八
(2)步进电动机控制实验11
附录实验装置的使用13
实验计划安排表
序号
实验项目名称
实验学时
开出周次
专业年级
1
跑马灯实验
2
7
13电子信息、物联网工程
2
定时/计数器实验
2
7
13电子信息、物联网工程
3
外部中断实验
3
8
13电子信息、物联网工程
4
键盘实验
3
8
13电子信息、物联网工程
5
A/D转换实验
2
9
13电子信息、物联网工程
6
DA转换实验
2
9
13电子信息、物联网工程
7
数码管显示接口电路设计
2
10
13电子信息、物联网工程
8
电机控制实验
2
10
13电子信息、物联网工程
说明:
1、电子信息工程专业从7周开始至第九周,每周二的5、6、7、8为实验课
2、物联网工程专业从第7周开始至第九周,每周一的5、6节,周四的7、8节为实验课
3、有笔记本的可自动笔记本来做实验验。
4、实验目的相同,实验内容自定,本实验指导书仅供参考,希望学生自行设计实验内容。
5、实验考核:
每个学生都要独立完成8个实验项目,完成后请老师评价,对不合格都重做。
在实验过程中,老师只负责答疑和考核实验效果。
6、实验七要求学生在PROTEUS中完成。
实验一流水灯实验
一、实验目的
1.学习51的P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验说明
AT89S52有32个通用的I/O口,分为P0、P1、P2、P3,每组都是8位,它们是准双向口,它作为输出口时与一般的双向口使用方法相同。
P3口也可以做第二功能口用,本实验使用P1口做输出口,控制LED等产生流水灯效果。
三、实验内容及步骤
注:
实验程序放在Soundcode/MS51的文件夹中。
用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管循环点亮。
1.最小系统中插上80C51核心板,用扁平数据线连接MCU的P1口与八位逻辑电平显示模块JD3。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3、打开KeiluVision2仿真软件,首先“流水灯”文件夹下的“8031.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序,程序功能使发光二极管循环点亮的流水灯的效果。
注:
在做完实验时记得养成一个好习惯:
把相应单元的短路帽和电源开关还原到原来的位置!
以下将不在重述。
四、源程序(见光盘)
五、电路图
实验二
(1)计数器实验
一、实验目的
1.学习8031内部定时/计数器使用方法;
2.学习计数器各种工作方式的用法。
二、实验说明
1.8031内部有两个定时/计数器T0和T1,16位是指定时/计数器内的计数器是16位的,由2个8位计数器组成。
本实验用的是T0,它的2个8位计数器TH0和TL0,TH0是高8位,TL0是低八位。
所谓加法计数器,指其计数的方法是对计数脉冲每次加1。
在其它单片机和可编程计数器芯片中,有的计数器是减法计数器,如8155的14位计数器,8253的16计数器,即先设置计数器的初值,然后对计数器脉冲每次减1,减到0,计数器溢出。
而8031内部的计数器是加法计数器,需先设置计数器的初值,本实验设置计数器初值为0,然后对计数脉冲每次加1,加到计数器满后溢出。
2.本实验中内部计数器起计数器的作用。
外部事件计数脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。
这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。
这就决定了输入波形的频率不能超过机器周期频率。
三、实验内容及步骤
T0接外部脉冲输入,P1口接八位逻辑电平显示模块,脉冲个数以二进制形式显示出来。
1.最小系统中插上80C51核心板,用扁平数据线连接MCU的P1口与八位逻辑电平显示模块JD3,P34端口接单次脉冲电路的输出端(绿色防转座)。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3、打开KeiluVision2仿真软件,首先“计数器”文件夹下的“计数器.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序,按动单次脉冲按钮,脉冲个数以二进制形式通过LED显示。
四、源程序(见光盘)
五、思考题
1.由功能、计数启动条件、重复启动条件等诸方面比较89S52的各种方式。
2.89S52单片机的最高计数频率为多少?
实验二
(2)定时器实验
一、实验目的
1.学习89S52内部计数器的使用和编程方法;
2.进一步掌握中断处理程序的编写方法。
二、实验说明
关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。
内部计数器在单片机中主要有定时器和计数器两个功能。
本实验使用的是定时器,定时为一秒钟。
CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器周期。
因为如果实验系统的晶振是12MHZ,本工作于方式2,即8位自动重装方式定时器,定时器100uS中断一次,所以定时常数的设置可按以下方法计算:
机器周期=12÷12MHz=1uS
(256-定时常数)×1uS=100uS
定时常数=156。
然后对100uS中断次数计数10000次,就是1秒钟。
在本实验的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。
三、实验内容及步骤
1.最小系统中插上80C51核心板,用导线连接MCU的P10到八位逻辑电平显示的L0发光二极管处。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3、打开KeiluVision2仿真软件,首先“定时器”文件夹下的“定时器.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序,观测L0发光二极管1S亮一次。
四、源程序(见光盘)
实验三外部中断实验
一、实验目的
1.掌握外部中断技术的基本使用方法;
2.掌握中断处理程序的编写方法。
二、实验说明
1.外部中断的初始化设置共有三项内容:
中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。
中断方式设置一般有两种方式:
电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。
因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入,本实验由INT0(P3.2)引入。
2.中断服务的关键:
A.保护进入中断时的状态。
堆栈有保护断点和保护现场的功能使用PUSH指令,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。
B.必须在中断服务程序中设定是否允许中断重入,即设置EX0位。
C.用POP指令恢复中断时的现场。
3.中断控制原理:
中断控制是提供给用户使用的中断控制手段。
实际上就是控制一些寄存器,51系列用于此目的的控制寄存器有四个:
TCON、IE、SCON及IP。
4.中断响应的过程:
首先中断采样然后中断查询最后中断响应。
采样是中断处理的第一步,对于本实验的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,IE0或IE1置“1”;否则继续为“0”。
所谓查询就是由CPU测试TCON和SCON中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。
中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。
INT0端接单次脉冲发生器。
P1.0接LED灯,以查看信号反转。
三、实验内容及步骤
1.最小系统中插上80C51核心板,用导线连接MCU的P10到八位逻辑电平显示的L0发光二极管处,P32接单次脉冲电路的输出端(绿色防转座)。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3、打开KeiluVision2仿真软件,首先“中断”文件夹下的“中断.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序,按一次单次脉冲的按钮灯取反一次
四、源程序(见光盘)
实验四键盘实验
一、实验目的
掌握查询式键盘的接口和编程方法。
二、实验内容
本实验提供了8个按键的小键盘,如果有键按下,则相应输出为低电平,否则输出为高电平。
MCU判断有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。
编写一个程序,能读出键盘操作的编号,并在数码显示器上显示。
三、实验电路
本实验所需电路请参见系统原理图的第一部分和独立式键盘电路。
四、实验程序参考框图
(a)主程序框图(b)键盘扫描子程序框图
五、实验步骤
1.最小系统中插上80C51核心板,把7279阵列式键盘的JT9短路帽打在VCC处,用8P排线将JD16、JD17接八位动态数码显示JD1和JD2相连。
2.查询式键盘的JD15和MCU最小系统的P2口相连,MCU最小系统的P15、P16、P17分别接7279键盘的CS、CLK、DATA。
3、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
4、打开KeiluVision2仿真软件,首先“KEY”文件夹下的“KEY.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
5、全速运行程序,键盘上按下某个键,观察数显是否与该键号一致。
六、源程序(见光盘)
七、思考题
1.程序如何确保每按一次键,只处理一次。
八、原理图
实验五串行AD转换实验
一、实验目的
1.掌握单片机和TLC549硬件联接及软件编程。
2.熟悉八位串行AD转换器TLC549的性能及转换过程。
二、实验说明
TLC549是一种采用8位逐次逼近式工作的A/D转换器。
内部包含系统时钟、采样和保持、8位A/D转换器、数据寄存器以及控制逻辑电路。
TLC549每25uS重复一次“输入—转换—输出”。
器件有两个控制输入:
I/OCLOCK和片选(CS)。
内部系统时钟和I/OCLOCK可独立使用。
应用电路的设计只需利用I/O时钟启动转换或读出转换结果。
当CS为高电平时,DATAOUT处于高阻态且I/O时钟被禁止。
当CS变为低电平时,前次转换结果的最高有效位(MSB)开始出现在DATAOUT端。
在接下来的7个I/OCLOCK周期的下降沿输出前次转换结果的后7位,至此8位数据已经输出。
然后再将第8个时钟周期加至I/OCLOCK,此时钟周期的下跳沿变使芯片进行下一轮的AD转换。
在第8个I/OCLOCK周期之后,CS必须变为高电平,并且保持高电平直至转换结束为止(>17uS),否则CS的有效高电平至低电平的转换将引起复位(其它详细资料看芯片说明)。
三、实验内容及步骤
1.最小系统中插上80C51核心板,把7279阵列式键盘的JT9短路帽打在上方VCC处,用8P排线将JD16、JD17分别接八位动态数码显示的JD1、JD2相连;MCU最小系统的P16、P17、P27分别接7279键盘的CLK、DATA、CS。
2.MCU最小系统的P10,P11,P12分别接AD转换的DATA、CLK、CS-549,AD转换的AIN接可调电压0~5V可调端。
3、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
4、打开KeiluVision2仿真软件,首先“TLC549”文件夹下的“TLC549.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
5、全速运行程序数码显示电压转化的数字量,调节模拟信号输入端的电位器旋钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是0~4.98V左右。
四、源程序(见光盘)
六、电路图
实验六串行DA转换实验
一、实验目的
1.掌握LTC144612位串行D/A转换芯片的工作方法。
2.掌握LTC144612位串行D/A转换芯片编程方法和调试方法。
二、实验内容
使用LTC1446实现单片机数模转换,输出方波。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明
LTC1446是一种采用12位逐次逼近式工作的A/D转换器。
内部包含系统时钟、采样和保持、12位A/D转换器、数据寄存器以及控制逻辑电路。
LTC1446每25uS重复一次“输入——转换——输出”。
器件有两个控制输入:
DINCLK和片选(CS)。
内部系统时钟和DINCLK可独立使用。
应用电路的设计只需利用时钟启动转换或读出转换结果。
当CS为高电平时,Dout处于高阻态且DIN时钟被禁止。
当CS变为低电平时,前次转换结果的最高有效位(MSB)开始出现在Dout端。
(其它详细资料看芯片说明)。
1.LTC1446的内部管脚图
2.LTC1446时序图
三、实验步骤
1.最小系统中插上80C51核心板,MCU最小系统的P1.0接串行D/A的CLK,P1.1接DIN,P1.2接CS-1446。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3、打开KeiluVision2仿真软件,首先“LTC1446”文件夹下的“LTC1446.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序用示波器观察OUT端的波形为方波。
四、程序(见光盘)
六、电路图
实验八
(1)直流电动机控制实验
一、实验目的
1.学习用PWM输出模拟量驱动直流电机;
2.熟悉直流电动机的工作特性。
二、实验说明
PWM是单片机上常用的模拟量输出方法,用占空比不同的脉冲驱动直流电机转动,从而得到不同的转速。
程序中通过调整输出脉冲的占空比来调节直流电机的转速。
使用光电测速元件测速,当它与圆盘上的空位相靠近时,光电元件输出低电平,当它与没对空时时,光电元件输出高电平。
圆盘转动一周时则产生12个脉冲,直流电机转动时,光电元件输出连续的脉冲信号,单片机记录其脉冲信号,就可以测出直流电机的转速。
另外增加显示电路,可把电机的转速显示出来。
本实验使用6V直流电机。
运行速度设置为40转/秒,经过若干秒后,直流电机转速慢慢下降到运行速度,以设定的速度运行。
三、实验内容及步骤
1.最小系统中插上80C51核心板,把7279阵列式键盘的JT9短路帽打在上方VCC处,用8P排线将JD16、JD17分别接八位动态数码显示的JD1、JD2相连;MCU最小系统的P16、P17、P27分别接7279键盘的CLK、DATA、CS,
2.MCU最小系统的P10、P32分别接直流电机V-DCmotor、Pulseout。
3、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
4、打开KeiluVision2仿真软件,首先“DCMotor”文件夹下的“DCMotor.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
5、全速运行程序直流电机旋转,第三个数码显示P最后两位显示电机转速,观察直流电机转速,若干秒后,直流电机转速慢慢下降到以程序设定的速度运行(程序设定为40转/S左右)。
五、实验电路图
实验八
(2)步进电动机控制实验
一、实验目的
1.掌握采用单片机控制步进电机的硬件接口技术。
2.掌握步进电机驱动程序的设计和调试方法。
3.熟悉步进电动机的工作特性。
二、实验说明
1.步进电动机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。
若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。
2.步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。
图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。
每输出一个脉冲信号,步进电动机只走一步。
因此,依序不断送出脉冲信号,即可步进电动机连续转动。
a.1相励磁法:
在每一瞬间只有一个线圈导通。
消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18度。
若欲以1相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序:
A→B→C→D→A
STEP
A
B
C
D
1
1
0
0
0
2
0
1
0
0
3
0
0
1
0
4
0
0
0
1
b.2相励磁法:
在每一瞬间会有二个线圈同时导通。
因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18度。
若以2相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序:
AB→BC→CD→DA→AB
STEP
A
B
C
D
1
1
1
0
0
2
0
1
1
0
3
0
0
1
1
4
1
0
0
1
c.1-2相励磁法:
为1相与2相轮流交替导通。
因分辨率提高,且运转平滑,每送一励磁信号可走9度,故亦广泛被采用。
若以1相励磁法控制步进电动机正转,其励磁顺序如图所示。
若励磁信号反向传送,则步进电动机反转。
励磁顺序:
A→AB→B→BC→C→CD→D→DA→A
STEP
A
B
C
D
1
1
0
0
0
2
1
1
0
0
3
0
0
1
0
4
0
1
1
0
5
0
0
1
0
6
0
0
1
1
7
0
0
0
1
8
1
0
0
1
3.电动机的负载转矩与速度成反比,速度愈快负载转矩愈小,当速度快至其极限时,步进电动机即不再运转。
所以在每走一步后,程序必须延时一段时间。
三、实验内容及步骤
1.最小系统中插上80C51核心板,MCU最小系统的P10~P13接步进电机A~D,MCU最小系统的P2口接查询式键盘的JD15。
2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3、打开KeiluVision2仿真软件,首先“SetpMotor”文件夹下的“SetpMotor.Uv2”实验的项目文件,对源程序进行编译,直到编译无误。
4、全速运行程序,按下K0键电机正转,按下K1键电机反转,按下K2键电机停止。
四、源程序(见光盘)
五、思考问题
如何改变电机的工作方式或者方向、速度,设计控制软件?
六、实验电路图
附录实验装置的使用
一、编程软件
1、汇编程序请使用WAVE软件作为编译环境。
2、C语言请使KEIL软件作为编译环境。
二、系统仿真
系统仿真请使用PROTEUS仿真软件
三、硬件实验的基本操作
1、打开ISP-USB下载软件,打开progisp.exe文件
2、选择usb口,所使用的芯片,调入flash(程序.Hex格式)
注意:
只在(读识别字,芯片擦出,编程FLASH,前面打钩)否则可能报错,下载不进去,点击
下载。
在下载之前要确定isp下载器驱动是否装好
出师表
两汉:
诸葛亮
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:
愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:
愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。
先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也
。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。
受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。
今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。
此臣所以报先帝而忠陛下之职分也。
至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。
若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。
臣不胜受恩感激。
今当远离,临表涕零,不知所言。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导书
![提示](https://static.bingdoc.com/images/bang_tan.gif)