单片机实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一系统认识与程序调试方法
一、实验目的
1.掌握实验系统的使用方法。
2.掌握集成调试软件的操作与程序调试方法。
3.熟悉单片机指令系统,掌握在单片机开发系统上调试和执行程序的过程。
二、实验原理
Lab6000通用微控制器实验系统由板上仿真器、实验单元、开关电源等构成。
接上EX51B仿真板,可进行MCS-51系列单片机的实验。
实验系统通过串行通讯电缆将实验系统上的“仿真器串口”与计算机的串行通讯端口联接,在计算机上运行WAVE 集成调试软件,即可完成实验程序的编写、编译、装载、调试。
WAVE 集成调试软件具有与一般办公和工程软件相似的编辑功能和命令菜单。
可在软件上完成程序的输入、编辑、编译、调试等工作,实现对实验系统的控制。
并可通过相关窗口观察程序运行过程中,单片机各个数据存储单元的变化情况。
三、实验仪器、材料
1. Lab6000通用微控制器实验系统。
2.计算机,WAVE 集成调试软件。
四、实验步骤
1.按要求进行实验系统的联接与启动。
用配套的串行通讯电缆联接实验系统上的“仿真器串口”和计算机串行口。
将实验系统的电源线与220V 电源相连(实验结束后应拔下)。
打开实验系统电源开关,红色电源指示灯亮。
仿真器初始化成功后,数码管会显示8051,
表示仿真系统正常。
2.执行WAVE 集成调试软件。
进入开发环境界面(见上图)后,在“仿真器”下拉菜单,选择“仿真器设置”项。
在弹出的“仿真器设置”窗口中,应作设置如下:
•在“语言”标签窗口下,
“编译器路径”为“C:\COMP86\”;
“ASM命令行”勾选“使用伟福预定义符号”项;
“编译器选择”点选“伟福汇编器”项;
“缺省显示格式”点选“混合十、十六进制”项。
•在“目标文件”标签窗口下,勾选:
“缺省地址(由编译结果确定)”;
“生成HEX文件”;
“置未用程序存储器为00H”。
•在“仿真器”标签窗口:
选择仿真器:Lab6000 通用微控制器实验系统;
选择仿真头:MCS51 实验;
选择CPU:8031/32;
去掉“使用伟福软件模拟器”选项。
•在“通信设置”标签窗口,按实验系统与计算机的实际连接串口点选“端口选择”。
3.执行“建新文件”命令,在开发环境程序窗口中按汇编语言格式逐行输入汇编语言源程序,并进行编辑。
将程序文件名取为shiyan1.asm保存。
ORG 0000H
MAIN: MOV R2,#06H
MOV R3,#00H
MOV R4,#00H
MOV R0,#50H
L1: MOV A,R4
ADD A,@R0
MOV R4,A
INC R0
CLR A
ADDC A,R3
4.执行“文件”下拉菜单中,执行“新建项目”命令,建立新项目。
在弹出的“加入模块文件”窗口,确定实验程序所在路径,选择实验源程序,并“打开”。
在弹出的“加入包含文件”窗口,选择“取消”。
在弹出的“保存项目”窗口,建立项目文件名,选择“保存”。
项目文件名一般与程序名同。
完成以上新建项目后,窗口的“模块文件”项下,应有实验源程序一项。
5.执行“项目”下拉菜单中,执行“编译”命令,对输入的源程序进行编译。
6.在“窗口”下拉菜单中,
(1)执行“项目窗口——SFR”命令,观察特殊功能寄存器值的变化。
(2)执行“CPU窗口”命令,观察相应寄存器值的变化。
(3)执行“数据窗口——DATA”命令,
按下表设置单片机内部RAM相应单元的值,并观察这些单元在程序执行过程中的变化。
以上窗口命令也可用相应的工具按钮实现。
7.在“执行”下拉菜单中,执行相应命令,或利用工具按钮,或利用快捷键,运行调试程序:
(1)全速执行——运行程序。
(2)跟踪——跟踪程序执行的每步,观察程序运行状态及结果。
(3)单步——单步执行程序。
与“跟踪”不同的是,“跟踪”可以跟踪到函数(子程序)或过程的内部,而“单步”执行则不跟踪到程序内部。
(4)执行到光标处——程序从当前PC 位置,全速执行到程序窗口中光标所在的行。
如果光标所在行没有可执行代码,则提示“这行没有代码”。
(5)暂停——暂停正在全速执行的程序。
(6)复位——终止调试过程,将系统复位。
如果程序正在全速执行,则应先执行“暂停”。
(7)设置PC——将程序指针PC,设置到程序窗口中光标所在行。
程序将从光标所在行开始执行。
(8)自动单步跟踪/单步——模仿用户连续执行“跟踪”或“单步”命令来运行程序。
(9)在程序的适当位置,设置断点,全速执行程序到断点处,观察程序运行到断点时的运行结果。
有四种方法,可以在程序窗口光标所在的行处设置断点
1)将光标移到程序窗口内,行左边的空白处,光标变成“手指圆”箭头,单击鼠标左键,可以设置/取消断点。
2)使用Ctrl-F8 快捷键,可以在光标所在行设置/取消断点。
3)右击鼠标,在弹出的菜单中,选择“设置/取消断点”。
4)主菜单“执行”下拉菜单中,选择“设置/取消断点”。
8.记录程序运行结果。
思考:如果源程序是用C51编写,文件名的后缀应以什么结尾?
五、实验报告要求
1.编写程序清单,处理的运行结果。
2.通过程序调试,分析程序完成什么功能。
3.说明若程序处理的数据不是6个,应修改程序的哪部分?
4.说明若存放数据的单元地址变化,应修改程序哪部分?
实验二程序设计--数制的转换
一、实验目的
1、进一步熟悉单片机开发系统及其操作
2、了解单片机的指令系统
3、通过简单程序,了解在单片机系统上程序的调试和执行程序过程
4、掌握简单的数值转换算法
二、实验原理
计算机中的数值有各种表达方式,这是计算机的基础。
掌握各种数制之间的转换是一种基本功。
本实验包含两个程序:
程序一:将给定的一个二进制数,转换成二-十进制(BCD)码。
在主程序中存入一个二进制数A,将 A 拆为三个 BCD 码, 并存入 RESULT 开始的叁个单元,请参照实验步骤完成要求。
1、C51语言源程序:
2、汇编语言源程序
程序二:给出一个BCD值数,将其转换成ASCII值。
在主程序中存入一个BCD 值数A,将 A 拆为两个 ASCII 码, 并存入 RESULT 开始的二个单元,请参照实
验步骤完成要求。
1、C51语言源程序:
2、汇编语言源程序
三、实验器材
1、伟福Lab6000系列单片机仿真实验系统一套
四、实验步骤
1、确连接系统,设置好仿真器和编译选项
2、建立新程序和新项目,编译程序。
3、编译成功后进行单步调试,在观察窗口中添加RESULT观察项,并观察和记录下XDATA窗口和观察窗口的数据变化。
五、实验报告要求
1、整理实验记录的数据和结果,分析结果正确与否。
2、进行单步调试,简述调试过程。
3、尝试用别的方法解决问题(提示:移位法)。
实验三程序设计—多字节加法运算
一、实验目的
1、进一步熟悉单片机的指令系统
2、通过简单程序,进一步了解在单片机系统上程序的调试和执行程序过程
3、掌握使用运算类指令编程及调试方法和各种状态位的变化。
二、实验原理
1、加数存放在30H开始的单元中(最低位在30H中,按小到大顺序存放)。
2、被加数和结果存放在50H开始的单元中(最低位在50H中,按小到大顺序存放)。
3、字节数在2FH中,和的最高进位存放在CY中。
汇编语言源程序:
三、实验器材
1、伟福Lab6000系列单片机仿真实验系统一套
四、实验步骤
1、确连接系统,设置好仿真器和编译选项
2、建立新程序和新项目,编译程序。
3、编译成功后进行单步调试,在观察窗口观察和记录下数据。
五、实验报告要求
1、整理实验记录的数据和结果,分析结果正确与否。
2、进行单步调试,简述调试过程。
实验四程序设计—数据的排序
一、实验目的
1、了解数据排序的简单方法
二、实验原理
给出一组随机数,将此组数据排序,使之成为有序数列。
本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。
再进行下一轮比较,找出第二大数据,直到全部数据有序。
1、程序框图如下:
1、C51语言源程序:
2、汇编语言源程序:
三、实验器材
1、伟福Lab6000系列单片机仿真实验系统一套
四、实验步骤
1、确连接系统,设置好仿真器和编译选项
2、建立新程序和新项目,编译程序。
3、编译成功后进行单步调试,记下运行结果。
五、实验报告要求
1、整理实验记录的数据和结果,分析结果正确与否。
2、进行单步调试,简述调试过程。
3、除冒泡排序法外,还有很多其它的排序法,试选取其中一种重新写程序。
实验五并行口的应用
一、实验步骤
1、学习P1口的使用方法。
2、学习延时子程序的编写和使用。
二、实验原理
1、P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据是不正确的。
2、8051延时子程序的延时计算问题,对于程序
查指令表可知MOV ,DJNZ 指令均需用两个机器周期,在6MHZ 晶振时,一个机器周期时间长度为12/6MHZ ,所以该段程序执行时间为: (256×255+2)×2×12÷6 ≈ 261MS
说明:本实验包括两个小实验,程序一是P1口循环点灯实验;实验二是P1口输入输出实验。
下面分别进行介绍。
程序一:
P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
实验电路及连线:
1、实验框图如下:
Delay :
MOV R6,#0H MOV R7, #0H DelayLoop :
DJNZ R6,DelayLoop DJNZ R7,DelayLoop RET
程序二:
P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
实验电路及连线:
1、实验框图如下:
三、实验仪器
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤:
1、连接系统,设置好仿真器和编译选项。
2、建立新程序和新项目,编译程序。
3、编译成功后进行调试,观察LED的闪烁。
五、实验报告要求
1、采用单步、断点、连续运行等调试方式以上程序,记录调试过程和结果。
2、结合所学知识,说明P1口与其他并行口在结构上有什么区别?
实验六继电器控制
一、实验目的
1、学习I/O端口的使用方法。
2、掌握继电器的控制的基本方法。
3、了解用弱电控制强电的方法。
二、实验原理
现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
继电器便能完成这一桥梁作用。
说明:
1、本实验用单片机的端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。
采用的继电器其控制电压是5V,控制端为高电平时,继电器工作常开触点吸合,连触点的LED灯被点亮。
当控制端为低电平时,继电器不工作。
执行时,对应的LED将随继电器的开关而亮灭。
2、实验电路及连线
连线连接孔1 连接孔2
1 P1.0 继电器输入
2 5V 继电器常闭输入
3 L0 继电器中间输入
3、实验框图
开始继电器吸合延时继电器断开延时
OUTPUT EQU P1.0 ; P1.0 PORT
LOOP:
CLR C
MOV OUTPUT,C
CALL DELAY
SETB C
MOV OUTPUT,C
CALL DELAY
LJMP LOOP
DELAY:
三、实验仪器
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤:
1、连接系统,设置好仿真器和编译选项。
2、建立新程序和新项目,编译程序。
3、编译成功后进行调试,观察LED的闪烁。
五、实验报告要求
1、采用单步、断点、连续运行等调试方式以上程序,记录调试过程和结果。
2、结合所学知识,谈谈你对远程控制系统的体会。
实验七外部中断应用
一、实验目的
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
二、实验原理
中断服务程序的关键是:
1、保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2、必须在中断程序中设定是否允许中断重入,即设置EXO位。
一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。
本例的中断程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。
另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。
说明:
1、本实验用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。
本例中使用了INTO中断,INTO(P32)端接单次脉冲发生器。
P1.0接LED灯,以查看信号反转。
2、实验电路与连线
连线连接孔1 连接孔2
1 P1.0 L0
2 单脉冲输出INT0 (51系列)
3、实验框图
三、实验仪器
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤:
1、连接系统,设置好仿真器和编译选项。
2、建立新程序和新项目,编译程序。
3、编译成功后进行调试,观察LED的闪烁。
五、实验报告要求
1、采用单步、断点、连续运行等调试方式以上程序,记录中断的过程和结果。
2、若采用外部中断1来产生中断,电路和程序应如何修改?
实验八定时器/计数器应用
一、实验目的
1、学习8051内部定时器/计数器的使用方法和编程方法
2、掌握定时器0作为中断源时的中断处理程序的编程方法
二、实验原理
8051单片机内部有两个16为可编程定时器/计数器:T0和T1。
16为是指它们都是有16个触发器构成,故最大计数模值为216-1。
可编程是指它们的工作方式由指令来设定,或者当计数器用,或者当定时器用,并且计数(定时)的范围也可以由指令来设置。
这种控制功能是通过定时器方式控制寄存器TMOD来完成的。
工作在定时方式时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的时钟;工作在计数方式时,时钟脉冲(计数脉冲)由T0和T1(即P3.4和P3.5)输入。
定时器在计到规定的定时值时可以向CPU发出中断申请,从而完成某种定时的控制功能。
定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理。
程序一:定时器/计数器0按定时模式和方式1工作,产生周期为1秒的方波,方波由P1.0口输出。
此程序用查询方式。
弄清TMOD各位的含义。
说明:
1、内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器周期。
因为实验系统的晶振是6MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100US中断一次, 所以定时常数的设置可按以下方法计算:
机器周期=12÷6MHZ=2US
(256-定时常数)×2US=100US
定时常数=206. 然后对100US中断次数计数10000次,就是1秒钟。
2、实验电路及连线
3
图3-1 程序一框图
4、汇编语言源程序:
MOV A, C100US
ORL A, C100US+1
JNZ EXIT ; C100US 记数器不为0, 返回
MOV C100US, #HIGH(TICK) ; C100US 记数器为0, 重置记数器MOV C100US+1, #LOW(TICK)
MOV TH0, #0 ;重新装载TH和TL
MOV TL0, #T100US
CPL LEDBUF ; 取反LED
MOV C, LEDBUF
MOV LED, C
EXIT:
POP PSW
RETI
START: ; 主程序入口
MOV TMOD, #01H ; 方式1, 定时器0
MOV TH0, #0 ; 计算T/C的计数初值,并装载到TH和TL
MOV TL0, #T100US
CLR LEDBUF
CLR LED
MOV C100US, #HIGH(TICK)
MOV C100US+1, #LOW(TICK)
SETB TR0 ; 开始定时
LPX:
JBC TF0, T0INT
AJMP LPX
END
程序二:定时器/计数器0按定时模式和方式2工作,产生周期为1秒的方波,方波由P1.0口输出。
此程序用中断方式。
弄清IE寄存器的作用及矢量地址000BH 的含义。
说明:
1、在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。
2、实验电路及连线
连线连接孔1 连接孔2
1 P1.0 L0
3、实验框图
4、汇编语言源程序:
程序三:定时器/计数器0按计数器模式和方式2工作,对P3.4(T0)引脚进行计数。
按动按钮,记数寄存器增加1记数,记满则与P1.0相连的发光二极管亮,留意按动次数。
说明:
1、单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。
这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。
同时这就决定了输入波形的频率不能超过机器周期频率。
2、实验电路及连线
3
4、汇编语言源程序:
三、实验器材
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤:
1、连接系统,设置好仿真器和编译选项。
2、建立新程序和新项目,编译程序。
3、编译成功后进行调试,观察LED的闪烁。
4、对于实验二,可在中断程序中设置断点,在观察窗口中添加C100US和LEDBUF 观察项,并观察和记录下XDATA窗口和观察窗口中的数据变化。
五、实验报告要求
1、整理好观测到的数据,并与理论值相比较。
2、讨论定时器/计数器0的四种方式的定时范围。
3、小结做完实验后的体会(着重弄懂控制寄存器的位含义及中断的处理)。
实验九串行口扩展并行口应用
一、实验目的
1、掌握8051串行口方式0工作方式及编程方法。
2、掌握利用串行口入I/O口,扩展I/O通道的方法。
二、实验原理
串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。
在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为FOSC/12。
在CPU将数据写入SBUF寄存器后,立即启动发送。
待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。
用串行口工作方式0输出数据/时钟,是自动移位输出,用P1端口串行输出数据时,要编程移位数据,输出数据/时钟。
说明:
1、利用单片机的串行口和I/O端口串行输出,利用74LS164移位转换成并行数据,接在LED灯上显示。
74LS164置于通用插座上。
2、实验电路与连线
74LS164 插入40脚锁紧座
连线连接孔1 连接孔2
1 L0 164-3脚
2 L1 164-4脚
3 L2 164-5脚
4 L3 164-6脚
5 L4 164-10脚
6 L5 164-11脚
7 L6 164-12脚
8 L7 164-13脚
9 RXD 164-1脚
10 RXD 164-2脚
11 TXD 164-8脚
12 RST_ 164-9脚
13 GND 164-7脚
14 VCC 164-14脚
用串口方式0,串行输出数据/时钟
3、实验框图Array
4、汇编语言远程序:
三、实验器材
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤:
1、连接系统,设置好仿真器和编译选项。
2、建立新程序和新项目,编译程序。
3、编译成功后进行调试,观察LED的闪烁。
五、实验报告要求
1、整理好观测到的数据,并与理论值相比较。
2、如何来判断一个字节发送完毕。
3、修改一下程序,使LED循环闪烁。
实验十八段数码管显示实验
一、实验目的
1、了解数码管动态显示的原理。
2、了解用总线方式控制数码管显示。
二、实验原理
利用实验仪提供的显示电路,动态显示一行数据。
说明:
1、本实验仪提供了6 位8段码LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。
显示共有6位,用动态方式显示。
8位段码、6位位码是由两片74LS374输出。
位码经MC1413或ULN2003倒相驱动后,选择相应显示位。
本实验仪中 8位段码输出地址为0X004H,位码输出地址为 0X002H。
此处X 是由KEY/LED CS 决定,地址译码参见实验七。
做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。
以便用相应的地址来访问。
例如,将KEY/LED CS 接到CS0上,则段码地址为08004H,位码地址为08002H。
2、七段数码管的字型代码表如下表:
3、实验线路及连线
4、程序框图
否
是
OUTBIT EQU 08002H ; 位控制口 OUTSEG EQU 08004H ; 段控制口 IN EQU 08001H ; 键盘读入口 LEDBUF EQU 60H ; 显示缓冲 NUM EQU 70H ; 显示的数据 DELAYT EQU 75H ; LJMP START
连线 连接孔1 连接孔2
1
KEY/LED_CS
CS0
位选通信号
(0x002H)
段码输出 (0x004H)
数据总线
开始
初始化显示参数 关所有位显示
取显示数据
输出段码数据
输出位选通信号
延时
位选通信号移位 指向下一个显示数据 返回
6位完成
三、使用仪器、材料
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤
1、进行实验线路的接线。
2、输入程序并检查,保存程序,编译程序。
3、执行程序,并分析程序的运行过程。
4、观察数码管的显示是否正确。
五、实验报告要求
1、说明程序的执行是否已实现程序设计的要求。
2、简要说明显示缓冲区的作用。
3、根据数码管的字型码表,分析实验所用数码管是共阳极的,还是共阴极的。
4、小结做完实验后的体会(着重弄懂位段控制原理)。
实验十一键盘扫描显示实验
一、实验目的
1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和LED八段码显示器的工作原理。
二、实验原理
在上一个实验的基础上,利用实验系统提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。
实验程序可分成三个模块。
(1) 键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。
(2) 显示模块:将显示单元的内容在显示器上动态显示。
(3) 主程序:调用键输入模块和显示模块。
说明:
1、本实验仪提供了一个6×4的小键盘,向列扫描码地址(0X002H)逐列输出低电平,然后从行码地址(0X001H)读回。
如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码为高。
这样就可以通过输出的列码和读取的行码来判断按下的是什么键。
在判断有键按下后,要有一定的延时,防止键盘抖动。
地址中的X是由KEY/LED CS 决定,参见地址译码。
做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。
以便用相应的地址来访问。
例如将KEY/LED CS信号接CS0上,则列扫描地址为08002H,行码地址为08001H。
列扫描码还可以分时用作LED的位选通信号。
2、实验线路及连线
连线连接孔1 连接孔2
1 KEY/LED_CS CS0
读回行码(0X001H)
列码
(0X002H)
数据总线
3、实验框图
三、使用仪器、材料
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤
1、进行实验线路的接线。
2、输入程序并检查,保存程序,编译程序。
3、执行程序,并分析程序的运行过程。
4、观察数码管的显示是否正确。
五、实验报告要求
1、说明程序的执行是否已实现程序设计的要求。
2、小结做完实验后的体会(着重弄懂键盘扫描原理)。
实验十二外部中断在交通信号灯中的应用(选做)
一、实验目的
1、学习外部中断技术的基本使用方法。
2、学习中断处理程序的编程方法。
二、实验原理
本实验模拟交通信号灯控制,一般情况下正常显示,有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。
设急救车通过路口时间为10秒,急救车通过后,交通恢复正常,本实验用单次脉冲申请外部中断,表示有急救车通过。
说明:
1、中断处理可参考实验七。
2、实验电路及连线(参考)
三、使用仪器、材料
1、LAB6000 通用微控制器实验系统。
2、计算机,WAVE 集成调试软件。
3、连线若干。
四、实验步骤
1、编制程序。
2、进行实验线路的接线。
3、按要求进行实验系统的联接与启动。
4、输入程序并检查,保存程序,编译程序。
5、用“单步”方式执行程序,观察DATA窗口相应单元中数值的变化,及LED 指示灯的工作情况,判断程序执行的正确性。
五、实验报告要求
1、提交程序清单及程序流程图。
2、画出硬件连线示意图。
3、说明程序的执行是否已实现程序设计的要求。
实验十三直流电机控制实验(选做)
一、实验目的
1、了解直流电机控制原理。
2、学习单片机控制直流电机的编程方法。
3、了解单片机控制外部设备的常用电路。
二、实验原理
在电压允许范围内,直流电机的转速随着电压的升高而加快,若加上的电压为负电压,则电机会反向旋转。
本实验系统的D/A变换可输出-8V到+8V的电压,将电压经驱动后加在直流电机上,使其运转。
通过单片机输出数据到D/A变换电路,控制电压的高低和正负,观察电机的旋转情况。
在电机转盘上安装一个小磁芯,用霍尔元件感应电机转速,用单片机控制8255读回感应脉冲,从而测算出电机的转速。
说明:
1、利用实验仪上的D/A变换电路,输出-8V至+8V电压,控制直流电机。
改变输出电压值,改变电机转速,用8255的PB.0读回脉冲计数,计算电机转速。
2、实验电路及连线(参考)
(1) 8255端口扩展电路见第一章。
8255的CS/接地址译码/CS0,则命令字地址。