单片机实验指导书文档格式.docx
- 文档编号:17095245
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:19
- 大小:30.75KB
单片机实验指导书文档格式.docx
《单片机实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《单片机实验指导书文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
F0H
#0AH
0108H:
75H
0AH
010BH:
SWAP
010CH:
C4H
ADD
A,
010DH:
25H
31H,
010FH:
31H
RET
0111H:
22H
测试程序:
TEST:
#10H
0150H:
LCALL
BINBCD
SJMP
$
四、实验仪器:
稳压电源一台
HB-51教学实验系统一套
五、实验步骤:
1、HB-51教学实验系统简介:
(1)、+5V电源,+12V电源,-12V电源
(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED数码管)。
(3)、显示器介绍
该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。
在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。
(4)、键盘介绍
0~F
为数字键,用来输入0~F的数字,并且系统默认十六进制输入
MEM
为程序存储器内容检查/修改键
REG
为寄存器/内部RAM内容检查/修改键
LAST
用来向上跳一个地址单元
NEXT
用来向下跳一个地址单元
EXEC
为连续执行键
SCAL
为单步调用键
STEP
为单步执行键
MON
为返回系统监控状态,相当于让系统回到刚刚上电时的状态。
也是其他功能键的前导按键
2、HB-51教学实验系统与稳压电源的连接。
实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。
此时,如果系统工
作正常,会在显示器上显示“HB--51”。
如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
3、HB-51教学实验系统程序输入方法
(1)、程序输入方法
MON→0100→MEM→75→NEXT→F5→NEXT→64。
。
NEXT→22。
程序输入完毕。
其中,MON,MEM,NEXT为对应的功能键,0100H为本次输入程序的首地址。
75,F5,64,22等为程序的机器码。
(2)、已输入程序的检查方法:
MON→0102→MEM→NEXT→NEXT→。
其中,0102H为所要检查单元的地址,按NEXT键可以查看下一单元0103H的内容。
(3)、已输入程序的修改方法:
MON→0102→MEM→输入要修改的内容→NEXT→。
其中,0102H为所要修改单元的地址。
(4)、寄存器/内部RAM内容检查和修改方法:
内容检查:
MON→6(AB)→REG
表示查看寄存器A和寄存器B的内容,内容会在最右边的4个数码管上显示,其中左边的2个是A的内容,右边的2个是B的内容,且以16进制的方式表示。
例如,如果看到右边4个数码管显示的内容为5566,则表示A的内容为55H,B的内容为66H。
内容修改:
MON→6(AB)→REG→10→20
其中6(AB)代表按键,此时最左边的数码管显示6,右边4个数码管2个一组,从左到右代表寄存器A和寄存器B的内容,此时输入10和20则表示给A寄存器传送了一个数值10H,给B寄存器传送了一个数值20H。
相当于执行了MOVA,#10HMOVB,#20H。
同样,MON→30→REG→10,这个步骤表示给内部RAM30H输入了一个数值10H,相当于执行MOV30H,#10H的语句。
4、HB-51教学实验系统程序运行方法:
(1)、单步运行(STEP)
MON→0102(表示从0102H单元开始执行程序,下同)→MEM→STEP→观察结果→STEP。
每按一次STEP键,程序就会执行一条指令,显示器左边的4个数码管会显示下一条要执行指令的地址,左边2个数码管会显示寄存器A当前的内容。
(2)、全速运行(EXEC)
MON→0102(表示从0102H单元开始执行程序)→MEM→EXEC
程序将连续执行,可以用MON键打断程序执行,回到系统监控状态。
(3)、单步调用(SCAL)
MON→0102(代表从0102H单元开始执行程序)→MEM→SCAL
每按一下SCAL键,程序就会执行一条,如果当前指令遇到的是子程序调用,则当前子程序会被当作一条指令来执行。
5、参照实验原理给出的程序,手工汇编测试程序的机器码,并按照给定的地址输入到实验板中,分别用单步运行、全速运行和单步调用3种方法执行程序,执行完成后,用寄存器检查功能查看30H和31H单元的内容,并记录下来。
修改测试程序中的第一句MOVA,#XX,修改给A传递的数值,然后重新执行程序,并观察和记录30H和31H寄存器的内容,验证程序的正确性。
A的内容
31H的内容
30H的内容
六、实验注意事项:
(1)、注意稳压电源的使用,极性不得接反,电压不得超过5V。
(2)、程序输入时要注意把输入的代码和自己的程序代码对照,防止输入错误。
(3)、执行程序时,注意观察结果,记录实验现象。
七、实验报告要求:
写出实验目的,实验原理,实验仪器,实验步骤以及实验结果,并写出个人编写的程序及在实验中感触最深的体会。
实验二模拟交通灯实验
(1)、熟悉实验板,稳压电源,示波器的用法。
(2)、掌握单片机P1口作为基本的I/O口的用法。
(3)、培养程序编制以及调试的方法。
(4)、输入自己编写的程序,并通过实验板和示波器观察程序运行结果。
(2)、设计交通灯实验程序。
(3)、记录P1口输出的波形。
(1)、设计交通灯模拟驱动电路,并与系统电路作比较。
(2)、画出交通灯控制程序流程图。
(3)、编写交通灯模拟程序。
(4)、把编写的程序进行手工汇编,翻译成机器码。
HB-51教学实验系统一套
示波器一台
(1)、参照实验一实验步骤部分的内容,将翻译好的机器码录入系统板。
(2)、通过按单步运行键,观察程序执行过程,检查程序执行结果。
(3)、通过按连续执行键,观察程序执行结果,与实际的交通灯控制过程进行比对,验证程序。
(4)、通过实验结果修改程序,以达到用最小代码实现最大的功能。
(1)、稳压电源的使用,不得将电源接反,或者使用过高电压。
(2)、录入程序时注意检查录入的程序代码和自己翻译的是否一致,防止输入错误。
(3)、观察程序运行结果,并仔细检查思考程序的正确性,明确程序执行的过程。
八、附参考电路
由电路图可知当P1.4输出为低电平时,LED发光管L5亮,当P1.4输出高电平时,LED发光管L5灭。
在系统板中从P1.0到P1.5接了6个LED发光管,颜色依次为红黄绿、红黄绿,同学们可以根据实际路口的交通灯变化情况编写程序,下面给出单个指示灯闪烁的例子:
单个LED指示灯闪烁的程序清单
LED_Shine:
CLR
P1.4
;
指示灯亮
0100H
Delay1s
延时1秒
SETB
指示灯灭
LED_Shine
循环
延时100ms的子程序
Delay100ms:
R7,
0300H
Loop1:
R6,
#250
DJNZ
R6,
Loop1
延时1秒的子程序
Delay1s:
R5,
#10
0400H
Loop2
Delay100ms
实验三显示实验
(2)、掌握LED数码管动态扫描的方法,掌握单片机总线控制方法。
(1)、给出程序设计流程图。
(2)、设计LED数码管动态扫描程序。
(3)、记录LED数码管动态扫描信号的波形。
(4)、在参考程序的基础上编写一个让“123456”闪烁显示的子程序,手工汇编自己编写的程序,并在实验板上验证,程序清单上应有详细的中文注释。
(5)、在参考程序的基础上编写一个让“123456”依次向左循环显示的子程序,手工汇编自己编写的程序,并在实验板上验证,程序清单上应有详细的中文注释。
(1)、自己设计动态扫描显示电路的电路图,并与系统实验板电路做比较。
(2)、画出动态扫描显示电路的流程图。
(3)、编写动态扫描显示程序。
(4)、把编写的动态扫描显示程序,进行手工汇编,翻译成机器码。
(3)、通过按连续执行键,观察程序执行结果,注意与单步运行时的不同。
(4)、修改程序中显示的参数,观察显示结果。
(5)、修改程序中显示的时间,观察显示结果,进一步深入体会动态扫描。
(6)、用示波器观察并记录动态扫描时各位扫描信号的逻辑关系。
(2)、录入程序时注意检查录入的程序代码和自己翻译的是否一致,防止错误输入。
写出实验目的,实验原理,实验仪器,实验步骤以及实验结果,并写出个人编写的程序及在实验中感触最深的体会。
阐述动态扫描的原理,动态扫描时各个位的位扫描信号的逻辑关系。
参考电路图见附录I。
下面给出动态扫描显示子程序的程序清单:
ORG80E0H;
显示子程序
机器码
DISP:
R1,
#75H
首位地址
R2,
#20H
位指针
A,
R2
DISP1:
DPTR,
#0E400H
MOVX
@DPTR,
输出字位
@R1
取显示缓冲区内容
#11H
MOVC
@A+PC
取字型
DISP2:
#0E000H
输出字型
R3,
#00H
延时时间常数
关显示
DEC
R1
修改缓冲区地址
RRC
修改位指针
JNC
DISP1
未完继续
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;
字型表
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;
DB00H,76H,40H,73H,3EH,3DH,5CH,38H,50H;
数码管上面显示“123456”的子程序的程序清单:
显示“123456”子程序的程序清单
Start:
75H,
#01H
给显示缓冲区赋值
74H,
#02H
73H,
#03H
72H,
#04H
71H,
#05H
70H,
#06H
Disp_Loop:
DISP
调用显示子程序
Disp_Loop
循环调用
实验四键盘实验
(2)、掌握矩阵键盘的原理,掌握单片机总线控制的方法。
(3)、设计矩阵键盘扫描实验程序。
(4)、培养程序编制以及调试的方法。
(5)、输入自己编写的程序,并通过实验板和示波器观察程序运行结果。
(2)、设计矩阵键盘扫描实验程序。
(3)、记录矩阵键盘扫描信号的波形。
(4)、在参考程序的基础上,编写子程序实现每按一个键,键值就在数码管上依次向左滚动显示,对自己的程序进行手动汇编,并在实验板上进行验证,程序清单上应有详细的中文注释。
(1)、自己设计矩阵键盘电路的电路图,并与系统实验板电路做比较。
(2)、画出矩阵键盘电路驱动的程序流程图。
(3)、编写矩阵键盘的驱动程序。
(4)、把编写的矩阵键盘程序,进行手工汇编,翻译成机器码。
(4)、用示波器观察并记录矩阵键盘扫描时行列信号的逻辑关系。
阐述矩阵键盘的驱动原理,记录矩阵键盘扫描时行列信号的逻辑关系。
矩阵键盘扫描子程序的程序清单
ORG8120H;
键盘扫描子程序
程序代码
KBS:
#0DFH
行指针
行数
KB1:
@DPTR,
输出一行
#0E800H
@DPTR
读键盘
CPL
ANL
#1FH
JNZ
KB2
有键按下转出
RR
修改行指针
KB1
KB2:
RL
拼键值
ORL
R3
#TAB
#1CH
KB3:
查表
@A+DPTR
CJNE
02H,KB4
未找到转走
键值->
KB4:
KB3
键值为#00H
TAB:
DB81H,82H,42H,22H,83H,43H,23H,84H;
键值表
DB44H,24H,14H,13H,12H,11H,21H,41H;
DB00H,85H,45H,25H,15H,86H,46H,26H;
DB16H,0CH,0BH,0AH,09H;
每按下一个按键(仅限于0~F),把按键数值在数码管上显示的子程序的程序清单
子程序的程序清单
74
10
75H,
F5
75
74H,
73H,
73
72H,
72
71H,
71
70H,
清空显缓区75~70
70
Loop:
KBS
调用键盘扫描
010EH
12
81
20
A,#10H,
Next
如果有按键则转
0111H
B4
05
刷新显示
80
E0
Loop
无按键则重新判断
Next:
Delay10ms
软件去抖动
0119H
03
00
调用键盘
有按键则送显示
02
无按键则继续扫描
EA
Loop1:
键值送显示缓冲区
0124H
Wait:
调显示
0126H
调用按键扫描
Wait
等待按键抬起
F7
重新开始检测按键
DD
注:
程序中需要的Delay10ms子程序,需要同学们自己编写。
附录I:
键盘显示电路图
附录II:
系统译码电路图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 指导书