单片机实验指导书15Word下载.docx
- 文档编号:14959364
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:19
- 大小:116KB
单片机实验指导书15Word下载.docx
《单片机实验指导书15Word下载.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书15Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
缺口朝上。
3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、(先接通仿真器电源再开启试验箱电源)打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
注:
软件具体操作见附录
实验
(二):
用P1.0、P1.1作输入接两个置位开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个置位开关,P1.2、P1.3到两个发光二极管。
2、添加P1_B.ASM源程序,编译无误后,运行程序,拨动置位开关,观察发光二极管的亮灭情况。
四实验参考程序
ORG0000H
LJMPSTART
ORG0030H
START:
MOVA,#0FEH
MOVR2,#8
OUTPUT:
MOVP1,A
RLA
ACALLDELAY
DJNZR2,OUTPUT
LJMPSTART
DELAY:
MOVR6,#0
MOVR7,#0
DELAYLOOP:
;
延时程序
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
END
(二)实验二仅供参考,需修正
KEYLEFTBITP1.0;
定义
KEYRIGHTBITP1.1
LEDLEFTBITP1.2
LEDRIGHTBITP1.3
MOVC,KEYLEFT
MOVLEDLEFT,C
MOVC,KEYRIGHT
MOVLEDRIGHT,C
LJMPSTART
五、附加要求
改变程序,使LED从左至右循环显示,并且使实验一中每个LED灯闪烁的间隔时间大约为5s左右。
六、实验报告要求
1对实验
(一)程序抄写并注释
2画出实验
(一)程序流程图
3找出实验
(一)中延时子程序,并根据实验箱情况计算具体延时。
实验二外部中断实验
一、实验目的
1.掌握外部中断技术的基本使用方法
2.掌握中断处理程序的编写方法
二、实验原理
1.外部中断的初始化设置的三项内容:
中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。
中断方式设置一般有两种方式:
电平方式和脉冲方式.
2.中断服务的关键:
(1)保护进入中断时的状态。
堆栈有保护断点和保护现场的功能使用PUSH,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。
中断程序自动保护PC,对其做入栈操作
(2)用POP指令恢复中断时的现场。
(先进后出)
3.中断控制原理:
中断控制是提供给用户使用的中断控制手段。
实际上就是控制一些寄存器,51系列用于此目的的控制寄存器有四个:
TCON、IE、SCON及IP。
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TCON格式(中断控制字)
TF1、TF0:
定时器/计数器T的溢出中断请求标志位;
TR1、TR0:
计数器控制位TR1(TR0)=1启动定时器TR1(TR0)=0停止计数器
IE1:
外部中断请求1标志位;
IT1:
选择外部请求1;
IE0:
外部中断请求0标志位;
IT0:
IT0=0为低电平触发IT0=1为负跳变有效;
复位后TCON被清零,中断请求被禁止。
SCON格式(触发方式中断控制字)
TI:
串行口的发送中断请求标志位。
发送1帧串行数据后,硬件自动为TI置1。
CPU不会为T1清零,需要在中断程序中用软件为TI清零
RI:
串行口接受中断请求标志位。
接收完1帧串行数据后,硬件自动为RI置1。
CPU不会为R1清零,需要在中断程序中用软件为RI清零
三、实验内容
参考实验程序(主程序为P1口输出跑马灯程序),编写中断子程序使得发生外部中断0,且为下降沿触发时,LED灯全亮。
中断结束后LED继续接上次状态进行跑马灯闪烁。
注意保护现场。
且编译器不支持工作组寄存器名(R0-R7)入栈,需要对栈地址操作。
例:
PUSH06H(累加器支持左移右移不支持压栈出栈;
工作组寄存器不支持左移右移支持压栈出栈);
把R6入栈等同PHSHUR6
四、实验步骤
1.使用单片机最小应用系统1模块,P1接发光二极管,INTO接单次脉冲输出端。
2.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:
3.打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加**.ASM源程序,进行编译,直到编译无误。
4.打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。
五、参考程序
ORG0003H
LJMPINT
INT:
PUSH05H
PUSH06H
PUSH07H
MOVP1,#00H
POP07H
POP06H
POP05H
RETI
MOVIE,#81H
MOVTCON,#01H
MOVA,#0FEH
LJMPOUTPUT
MOVR5,#5
DJNZR5,DELAYLOOP
END
六、附加要求:
将中断内容变为前五个灯进行一次跑马灯,然后中断结束。
实验三定时器/计数器
1学习定时器/计数器的工作原理
2掌握定时器/计数器的控制方法
3掌握定时器/计数器各种工作模式和工作方式下的编程方法
MCS-51单片机内有两个可编程的定时器/计数器T0、T1,可分别工作在定时器或计数器模式下。
每种工作模式下有四种工作方式。
1、计数器工作模式:
外部脉冲进行计数,输入引脚(T0、T1即P3.4和P3.5)产生负跳变脉冲则计数器加1
2、定时器工作模式:
内部脉冲计数,每个机器周期产生一个计数脉冲,如外接12MHZ时钟则每隔1μs计数器加1
3、工作方式控制寄存器TMOD
D7
D6
D5
D4
D3
D2
D1
D0
GATE
C/T
M1
M0
T1方式字段T0方式字段
当INTX为高电平且RTRX为1时启动定时器/计数器
只要TR0(或TR1)置1,定时器/计数器就被选通
0为定时器模式
C/T
1为计数器模式
M1M0工作方式选择控制
4、定时器/计数器控制寄存器TCON
ITX外部中断请求触发方式选择0为电平触发1为负跳沿触发
IEX外部中断请求标志位
TFX定时器/计数器溢出标志位
1启动相应的定时器/计数器
TRX
0停止相应的定时器/计数器
上述X代表1或0
5、定时器/计数器控制寄存器IE
位标志
EA
—
ET2
ES
ET1
EX1
ET0
EX0
其中与中断有关的控制位共7位:
EA:
中断允许总控制位。
EA=0时,中断总禁止,禁止一切中断;
EA=1时,中断总允许,而每个中断源允许与禁止,分别由各自的允许位确定。
EX0和EX1:
外部中断允许控制位。
EX0(或EX1)=0,禁止外部中断(或);
EX0(或EX1)=1,允许外部中断(或)。
ET0和ET1:
定时器中断允许控制位。
ET0(ET1)=0,禁止定时器0(或定时器1)中断;
ET0(ET1)=1,允许定时器0(或定时器1)中断。
ES:
串行中断允许控制位。
ES=0,禁止串行(TI或RI)中断;
ES=1,允许串行(TI或RI)中断。
ET2:
定时器2中断允许控制位。
ET2=0,禁止定时器2(TF2或EXF2)中断;
在单片机复位后,IE各位被复位成“0”状态,CPU处于关闭所有中断的状态。
所以,在单片机复位以后,用户必须通过程序中的指令来开放所需中断。
6、各种工作方式最大定时时间(以6MHZ外接时钟频率计算)
方式0最长定时16.384ms
方式1最长定时131.072ms
方式2最长定时512μs
方式3最长定时512μs
7、定时初始值计算
n为不同工作方式计数器计数位数,A为机器周期所占时间,M为所需定时时间,X为对定时器/计数器所需设置的初始值
工作方式1下外接6MHZ晶振,要定时100ms则初始值X为:
X=15536=3CBOHTH0=3CHTL0=0B0H
三实验内容
1、编程实现以定时器/计数器T0做为定时器,使得P1.0每隔一秒钟取反一次,并用LED灯显示。
可参考实验程序
(一)
2、在内容1的基础上实现以T1做计数器,当P1.0取反20次后关闭所有中断,并点亮8个LED灯。
四实验步骤
内容一,P1口连接8位逻辑电平输出.
内容二,P1口连接8位逻辑电平输出,P1.0连接T1即P3.5.
五参考程序
说明:
本程序以工作方式1定时50ms,定时中断20次为一秒为例。
程序省略部分需补充才可完成实验要求。
ORG0000H
LJMP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导书 15