ZY15MCU12BC型单片机实验指导书.docx

上传人:b****9 文档编号:23322058 上传时间:2023-05-16 格式:DOCX 页数:75 大小:1.04MB
下载 相关 举报
ZY15MCU12BC型单片机实验指导书.docx_第1页
第1页 / 共75页
ZY15MCU12BC型单片机实验指导书.docx_第2页
第2页 / 共75页
ZY15MCU12BC型单片机实验指导书.docx_第3页
第3页 / 共75页
ZY15MCU12BC型单片机实验指导书.docx_第4页
第4页 / 共75页
ZY15MCU12BC型单片机实验指导书.docx_第5页
第5页 / 共75页
点击查看更多>>
下载资源
资源描述

ZY15MCU12BC型单片机实验指导书.docx

《ZY15MCU12BC型单片机实验指导书.docx》由会员分享,可在线阅读,更多相关《ZY15MCU12BC型单片机实验指导书.docx(75页珍藏版)》请在冰豆网上搜索。

ZY15MCU12BC型单片机实验指导书.docx

ZY15MCU12BC型单片机实验指导书

第一章ZY15MCU12BC型单片机综合

实验平台简述

 

ZY15MCU12BC型综合单片机实验箱配置的硬件资源多,自带CPU,可与各类MCS-51的仿真器主板相连,组成被开发的目标系统。

用户可根据自己的需要安排实验内容,也可按第二章所列的实验来操作。

ZY15MCU12BC型实验箱的逻辑结构如图1-1所示:

 

系统扩展总线

 

图1-1I/O接口综合应用实验平台ZY15MCU12BC逻辑模块结构

一、仿真插座和总线信号

ZY15MCU12BC型实验箱自带CPU,能形成独立的目标系统,但在被开发的整个过程中,由仿真器的CPU来取代实验仪中的CPU。

所以,一旦仿真头插入实验仪的CPU座,这种开发关系就开始,二者必须可靠共地。

这时P0口为地址A0~A7和数据总线D0~D7的复用口,ALE为地址锁存信号,P2口为高8位地址A8~A15输出口,P3.6为数据存贮器的写信号

,P3.7为数据存贮器的读信号

为外部程序存贮器的读信号,程序存贮器和外部数据存贮器均为64K的存贮器。

此外,在布线区还提供了CPU的P0~P3口输出端,供实验时连接使用。

(注:

D0~D7即为P0.0~P0.7)

二、外部电路的地址分配

ZY15MCU12BC型实验平台有2764EPROM程序存贮器一片,供用户自行固化应用实验程序。

我们在附机软盘中放置了一些实验示范程序,供教师们演示使用。

此外,还有8255、0809、0832、8279等扩展I/O口。

为了用户能对实验箱上的资源进行任意的组合操作,我们采取如下的地址译码方式:

(1)CS89为0809片选信号,CS32为0832片选信号,CS55为8255片选信号,CS279为8279片选信号,CS646为RAM6264片选信号,KC为译码控制开关。

(2)控制开关KC接至(上)高电平时,4066(U6)多路开关将CS32、CS89、CS55、接至Y3、Y4、Y5,4066(U5)多路开关将CS279、CS646接至Y2、Y0。

因此,8255、0809、0832的片选信号为138的输出信号,地址分别为A000H~BFFFH、8000H~9FFFH、6000H~7FFFH,而8279的命令口地址为4100H~5FFFH,而其数据口地址为4000H~5EFFH,6264的地址为0000H~1EFFH。

(3)控制开关KC拨至(下)低电平时,8255、0809、0832、8279、6264的片选信号都接至拉高电阻为高电平,供用户自行进行地址空间的重新分配。

可按线选法进行,也可按译码法进行,地址由译码器输入端连接到高位地址线确定。

ZY15MCU12BC型实验箱的I/O地址译码电路如图1-2所示。

三、各实验模块的电路图

ZY15MCU12BC型实验箱由十个相对独立又有机结合的模块构成,形成一个MCS-51的特殊扩展系统。

这些模块是:

CPU最小系统(8031+373+2764)、74LS164和指示灯L8~L15、步进电机、0832和直流电机、0809和温度、压力测量模块、点阵式液晶显示模块、8279和键盘及LED显示器、8255和打印机接口、外部RAM6264、开关K0~K7、指示灯和布线区。

这些模块既可单独的做实验,又可合在一起做系统软、硬件实验,灵活的的布线也可做各种MCS-51的I/O接口应用实验。

有关实验的程序设计将在后章节中详细讨论,有关实验原理图请参见图1-2~图1—14。

在CPU资源实验区中给出了各硬件模块中的常用信号,这些信号供线选法产生片选信号或单片机的I/O应用实验所用。

CN1中INTRB为8255PC口的PC0,AN4是0809的第四模拟输入通道,也是电压取样电位器的中心头测试端,其它为提供给实验仪的电源电压引出端,CN2中的K0~K7为8个开关输出端,随开关状态变化,CN3是P2口资源引出端,CN4为P0口的引出端。

CN5为P1口引出端。

CN6中的

为0809的

,供温度,压力输出信号测量用,AN0、AN2是0809的模拟输入通道,分别输入压力、温度的电压信号。

SA~SD为步进马达驱动器输入端,做步进马达实验时应作适当的连接。

在示范程序中,SA:

P1.0,SB:

P1.1,SC:

P1.2,SD:

P1.3,CN7为P3口引出端。

CN8中有8255片选信号CS55,0809的片选信号CS89,0832的片选信号CS32,供线选法实验使用。

CKMOT电机转速输出信号,在示范程序中接P3.2。

CN9的L0~L7为8个发光二极管的驱动器输入端,当输入端为低电平时,发光管亮,供8031的P1等应用实验用。

另有8279片选信号CS279及数据存贮器的片选CS646。

 

图1-2单片机实验箱各接口电路地址分布示意图(译码法、线选法)

图1-3单片机最小系统资源示意图

 

图1-4压力测量电路(电子称原理)

图1-5温度测量电路

 

 

 

 

 

 

第二章MCS-51单片机应用实验

 

本章内容安排了软件实验、接口和系统扩展实验及应用实验。

在进行实验之前必须详细了解所选仿真器的性能,掌握仿真器的基本操作方法。

将选用的仿真器与ZY15MCU12BC型实验箱连接,组成实验仿真系统,即可进行各种实验。

一、实验步骤

1.详细参阅所选仿真器的使用说明书。

2.将实验箱、仿真器、PC机连接好。

3.打开实验箱及PC机电源,运行仿真器软件,调入范例,将所做实验相关连线接好(具体连接详见各实验项目)。

4.汇编、调试实验程序,观察结果,排除故障,直到所有软、硬件正确为止。

二、实验箱随机软盘的MCS-51实验子程序

为了便于进行实验,在随机软盘中提供了各种实验程序,供教师们演示用。

1.显示子程序DISY。

使用ACC、DPTR、R0~R7,CPU内部的3EH~39H单元,

其功能为将3EH~39H的内容逐位变为七段显示码,然后送入相对应的LED,由8279驱动稳定地显示。

若更改显示内容,只需修改3EH~39H内容。

2.键盘闭合子程序KEYI。

由于使用了外中断INT1来随时监测有否键闭合,有则位

12H=1,否则为无键。

使用了DPTR、ACC和位12H,键值在单元27H中。

三、实验示范方法

1.使用选定的仿真器与PC机连接,并使仿真器进入仿真状态。

2.将厂方提供的软盘上相应的实验程序文件装载入仿真RAM。

3.从起始地址开始连续运行,对照相应实验要求进行操作。

§2.1软件实验

2.1.1定时器实验(文件名:

ZYT0.ASM)

一、实验内容

编写并调试一个程序,用定时器T0的定时中断控制软件计数器计数,使计数器从0开

始以1秒的速度十进制加1计数,显示器实时地显示其计数值。

二、实验程序参考框图如图2-1所示

三、调试方法

(1)断点设在BK1,检查显示缓冲器、工作单元、中断寄存器、定时器寄存器初值是否正确。

(2)断点设在BK2,从开始全速运行,应碰到断点,即进入定时器中断服务程序,如碰不到BK2,回到

(1)检查初始化程序正确性,检查中断入口(000BH)的指令正确与否。

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

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

图2-1定时器T0计数程序流程

2.1.2电子钟实验(文件名:

ZYCLOC.ASM)

一、实验内容

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

二、实验程序参考框图如图2-2所示

三、调试方法

(1)采用单步进入方式调试。

(2)全速断点方式进行调试,分别将断点设在不同的子程序入口如T0中断等,碰到断点后检查程序执行的结果。

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

(3)在程序基本达到功能后,调节定时器T0初值,使时钟走时精确。

 

图2-2电子钟实验参考程序框图(其中显示子程序、T0中断子程序略)

 

2.1.3整数十六进制转十进制实验(文件名:

ZYBTD.ASM)

一、实验内容

编写并调试一个十六进制转换为十进制数程序,其功能为从ZY15MCU12BC型的实验箱键

盘上输入四位十六进制数,转换为6位十进制数并在实验箱的显示器上显示出来。

二、实验程序参考框图如图2-3所示

三、调试方法

(1)全速运行至BK1,检查40H,41H,3BH~3EH内容是否为键入的数据。

(2)从BK1全速运行至BK2,再从BK2运行到BK3,检查3AH~3EH的BCD码正确与否?

如有错从BK2单步运行到BK3,检查程序运行结果。

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

图2-3十六进制转十进制程序流程

注:

框图中延时1秒是为了看清显示器上显示的十六进制数和BCD码结果

 

2.1.4查表实验(文件名:

ZYTAB.ASM)

一、实验内容

编写并调试一个查表程序,其功能为读键盘输入的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-4所示

图2-4查表实验流程

三、调试方法

(1)断点设在BK1,按0~F键后,进入断点地址,检查ACC内容是否与键值正确对应。

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

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

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

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

 

2.1.5两个四位十六进制数乘法实验(文件名:

ZYMUL.ASM)

一、多位十六进制乘法原理

算法:

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位。

则不难看出,对它们进行错位相加,即按下列排序:

acHacL

adHadL

bcHbcL

+bdHbdL

并按列求和,用三次8位数加法和三次带进位加法便可以得到4字节的乘积。

其等同于:

R5R4×R3R2=R4×R2+R5×R2×28+R4×R3×28+R5×R3×216

二、实验内容

编写并调试一个两个四位十六进制数相乘的实验,且显示结果也为十六进制数,其功能

为从单片机原理实验箱的键盘上连续两次输入四位十六进制数,从而得到八位十六进制数,其中,如果两数的有效数字都为四位或有一个为四位,另一个为三位,由于实验箱上只有六只数码管,那么其积的高两位将溢出,数码管只显示低六位有效数字。

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

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

三、实验程序参考框图略

四、调试方法

(1)单步执行到乘法子程序,检查50H~53H内容是否为键入的两个十六进制数。

(2)单步进入执行完乘法子程序,检查54H~57H的计算结果是否正确。

(3)全速运行程序,连续输入两组数据,检验实验结果正确与否(可以连续输入)。

 

2.1.6两个四位BCD数乘法实验(文件名:

ZYBCDMUL.ASM)

一、实验算法原理

四位BCD数相乘的算法与十六进制算法完全不同。

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

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

二、实验内容

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

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

三、实验程序参考框图如图2—5所示

图2-5两个四位BCD数乘法流程框图

四、调试方法

(1)单步执行到乘法子程序,检查50H~53H内容是否为键入的两个BCD数。

(2)单步进入执行完乘法子程序,检查54H~57H的计算结果是否正确。

(3)全速运行程序,连续输入两组数据,检验实验结果正确与否(可以连续输入)。

 

2.1.7阶乘实验(文件名:

ZYFAC.ASM)

一、实验原理

此实验的算法原理类似BCD码乘法实验,也是利用BCD码的自加从而达到实验目的,不同的是其自加的次数在不断的自减1,直至自减次数为零。

二、实验内容

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

用户可以直接调用提供的参考子程序,也可以自己编写阶乘子程序,已知键盘输入的数据将存放在27H地址里,而计算结果要求放在54H~57H地址里。

这样便可以随便编写子程序(子程序名为facfun)。

三、实验程序参考框图略(类似BCD乘法实验框图)

四、调试方法

(1)可以用单步进入方式执行程序,也可以在子程序中设置断点,或者用光标执行方式,检查27H地址里的数据是否正确。

(2)在单步执行阶乘子程序,检查54H~57H地址里的运算结果是否正确。

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

2.1.8两个四位十六进制除法实验(文件名:

ZYDIV.ASM)

图2-6两个16位无符号整数除法流程框图

一、实验算法原理

假设在R7R6中存入被除数,在R5R4中存入除数,R3R2中存入余数。

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

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

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

二、实验内容

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

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

三、实验程序参考框图如图2-6所示

四、调试方法

(1)可以用单步执行方式调试该除法程序,其中第一步执行过程同四位十六进制乘法实验。

即查看存储地址里的值是否与输入的键值相等。

(2)运行除法子程序后,再次查看存储地址里的值,检查结果是否正确。

(3)全速执行程序,连续不断的输入键值,每两次输出一个运算结果,并检查结果是否正确。

 

2.1.9排序实验(文件名:

ZYORDER.ASM)

一、排序原理

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

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

二、实验内容

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

三、实验程序参考框图如图2-7所示

四、调试方法

(1)此步骤类似于BCD乘法实验,即检查存储地址里的值是否与输入的键值相等。

(2)单步执行完排序子程序,检查运算结果是否正确。

(3)全速执行程序,连续输入数据,每输入六个数后将按从小到大的顺序在数码管上显示出来。

图2-7数据排序程序流程图

 

2.1.10广告灯实验(文件名:

ZYADV.ASM)

一、实验原理

此实验为纯软件实验,程序比较简单,主要是一个对外界各种场合的动态广告灯模拟的查表程序,因此就不多作介绍。

二、实验内容

编写并调试一个模仿外界广告灯的程序,此实验的自由度比较大,用户可以随便编写一个从P1口输出的程序,发光二极管已经经过驱动,只需用户编好程序后,把L0~L7分别与P1.0~P1.7相连即可。

因此这个实验可以增加入门者对编程的兴趣。

三、实验程序参考框图略

 

四、调试方法

(1)单步执行程序,观察程序能否进入表格首地址。

(2)单步执行程序,观察发光二极管L0~L7的变化。

(3)全速执行程序,观察发光二极管的变化,并注意程序将循环下去。

 

§2.2I/O接口和系统扩展实验

本节编排了5个软硬件实验,其目的是对MCS—51的P1口、P3口的应用方法加深了解,利用ZY15MCU12BC型实验箱上的资源,掌握MCS—51系统扩展的原理,扩展系统的硬件调试方法,以及根据应用系统的配置,初步了解相应软件的编写和调试。

2.2.1P1口应用实验(文件名:

ZYP1.ASM)

一、实验内容

将实验板上的指示灯L0~L3接到P10~P13,开关K0~K3接到P14~P17,编写并调试一个实验程序,其功能为:

K3K2K1K0L3L2L1L0

0000全亮

0001全暗

0010一灯亮其余灯暗并左环移

0011一灯亮其余灯暗并右环移

0100一灯暗其余灯亮并左环移

0101一灯暗其余灯亮并右环移

1XXX显示开关状态Ki为0,Li亮

(1)设40H单元作为标志单元,(40)=0时开关状态无变化,(40)=FFH时开关状态发生了变化。

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

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

二、实验程序参考框图如图2-8所示

三、调试方法

(1)根据准双向口特性,对P1口写使灯L3~L0状态随写入P13~P10的内容变化,读P1口的高4位,读出内容应随开关状态变化而变化。

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

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

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

(4)全速运行程序实现所要求的功能。

 

 

图2-9三层电梯控制器实验程序框图

2.2.2P1口、P3口应用实验———三层楼电梯控制器模拟实验

一、实验内容

在实验板上L0~L7接P1.0~P1.7,K1~K4接P3.2~P3.5,利用键盘和显示器组成控制器输入输出设备。

编写并调试一个控制程序,实现电梯的上行、下行、开门、关门控制和状态的显示。

(1)请示信号:

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

(2)开关量输入信号:

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

(3)状态指示信号:

L2、L3、L4、L5作为电梯外面请求上下楼状态指示。

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

(4)楼层请示:

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

二、实验程序参考框图如图2-9

编程说明:

在标志区设定标志:

请至1楼、2楼、3楼,1请上,2请上,2请下,3请上,3请下,开门,关门,上行,下行,准备上行等标志。

实验程序由主程序、开门程序、输入请求处理程序组成(详见图2-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功能是否正确。

2.2.3系统扩展和调试实验(译码法)

一、概述

ZY15MCU12BC外部程序存储器一般由单片的EPROM电路组成,它独占64KB程序存储器地址空间,因此不需要译码,将EPROM的片选端接地就可以了。

扩展的数据存储器和I/O接口一般由多片电路组成,它们共占64KB的数据存储器地址空间,CPU是根据地址来选择RAM/IO芯片以进行信息交换的,它们的地址由地址译码的方法所确定,通常采用全地址译码法或线选法。

全地址译码法:

对于需要扩展较多RAM/IO的系统,需采用全地址译码方法,低位地址线作为扩展电路的单元地址线(取外部电路中最多的地址线位数),对高位地址线用译码器译码,译出片选信号,常用的译码器为:

A15、A14用2—4译码器74L139(译出4位片选线,每位16KB)

A15、A14、A13用3—8译码器74LS138(译出8位片选线,每位8KB)

A15、A14、A13、A12用4—16译码器74LS154(译出16位片选线,每位4KB)

 

二、实验内容

(1)将控制开关KC拨至上,根据图1-1,写出8255、0809、0832

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1