试验参考指导书样本

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机试验指导书
试验一系统认识试验
一、试验目标
1、了解ZY15MCU12BC2单片机试验开发装置接线和安排。

掌握试验箱内拨位开关KF,KC 使用方法。

2、经过实例程序编辑、编译、链接及调试,熟悉Keil C51软件使用方法和基础操作。

3、教育学生珍惜试验装置,养成良好试验习惯。

二、试验设备
1、ZY15MCU12BC2单片机试验开发装置一台。

2、PC机及相关软件。

三、试验内容
1、使用串行通讯电缆将试验开发装置和PC机相连。

2、开启PC机及试验开发装置,开启Keil C51软件进入uVision2集成开发环境。

确定拨位开关KF开关为A端,确定89C51处于仿真状态。

在uVision2开发平台上建立并编辑示例程序:计算N个数求和程序。

其中N个数分别放在片内RAM区50H到55H单元中,N=6,求和结果放在片内RAM区03H(高位)和04H(低位)单元中。

题目:
1)32H+41H+01H+56H+11H+03H=?
2)95H+02H+02H+44H+48H+12H=?
编译连接源程序。

在Keil uVision2主菜单窗口进入DEBUG调试环境,打开存放器窗口输入数据至片内RAM区50H到55H单元中,全速运行程序,并检验程序运行结果,即观察在存放器窗口片内RAM区03H(高位)、04H(低位)单元中数据是否正确。

试验结束,撤出接线,将一切整理复原。

试验源程序
org 0000h
ljmp main
org 1000h
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
mov r3,a
djnz r2,l1
end
试验二多字节十进制加法试验
一、试验目标
1、学习51运算指令使用方法及对标志位影响。

2、学习循环程序编程方法。

3、掌握51内部RAM和寄存器之间关系。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验内容
1、编写多字节十进制加法程序,实现下式运算:
4574+6728=11302
要求:被加数在片内RAM区20H、21H单元;
加数在片内RAM区30H、31H单元;
结果在片内RAM区20H(最高位进位)、21H(高位)、22H(低位)单元。

结果:20H=1,21H =13,22H=02;
2、完成程序设计、编辑、编译、连接。

四、调试方法
进入DEBUG方法,打开存放器Memory 1窗口,在窗口Address栏键入D:20H;点击鼠标右键,选择最终一项Modify Memory ,输入被加数;在窗口Address栏键入D:30H;点击鼠标右键,选择最终一项Modify Memory ,输入加数。

(选作)整数十六进制转十进制试验
一、试验目标
1、了解整数十六进制转十进制原理。

2、学会编程实现进制转换。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验内容
1、源文件名称为“ZYBTD.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个十六进制转换为十进制数程序,其功效为从ZY15MCU12BC2型试验箱键盘上输入四位十六进制数,转换为6位十进制数并在试验箱显示器上显示出来。

四、试验程序参考框图图1所表示
图1 十六进制转十进制程序步骤
注:框图中延时1秒是为了看清显示器上显示十六进制数和BCD码结果
五、调试方法
1、全速运行至BK1,检验40H,41H,3BH~3EH内容是否为键入数据。

2、从BK1全速运行至BK2,再从BK2运行到BK3,检验3AH~3EHBCD码正确是否?如有错从BK2单步运行到BK3,检验程序运行结果。

3、全速运行程序,每输入4位十六进制数,显示6位BCD码,用一组数据测试其程序正确性。

(选作)查表试验
一、试验目标
1、了解编程中查表原理。

2、学会编写查表程序。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验内容
1、源文件名称为“ZYTAB.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个查表程序,其功效为读键盘输入0~F数字键,经过查表得到各
键处理程序入口,并将入口地址在试验仿真器显示器上显示出来。

数字键“0”——8000H
数字键“1”——8200H
数字键“2”——8400H
数字键“3”——8600H
数字键“4”——8800H
数字键“5”——8A00H
数字键“6”——8C00H
数字键“7”——8E00H
数字键“8”——9000H
数字键“9”——9200H
数字键“A”——9400H
数字键“B”——9600H
数字键“C”——9800H
数字键“D”——9A00H
数字键“E”——9C00H
数字键“F”——9E00H
四、试验程序参考框图图2所表示
图2 查表试验步骤
五、调试方法
1、断点设在BK1,按0~F键后,进入断点地址,检验ACC内容是否和键值正确对应。

2、断点设在BK2,程序运行至断点,检验ACC内容是否为键值对应跳转入口地址高
位。

3、断点设在BK3,程序运行至断点,检验ACC内容是否为键值对应跳转入口地址低
位。

4、程序连续运行,按键0~F,即在显示器上显示出对应散转地址。

若有错误,应改
用单步或断点分段调试,排除软件错误,直到正确为止。

(选作)两个四位十六进制数乘法试验
一、试验目标
学会使用汇编语言编写两个四位十六进制乘法程序。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验原理
算法:MCS—51中有8位数乘法指令MUL,用它来实现双精度数相乘时,能够把被
乘数(ab)和(cd)分别表示为(az+zb)和(cz+zd),其中a、b、c、d全部是8位数,a、c为高位,b、d为低位,z表示8位0。

它们乘积用下式表示:
(az+zb)(cz+zd)=aczz+zadz+zbcz+zzbd
其中ac、ad、bc、bd为对应2个8位数乘积,占十六位,它们能够用四次乘法指
令MUL求出。

若把这十六位积表示为acH、acL、adH、adL、bcH、bcL和bdH、bdL,其中以H为
后缀为积高8位,以L位后缀为积低8位。

则不难看出,对它们进行错位相加,即按下列排序:
acH acL
adH adL
bcH bcL
+ bdH bdL
并按列求和,用三次8位数加法和三次带进位加法便能够得到4字节乘积。

其等同于:
R5R4×R3R2=R4×R2+R5×R2×28+R4×R3×28+R5×R3×216
四、试验内容
1、源文件名称为“ZYMUL.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个两个四位十六进制数相乘试验,且显示结果也为十六进制数,其
功效为从单片机原理试验箱键盘上连续两次输入四位十六进制数,从而得到八位十六进制数,其中,假如两数有效数字全部为四位或有一个为四位,另一个为三位,因为试验箱上只有六只数码管,那么其积高两位将溢出,数码管只显示低六位有效数字。

当然,用户也能够自己编写乘法子程序,那么在编写子程序之前,应了解到第一位输入四位十六进制数将存放在50H(高两位)、51H单元里,第二次输入四位十六进制数存放在52H、53H单元里,用户在编写时只需直接调用50H~53H地址里数据,而且计算结果必需存放在54H~57H(最高位)四个字节里,不然,用户同时还需要改动子程序如DEAL子程序等。

用户若要编写显示子程序、中止子程序,则必需先了解接口地址,如8279命令口地址为5EFFH等。

五、调试方法
1、单步实施到乘法子程序,检验50H~53H内容是否为键入两个十六进制数。

2、单步进入实施完乘法子程序,检验54H~57H计算结果是否正确。

3、全速运行程序,连续输入两组数据,检验试验结果正确是否(能够连续输入)。

(选作)两个四位BCD数乘法试验
一、试验目标
学会使用汇编语言编写两个四位BCD数乘法程序。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验原理
四位BCD数相乘算法和十六进制算法完全不一样。

十六进制算法关键用乘法指令,并把乘结果错位和进位相加便可得到。

而BCD码数相乘则关键用移位和交换指令,并在移位同时进行十进制调整,从而使另一个乘数不停自加来得到乘积结果。

四、试验内容
1、源文件名称为“ZYBCDMUL.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个两个四位BCD数相乘试验,且显示结果为BCD数,其功效为从单
片机原理试验箱键盘上连续两次输入四位BCD数,从而得到七位十进制数,一样,乘积假如有七位有效数字,则其最高位将溢出,数码管只显示低六位有效数字。

当然,用户完全能够自己编写乘法子程序,那么在编写子程序之前,应了解第一
次输入四位BCD码将存放在50H(高两位)、51H单元里,第二次输入四位BCD码
存放在52H、53H单元里,而计算结果要求存放在54H~57H(最高位)四个字节
里,用户若要编写显示子程序、中止子程序,则必需先了解接口地址,如8279
命令口地址为5FFFH,传感器地址为5EFFH等。

五、试验程序参考框图图3所表示
图3 两个四位BCD数乘法步骤框图
六、调试方法
1、单步实施到乘法子程序,检验50H~53H内容是否为键入两个BCD数。

2、单步进入实施完乘法子程序,检验54H~57H计算结果是否正确。

3、全速运行程序,连续输入两组数据,检验试验结果正确是否(能够连续输入)。

(选作)阶乘试验
一、试验目标
学会使用汇编语言编写阶乘算法程序。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验原理
此试验算法原理类似BCD码乘法试验,也是利用BCD码自加从而达成试验目标,不一样是其自加次数在不停自减1,直至自减次数为零。

四、试验内容
1、源文件名称为“ZYFAC.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个在单片机试验箱键盘上任意输入一个数,从而输出其阶乘运算结
果程序,其输出结果为十进制数。

用户能够直接调用提供参考子程序,也能够自己编写阶乘子程序。

五、试验程序参考框图略(类似BCD乘法试验框图)
六、调试方法
1、能够用单步进入方法实施程序,也能够在子程序中设置断点,或用光标实施方法,检验27H地址里数据是否正确。

2、在单步实施阶乘子程序,检验54H~57H地址里运算结果是否正确。

3、全速运行程序,输入任意一个数,键盘在延时一段时间后显示阶乘结果(能够连续输入和运算)。

(选作)两个四位十六进制除法试验
一、试验目标
学会使用汇编语言编写两个四位十六进制除法程序。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验原理
设在R7R6中存入被除数,在R5R4中存入除数,R3R2中存入余数。

则在先清零情况下,不停地把R7R6中内容逐位移入R3R2,每移一次后,和R5R4内容进行比较,若R3R2中内容大于R5R4中内容,则商上1;不然商上0。

以此循环16次后得出商和余数。

得到余数后,判定余数乘2后是否大于除数,若大于除数则商再加1(即四舍五入),不然不加。

四、试验内容
1、源文件名称为“ZYDIY.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写一个在单片机试验箱上连续输入两个四位十六进制数,从而在数码管上显示
其商(经过四舍五入后四位十六进制数)试验程序。

用户可直接调用参考程序,
也能够自己编写程序,但要注意被除数、除数、商及余数存放地址。

五、试验程序参考框图图4所表示
图4 两个16位无符号整数除法步骤框图
六、调试方法
1、能够用单步实施方法调试该除法程序,其中第一步实施过程同四位十六进制乘法试验。

即查看存放地址里值是否和输入键值相等。

2、运行除法子程序后,再次查看存放地址里值,检验结果是否正确。

3、全速实施程序,连续不停输入键值,每两次输出一个运算结果,并检验结果是否正确。

(选作)排序试验
一、试验目标
学会使用汇编语言编写排序算法程序。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验原理
为了把六个单元中数按从小到大次序排列,可从50H单元开始,两数逐次进行比较,保留小数取出大数,且只要有地址单元内容交换就置位标志。

数次循环后,若两次比较后不再出现有单元交换情况,就说明从50H~55H单元中数已全部从小到大排列完成。

四、试验内容
1、源文件名称为“ZYORDER.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个连续输入六个数,从而在数码管上从小到大次序输出显示程序,
用户可直接调用提供参考程序,也能够自己编写程序,一样须注意数据存放地址
对各子程序必需匹配。

五、试验程序参考框图图5所表示
图5 数据排序程序步骤图
六、调试方法
1、此步骤类似于BCD乘法试验,即检验存放地址里值是否和输入键值相等。

2、单步实施完排序子程序,检验运算结果是否正确。

3、全速实施程序,连续输入数据,每输入六个数后将按从小到大次序在数码管上显示
出来。

试验三定时器试验
一、试验目标
1、了解定时器工作原理。

2、学会设计定时器实现秒计数。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验内容
1、源文件名称为“ZYT0.ASM”。

2、“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个程序,用定时器T0定时中止控制软件计数器计数,使计数器从0
开始以1秒速度十进制加1计数,显示器实时地显示其计数值。

四、试验程序参考框图以下图6所表示
图6 定时器T0计数程序步骤
五、调试方法
1、断点设在BK1,检验显示缓冲器、工作单元、中止寄存器、定时器寄存器初值是否正确。

2、断点设在BK2,从开始全速运行,应碰到断点,即进入定时器中止服务程序,如碰不到BK2,回到(1)检验初始化程序正确性,检验中止入口(000BH)指令正确是否。

3、从开始运行到BK3,然后单步运行程序,检验3EH~39H十进制计数程序正确性。

4、全速运行程序,调整定时器T0初值或方法,调整软件(控制1秒)计数器(RAM单元)初值,使显示器以1秒速率十进制加1。

试验四电子钟试验
一、试验目标
1、电子钟工作原理。

2、学会编程实现电子钟。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验内容
1、源文件名称为“ZYCLOC.ASM”。

2、将“P00~P07”和“U7D0~U7D7”用八根线分别相连。

3、编写并调试一个试验程序,其功效为从单片机试验箱上键盘输入一个时间初值
(时、分、秒各两位),用T0产生250μs定时中止,在中止服务程序中对T0中止次数进行计数,每当计数到400次,即1秒,对实时钟计数。

四、试验程序参考框图图7所表示
图7 电子钟试验参考程序框图(其中显示子程序、T0中止子程序略)
五、调试方法
1、采取单步进入方法调试。

2、全速断点方法进行调试,分别将断点设在不一样子程序入口如T0中止等,碰到
断点后检验程序实施结果。

若有错误,则再单步运行时钟计数子程序和数据转换子程序。

在程序基础达成功效后,调整定时器T0初值,使时钟走时正确。

试验五广告灯试验
一、试验目标
学会使用控制I/O端口。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验原理
此试验为纯软件试验,程序比较简单,关键是一个对外界多种场所动态广告灯模拟查表程序,所以就不多作介绍。

四、试验内容
1、源文件名称为“ZYADV.ASM”。

2、编写并调试一个模拟外界广告灯程序,此试验自由度比较大,用户能够随便编写
一个从P1口输出程序,发光二极管已经经过驱动,只需用户编好程序后,把“L0~L7”分别和“P10~P17”相连即可,在运行程序后将 K10拨至上端,此试验做完后,再将K10拨回至下端。

五、调试方法
1、单步实施程序,观察程序能否进入表格首地址。

2、单步实施程序,观察发光二极管L0~L7改变。

3、全速实施程序,观察发光二极管改变,并注意程序将循环下去。

试验六 P1口应用试验
一、试验目标
学会控制单片机P1端口。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验内容
1、源文件名称为“ZYP1.ASM”。

2、将试验板上指示灯“L0~L3”接到“P10~P13”,开关“KK0~KK3”接到“P14~P17”( 注:在运行程序后将 K10拨至上端;此试验做完后,再将K10拨回至下端)。

3、编写并调试一个试验程序,其功效为:
K3 K2 K1 K0 L3 L2 L1 L0
0 0 0 0 全亮
0 0 0 1 全暗
0 0 1 0 一灯亮其它灯暗并左环移
0 0 1 1 一灯亮其它灯暗并右环移
0 1 0 0 一灯暗其它灯亮并左环移
0 1 0 1 一灯暗其它灯亮并右环移
1 X X X 显示开关状态Ki为0,Li亮
(1)设40H单元作为标志单元,(40)=0时开关状态无改变,(40)=FFH时开关状态发生了改变。

(2)设41H单元作为开关状态缓冲器,读入开头状态和41H内容比较,相同时开关状态无改变,不一样时有改变。

(3)42H存放目前指示灯状态。

四、试验程序参考框图图8所表示
图2-8 P 1口应用程序流程
五、调试方法
1、 依据准双向口特征,对P1口写使灯L3~L0状态随写入P13~P10内容改变,读
P1口高4位,读出内容应随开关状态改变而改变。

如不对,则断开开关K0~K3接线,测
量K0~K3电平是否随开关状态而改变。

2、从开始运行至BK1,检验A 内容是否对应于开关状态,接着单步运行程序,检验
是否转到对应入口使L0~L3状态产生对应改变。

3、全速运行至BK2,再检验A内容是否和开关状态一致;如不对则检验前面对P1口操作指令。

4、全速运行程序实现所要求功效。

(选作) P1口、P3口应用试验-—三层楼电梯控制器模拟试

一、试验目标
1、学会控制单片机P1和P3端口。

2、了解电梯工作原理。

二、试验设备
ZY15MCU12BC2试验箱,连接线若干,串口线,PC机。

三、试验内容
在试验板上“L0~L7”接“P10~P17”,“KK1~KK4”接P32~P35”,利用键盘
和显示器组成控制器输入输出设备。

编写并调试一个控制程序,实现电梯上行、下行、开门、关门控制和状态显示(注:在运行程序后将 K10拨至上端;此试验做完后,再将K10拨回至下端)。

1、请示信号:键盘1、
2、3号键作为电梯内请求至1、2、3楼按键,20号按键、21
号按键作为电梯内请求关门、开门请求键,16、17、18、19号键作为一层上楼、
二层上下楼、三层下楼请求键。

2、开关量输入信号:K1、K2、K3作为一层、二层、三层楼面定位开关信号,低电平
时表示抵达对应楼面,K4作为电梯门上有阻挡传感器信号。

3、状态指示信号:L2、L3、L
4、L5作为电梯外面请求上下楼状态指示。

L0、L1作
为电梯上下行指示,L6、L7模拟电梯开门、关门动作。

4、楼层请示:试验仿真器上最高位显示器LED6(对应于3EH),显示电梯目前所在
楼面,低3位LED3~LED1(对应于3BH~39H)显示请求至3、2、1楼信号。

四、试验程序参考框图图9
(b)输入处理子程序
(c)开门子程序
图9 三层电梯控制器试验程序框图
编程说明:在标志区设定标志:请至1楼、2楼、3楼,1请上,2请上,2请下,3请上,3请下,开门,关门,上行,下行,准备上行等标志。

试验程序由主程序、开门程序、输入请求处理程序组成(详见图9)。

五、调试方法
1、在调试输入请求处理子程序时,断点设在BK1。

反复从程序开始运行,按下1键,碰到断点BK1,单步运行,检验键处理程序正确性。

2、从主程序开始运行至BK0,检验显示缓冲器应指示停在1楼。

3、从主程序开始运行,断点设在BK1、BK2,按不一样键应碰到断点,单步运行开门程序,检验输入处理正确性。

4、这个程序较复杂,能够按功效分段调试。

A.1请上至2楼 1请上至3楼
B.2请上至3楼 2请下至1楼
C.3请下至2楼 3请下至1楼
D.电梯在1、2、3楼时,分别调试A、B、C功效是否正确。

相关文档
最新文档