单片机实验指导书.docx
《单片机实验指导书.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书.docx(42页珍藏版)》请在冰豆网上搜索。
单片机实验指导书
第三章实验项目
实验一实验箱仿真器使用及单片机I/O口编程
一、实验目的
1.熟悉伟福Lab2000P单片机实验箱仿真器的使用方法。
2.掌握单片机的指令系统及上机实验过程。
3.掌握源程序的程序调试方法(包括断点设置、单步执行、连续执行等)及通过相应的窗口查看寄存器、存储器内容等方法。
4.掌握单片机的I/O口的特点及应用,如P1口进行数据输入、输出的编程方法。
5.学习延时子程序的编写与使用。
二、实验属性(验证性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机实验仪一台;2.PC机一台
四、实验原理及要求
1.阅读所购实验指导书前置实验箱的硬件及附录A中相关部分资料,了解伟福Lab2000P单片机实验仪的键盘和软件调试环境的使用方法。
2.阅读/编写本实验中的相关程序,写出相关程序,观察实验运行结果。
五、实验内容及步骤
实验内容
内容1输入给定的或自己编写的简单程序,通过软仿真学习汇编程序调试方法;
内容2通过实验箱的P1口连接八个发光二极管,使之左移循环闪烁;
内容3(选做)通过实验箱的P1口连接四个发光二极管及按键S0、S1,当S0按下,四个发光二极管左移循环闪烁;当S1按下,四个发光二极管右移循环闪烁。
实验步骤(注实验内容1无须步骤1;实验内容2的程序须自己设计)
1.PC机-仿真器-目标板(用户板)的连接
认真阅读仿真器实验说明,了解仿真器、仿真头上插座、插头的用途及形状,跳线含义及设置,完成“PC机-仿真器-目标板(用户板)的连接”。
2.汇编语言源程序编辑、运行、调试
①双击计算机桌面上的伟福图标,打开伟福软件模拟器,进入集成调试环境,学习菜单栏的使用以及各个窗口的作用和操作方法。
②选择File---New,打开文件窗口,在此窗口中分别输入如下程序:
(1) MOVA,#45H
MOVSP,#60H
PUSHA
CPLA
XCHA,61H
POP30H
SJMP$
A=SP=(30H)=(61H)=
(2) MOVA,#74H
MOVB,#21H
MULAB
SJMP$A=B=
(3)MOVA,#23H
MOVR7,#98H
RLA
ADDA,R7
DAA
SJMP$A=R7=
(4)MOVR0,#30H
MOVR5,#05H
MOVB,R5
CLRA
UP:
ADDA,@R0
INCR0
DJNZR5,UP
DIVAB
SJMP$A=B=R0=R5=
在30H----34H单元输入数据
(5)MOVB,#55H
MOVR1,#40H
MOVA,@R1
JNBACC.7,NEXT
XRLA,#0FFH
NEXT:
INCR1
MOV@R1,B
SJMP$A=B=R1=(41H)=
在40H单元中输入数据
③选择File---Save,保存文件,文件必须以*.ASM存盘
④选择项目---编译,将汇编语言源程序转换成机器语言目标程序
⑤选择窗口---CPU窗口
---数据窗口---DATA
---XDATA
⑥选择运行---单步,单步运行程序,直到最后一条指令,观察窗口内容
实验结果填入空中。
六实验箱连线如下表
连线
接线孔
接线孔
1
P1.0
L0(LED发光二极管,下同)
2
P1.1
L1
3
P1.2
L2
4
P1.3
L3
5
P1.4
L4
6
P1.5
L5
7
P1.6
L6
8
P1.7
L7
连线
接线孔
接线孔
1
P1.0
L0(LED发光二极管,下同)
2
P1.1
L1
3
P1.2
L2
4
P1.3
L3
5
P1.4
S0(乒乓开关,下同)
6
P1.5
S1
七、注意事项
1.仿真软件安装及操作
仿真软件也称为汇编器。
仿真器只有在仿真软件的支持下才能完成源程序的编辑(目前多数仿真软件均为具有源程序编辑功能)、汇编(编译)、运行及调试。
仿真软件功能强弱直接关系到单片机应用系统的开发效率。
一套功能齐全、性能良好、符合用户操作习惯的单片机开发系统,会使单片机开赴项目由难变易、由繁变简、由不可能到可能,收到事半功倍的效果。
不同仿真开发软件的功能、操作方式不尽相同,用户只能依据开发商提供的《使用说明书》或《用户指南》来安装、操作仿真开发软件。
2.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
有准双向口结构可知当P1口作为输入口时,必须对它先置“1”。
否则输入不正确。
3.通过改变延时时间来改变发光二极管循环闪烁(点亮)时间。
八、思考题
实验二中断实验
一、实验目的
1.掌握8051中断系统及中断程序结构;
2.掌握8051中断相关的特殊功能寄存器的使用方法;
3.进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.功能要求,在主程序中将与P1口驱动的8个LED发光二极管做左移循环闪烁(7灭1亮),当有中断请求时(连接在
引脚上的按键来模拟)使8个LED发光二极管闪烁6次。
2.INT0(P3.2)或INT1(P3.3)接实验箱上的负脉冲按钮,来模拟中断源。
当有“中断请求”(该按钮按下并松开)时,使连接在P1口上的4个发光二极管的状态反映(记录)“中断请求”次数(初始状态时,该4个发光二极管全灭)。
注:
(1)fosc=12MHz
(2)实验内容的1、3项必做,2、4项选做。
五、实验步骤:
(略)
六、问题与思考
1.中断服务子程序与子程序调用有何不同?
2.中断响应的条件?
3.中断服务子程序的内容一般应包括哪几部分?
4.如果需测量管脚INT0的脉冲宽度(低电平),简述解决方法。
5.利用查询中断标志位的方法,如何上述实验?
结合一个实验内容编程。
6.利用定时器如何产生秒脉冲?
实验三定时器/计数器实验
一、实验目的
1.掌握定时器/计数器的工作原理及8031定时器/计数器的使用方法;
2.掌握8031中断系统及中断程序结构;
3.进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.利用8031定时器的中断方式(T0或T1,下同),产生400Hz的音频信号(方波),通过P1口(某一位)驱动蜂鸣器响。
2.添加两个按键,K1键(接P3.0)、K2键(接P3.0),实现以下功能:
K1键按下时,通过定时器的中断方式,通过P1口(某一位)驱动蜂鸣器响(频率自定);
K2键按下时,使蜂鸣器不响。
3.INT0(P3.2)或INT1(P3.3)接实验箱上的负脉冲按钮,来模拟中断源。
当有“中断请求”(该按钮按下并松开)时,使连接在P1口上的4个发光二极管的状态反映(记录)“中断请求”次数(初始状态时,该4个发光二极管全灭)。
4.8031内部定时/计数器T0,按计数器模式下的方式1工作,对P3.4引脚的脉冲个数(接至实验箱上的负脉冲按钮)进行计数。
将其数值按二进制数通过P1口驱动的4个发光二极管的状态反映(记录)(初始状态时,该4个发光二极管全灭)。
注:
(1)fosc=12MHz
(2)实验内容的1、3项必做,2、4项选做。
五、实验步骤:
(略)
六、问题与思考
1.中断服务子程序与子程序调用有何不同?
2.中断响应的条件?
3.中断服务子程序的内容一般应包括哪几部分?
4.如果需测量管脚INT0的脉冲宽度(低电平),简述解决方法。
5.利用查询中断标志位的方法,如何上述实验?
结合一个实验内容编程。
6.利用定时器如何产生秒脉冲?
实验四定时器/计数器及中断实验
一、实验目的
1.掌握定时器/计数器的工作原理及8031定时器/计数器的使用方法;
2.掌握8031中断系统及中断程序结构;
3.进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.利用8031定时器的中断方式(T0或T1,下同),产生400Hz的音频信号(方波),通过P1口(某一位)驱动蜂鸣器响。
2.添加两个按键,K1键(接P3.0)、K2键(接P3.0),实现以下功能:
K1键按下时,通过定时器的中断方式,通过P1口(某一位)驱动蜂鸣器响(频率自定);
K2键按下时,使蜂鸣器不响。
3.INT0(P3.2)或INT1(P3.3)接实验箱上的负脉冲按钮,来模拟中断源。
当有“中断请求”(该按钮按下并松开)时,使连接在P1口上的4个发光二极管的状态反映(记录)“中断请求”次数(初始状态时,该4个发光二极管全灭)。
4.8031内部定时/计数器T0,按计数器模式下的方式1工作,对P3.4引脚的脉冲个数(接至实验箱上的负脉冲按钮)进行计数。
将其数值按二进制数通过P1口驱动的4个发光二极管的状态反映(记录)(初始状态时,该4个发光二极管全灭)。
注:
(1)fosc=12MHz
(2)实验内容的1、3项必做,2、4项选做。
五、实验步骤:
(略)
六、问题与思考
1.中断服务子程序与子程序调用有何不同?
2.中断响应的条件?
3.中断服务子程序的内容一般应包括哪几部分?
4.如果需测量管脚INT0的脉冲宽度(低电平),简述解决方法。
5.利用查询中断标志位的方法,如何上述实验?
结合一个实验内容编程。
6.利用定时器如何产生秒脉冲?
实验五串行通讯实验
一、实验目的
1.掌握串行通讯的工作原理及8031单片机串行接口的使用方法;
2.掌握8031单片机串行接口结构;
3.掌握通过查询或中断方法实现数据通讯;
4.进一步熟悉8031的指令及程序调试方法。
二、实验属性(验证性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.单机通讯(自发自收方式)
利用8031的串行口,把单片机内部RAM中以30H为首地址的数据,共16个字节,通过自发自收方式传送,使接收到的数据存放到以50H为首地址的单片机内部RAM中(要求采用累加和校验方式)。
注:
自发自收是指单片机自己发送数据,自己接收数据。
具体体现在硬件上,把单片机的TXD(P3.1)引脚连接到其RXD(P3.0)引脚即可。
2.双机通讯(两台实验装置)
通过RS-232协议,把甲机内部RAM中以30H为首地址的数据,共16个字节,发送到乙机,乙机接收到的数据存放到以50H为首地址的内部RAM中(要求采用累加和校验方式)。
注:
(1)fosc=12MHz
(2)实验内容1项必做,2选做。
五、实验步骤:
(略)
六、问题与思考
1.单片机串行通讯中TI、RI位为1表示什么意义?
该位为何必须通过软件清零?
2.串行通讯中校验方式有哪些方法?
3.单片机串行通讯中的波特率如何设置?
4.异步通讯与同步通讯各有何特点?
实验六汇编程序设计
实验七八段码动态显示实验
一、实验目的
1.掌握八段码LED数码管动态显示原理及驱动程序设计方法;
2.掌握8031并行接口扩展设计方法;
3.熟悉8031与外部信息交换方式。
二、实验属性(验证性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.利用伟福实验箱上的不可编程接口芯片组成的6位(个)八段码LED数码管动态显示硬件电路,显示自己学号的后六位。
2.(选做)添加一个按键,K1键(接P1.0),实现以下功能:
K1键按下(接0)时,5个八段码LED数码管显示当前时间(时间自定,
例如当前时间为8点52分时,显示格式为“08-52”);
K1键断开(接1)时,5个八段码LED数码管显示当前日期(当前日期自定,例如当前为4月20日时,显示格式为“04-20”)
五、实验步骤:
(略)
六、硬件电路参考实验指导书(第4页和第51页)
七、问题与思考
1.可编程并行接口芯片和不可编程并行接口芯片有何不同?
分别列举你知道的并行接口芯片。
2.LED八段码的动态显示与静态显示的原理有何不同?
对I/O位(个)数有什么不同?
3.如何在LED八段码中显示小数点?
4.CPU与外设交换信心的方式有哪几种?
5.接口电路有何作用?
实验八键盘扫描显示实验
一、实验目的
1.掌握矩阵键行列盘扫描原理及程序设计方法;
2.掌握键盘消除抖动的方法;
3.进一步掌握8031八段码LED数码管动态显示原理;
4.进一步掌握8031并行接口扩展设计方法。
二、实验属性(设计性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.利用伟福实验箱上的不可编程接口芯片组成的4X8键盘扫描电路和6位(个)八段码LED数码管动态显示硬件电路,定义0-0FH十六个按键(对应的键值为0-0FH)。
要求:
每按下一个按键,其键值在八段码LED数码管出来(只利用一位八段码LED数码管显示最后一次所按键值)。
2.(选做)利用伟福实验箱上的不可编程接口芯片组成的4X8键盘扫描电路和6位(个)八段码LED数码管动态显示硬件电路,定义0-0FH十六个按键(对应的键值为0-0FH)。
要求:
上电后,显示自己的学号后六位,然后每按下一个按键,其键值在6位八段码LED数码管上向左(或右,自定)移位显示所按键值(6次按键时,共显示6位),但按键次数超出六次后,在6位(个)八段码LED数码管重新开始显示新输入的键值。
五、实验步骤:
(略)
六、硬件电路参考实验指导书(第4、51和53页)
七、问题与思考
1.矩阵键盘和线性键盘原理有何不同?
2.消除机械键盘抖动的方法有哪些?
实验九AD转换实验
一、实验目的
1.掌握AD转换芯片0809原理、接口设计方法;
2.掌握启动0809及读取转换结果的方法;
3.进一步掌握8031八段码LED数码管动态显示原理;
二、实验属性(设计性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.利用伟福实验箱上的ADC0809电路和6位(个)八段码LED数码管动态显示硬件电路,把实验箱上可变电位器作为ADC0809某一路的输入信号。
把转换结果(十六进制数)在八段码LED数码管显示出来,当电位器阻值改变时,转换结果实时改变并显示。
要求:
上电后显示“P-----”,延时(延时时间自定)后,开始AD转换,并把转换结果按下面格式在数码管的后显示出来。
“----XX”(注XX表示AD转换转换结果的十六进制数),
利用查询方法读取ADC0809转换结果
2.内容及显示格式同1,但要求:
利用中断方法读取ADC0809转换结果
3.(选做)同1、2,但把转换结果(十进制数)在八段码LED数码管显示出来,当电位器阻值改变时,转换结果实时改变并显示。
五、实验步骤:
(略)
六、硬件电路参考实验指导书(第4、47、51页等)
七、问题与思考
1.ADC0809有几个输入通道?
2.读取ADC0809转换结果方法有哪几种?
实验十DA转换实验
一、实验目的
1.掌握DA转换芯片0832结构、原理、接口设计方法;
2.掌握0832输出电路变换及直流电机控制的方法;
3.进一步掌握AD转换芯片0809、八段码LED数码管动态显示方法;
二、实验属性(验证性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
1.利用伟福实验箱上的DAC0832电路,通过DAC0832输出-8V到+8V之间的某一电压值,该输出电压输入到实验箱上的直流电机,观察电机的运转情况;当改变DAC0832的输出值时,观察电机的转速变化。
2.利用伟福实验箱上的ADC0809电路和6位(个)八段码LED数码管动态显示硬件电路,把实验箱上可变电位器作为ADC0809某一路的输入信号。
把转换结果(十六进制数)在八段码LED数码管显示出来,并把转换结果通过DAC0832输出-8V到+8V之间的某一电压值,该输出电压输入到实验箱上的直流电机,观察电机的运转情况;当电位器阻值改变时,转换结果实时改变并显示,且观察电机的转速变化。
要求:
上电后显示“P-----”,延时(延时时间自定)后,开始AD转换,并把转换结果按下面格式在数码管的后显示出来。
“----XX”(注XX表示AD转换转换结果的十六进制数),
利用查询方法或利用中断方法读取ADC0809转换结果。
注:
内容2如果实验时间不够,显示功能可以不做。
即只做AD和DA及电机控制部分的内容。
五、实验步骤:
(略)
六、硬件电路参考实验指导书(第4、45、61页等)
七、问题与思考
1.DAC0832双缓冲控制有何特点?
2.DAC0832如何通过外部电路把电流输出变换为电压输出?
实验十一数据采集
一、实验目的
1.掌握人机接口及AD转换等硬件电路设计方法;
2.简易监控程序设计方法;
3.进一步掌握键盘扫描原理、八段码LED数码管动态显示方法、AD转换芯片0809的使用;
二、实验属性(综合性)
三、实验仪器设备及器材
1.伟福Lab2000P单片机仿真器、实验箱各一台(套);2.PC机一台
四、实验内容
自定,但原则如下:
综合键盘扫描原理、八段码LED数码管动态显示方法、AD转换芯片0809的使用、DA转换芯片0832的使用、简单I/O接口等的应用。
具体来讲,可以参考实现以下功能(可任选一项):
1.单路数据采集(电位器连连接ADC输入)与报警
通过软件(或键盘)设定报警上限值,当电位器模拟的输入值大于设定报警上限值时,通过蜂鸣器报警,并具有报警解除功能。
LED八段码能实时显示电位器模拟输入的电压值(最好为十进制数形式)。
2.双路数据采集(一路连电位器,一路连接温度传感器输出)
通过键盘切换两路输入的电压值,并能通过LED八段码能实时显示(最好为十进制数形式)。
3.编制一时钟,要求实时动态显示格式如下:
HHMMSS(时分秒)
如082145即为8时21分45秒,时间自动更新(注意进位制式),且能通过键盘设置初始时间。
注:
内容1、2可以利用查询方法或利用中断方法读取ADC0809转换结果。
内容3可以通过定时器(T0或T1)中断(或查询)方式实现。
五、实验步骤:
(略)
六、硬件电路参考实验指导书相关章节
第四章参考文献
1.杨学昭,王东云等.单片机原理、接口技术及应用(含C51)西安:
西安电子科技大学出版社,2009
2.梅丽凤,王艳秋,汪毓铎等.单片机原理及接口技术.北京:
清华大学出版社,2006
3.张五一等,微型计算机原理与接口技术郑州:
河南科技出版社,2006
4.南京伟褔仿真器(http:
//www.wave-
5.中国电子网(
附录A
伟福单片机实验箱(装置)结构图
附录AHKZK8688TE实验机在串行监控配置方式下安装和启动
一、系统安装示意图
图4-1串行监控配置方式
串行监控配置方式是利用微机向实验机发送串行监控命令,实验机上的微处理器8088根据监控命令做相应的动作。
在该配置方式下,实验时用到的微处理器是实验机上的微处理器。
二、开关和连线设置
三、系统运行
打开PC机,进入WINDOWS环境下,执行wave。
此时便可在串行方式下,加载程序到实验机上,进行运行,并且可以进行设置断点、单步/跟踪运行等调试功能。
下面是仿真器外观图:
仿真器和实验箱连接示意图:
附录B
伟福单片机实验箱(装置)主要硬件电路图图
实验箱电路原理图:
1.POD51仿真板电路
2.LED电平显示电路
3.开关量输出电路
4.继电器控制电路
5.I2C接口的E2ROM电路
6.喇叭驱动电路
7.复位和单脉冲产生电路
8.总线控制电路
9.片选译码电路
10.RAM电路
11.数码管显示和行列式键盘电路
12.电位器
13.热敏电阻
14.模数变换电路
15.数模变换电路
16.直流电机驱动电路
17.步进电机驱动电路
18.逻辑笔电路
19.分频电路
20.串行通信电路
21.液晶显示电路
22.与或非和触发器电路
附录C伟福单片机实验综合集成软件应用说明(快速入门)
1.建立你的新程序
选择菜单[文件|新建文件]功能
出现一个文件名为NONAME1的源程序窗口,在此窗口输入以下程序
ORG0
MOVA,#0
MOVP1,#0
LOOP:
INCP1
CALLDELAY
SJMPLOOP
DELAY:
MOVR2,#3
MOVR1,#0
MOVR0,#0
DLP:
DJNZR0,DLP
DJNZR1,DLP
DJNZR2,DLP
RET
END
输入程序后的窗口如图,现在要做的是将此文件存盘。
2.保存你的程序
选择[文件|保存文件]或[文件|另存为]功能选择文件所要保存的位置,例如:
D:
\WAVE文件夹,再输入文件名MY1.ASM,点击保存。
文件保存后,程序窗口上文件名变成了:
D:
\WAVE\MY1.ASM
为避免编译出现莫明其妙的错误和数据安全起见,保存路径最好选择为不含中文的路径,不要保存到C盘,例如:
D:
\WAVE\;文件名最好不含中文,并加扩展名.ASM,例如:
MY1.ASM
3.建立新的项目
选择[文件|新建项目]功能
新建项目会自动分三步走
A)加入模块文件。
在加入模块文件的对话框中选择刚才保存的文件MY1.ASM,按打开键。
如果你
是多模块项目,可以同时选择多个文件再打开。
B)加入包含文件。
在加入包含文件对话框中,选择所要加的包含文件(可多选)。
如果没有包含文件,按取消键。
C)保存项目。
在保存项目的对话框中输入项目名称MY1,无须加后缀,软件会自动将后缀设成“.PRJ”。
按保存键将项目存在与你的源程序相同的文件夹下。
项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有一个模块“MY1.ASM”,如果项目窗口没打开,可以选择菜单[窗口|项目窗口]功能来打开。
可以通过仿真器设置快捷键或双击项目窗口第一行选择仿真器和要仿真的单片机
4.设置项目
选择菜单[设置|仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口第一行来打开“仿真器设置”对话框