微机原理及应用实验指导书.docx
《微机原理及应用实验指导书.docx》由会员分享,可在线阅读,更多相关《微机原理及应用实验指导书.docx(51页珍藏版)》请在冰豆网上搜索。
微机原理及应用实验指导书
微型计算机原理及应用
实
验
指
导
书
刘士光主编
河北科技师范学院
机械电子系
目录
第一章 硬件实验系统介绍3
1.1系统概述3
1.2 EL微机实验教学系统结构5
1.3 通用接口板实验电路介绍5
1.4 8051CPU板的结构7
1.5 实验系统电源8
第二章 软件操作说明8
一 软件的运行环境及安装启动8
二 实验程序开发的基本步骤9
三、常见故障及其解决措施10
四 硬件安装11
五、源程序的编辑11
六、编译14
七、连接与定位15
八、调试16
九、软件的详细说明16
第三章 键盘操作说明21
一、键盘布局及键盘定义21
二、键盘功能号22
三 LED数码显示及键盘操作约定22
四 重要说明23
五 键盘操作详述24
六 键盘扫描码28
七 演示程序的运行28
第四章 硬件及接口实验28
实验一P1口实验一28
实验三中断实验32
实验四定时器实验35
实验五8255A可编程并行接口实验一37
实验六综合性、设计性实验——D/A和A/D转换实验38
实验七串行口实验42
实验八综合性、设计性实验——炉温控制实验45
附录8051错误信息49
第一章 硬件实验系统介绍
EL型微机教学时验系统的最大特点是采用摸块化组合式设计,容8051、8086、80C198/80C196三位于一体,而且可用功能齐全,硬件实验系统介绍如下:
1.1系统概述
(1)主要技术特性:
1.微处理器:
INTEL8051,8086,80C198/80C196可换。
2.时钟频率:
6MHZ
3.存储器:
程序存储器,数据存储器统一编址。
最多达64K,EL-Ⅰ型RAM48K供用户使用:
EL—II型的RAM32K供用户使用,可扩展至48K。
用户存储器的起始地址为4000H;8051原有中断入口均须定为在偏移4000H之后的相应地址,如外部中断0入口在原程序中应为:
CSEGAT4003H
LJMPINTO(中断服务程序入口标号)
4.8255A可编程并行接口芯片一个。
5.串行接口两个:
(1)8250芯片一个,与主机通讯用;
(2)单片机串行接口一个供用户使用。
6.6*5键盘一个:
除CNTL键和SHIFT键外,其余28键可用户自定义。
7.8279键盘、显示接口芯片一个。
8.六LED位数码显示。
9.ADC0809A/D转换芯片一个。
10.DAC0832D/A转换芯片一个。
11.8位简单输入接口74LS244一个;EL—I型简单输出接口74LS273两个,EL—II型简单输出接口74LS273一个。
12.配有逻辑电平开关:
发光二极管显示电路。
13.三路0~5V连续可调模拟量输入。
14.一个可产生正,负脉冲的脉冲触发器。
15.8253可编程定时器一个计数器一个,74LS161计数器一个,输出4路时钟信号。
16.实验箱电源为正负5V,正负12V,也可采用PC机电源或外接电源。
17.EL—II型配有一个20针EEPROM写入器接线插座,结合EEPROM8951系列写入器(可选件),可写EEPROM2864,28256,89C1051,89C2051,89C51,89C52等芯片,实验箱上有J1EPROM字样的标记。
18.EL—II型配有一个20针作微控制实验的接线插座,可进行步进电机,炉温控制,小直流电机调速等实验,实验箱上有J2CONTR字样的标记。
三种控制对象为可选件。
(2)提供对8051的基本实验
为了提高微机教学实验质量,提高实验效率,减轻主讲教师和实验教师的劳动强度,在该系统板上,除微处理器,EPROM,RAM外,扩充了8255并行接口;8250串行接口;8279键盘显示控制器,8253定时器;A/D、D/A转换、脉冲发生器及键盘LED显示等各种外围电路,各部分电路即相互独立,又可灵活组合,能满足各类学校,不同层次微机实验和培训需要。
本系统提供对8051的基本实验如下:
1.P1口实验
2.定时器实验
3.简单IO口扩展实验
4.开关量输入实验
5.发光二极管显示实验
6.LED数码显示管实验
7.小键盘扫描实验
8.8255可编程并行口试验
9.8279键盘,显示接口实验
10.串行口通讯实验
11.DAC0832数模转换实验
12.ADC0809模数转换实验
13.存储器扩展实验
14.外部中断实验
15.交通灯控制实验
16.步进电机控制实验
17.小直流调速实验
18.炉温控制实验
其中,实验16,17,18需与响应的控制对象相连,为选作实验。
1.2 EL微机实验教学系统结构
EL型微机实验学系统由通用接口电路板,可选的CPU板,两块小面包板组成,可安装在45*30*10CM的实验箱内。
EL--I型的结构框图见图1—1:
EL--Ⅱ型的结构框图见图1—2。
1.3 通用接口板实验电路介绍
1.3.1输出显示电路
(1)数码显示电路
该电路由6位共阴极数码管,3片75452,2片74LS07组成,74LS07为段驱动器,EL-I型相应输入插孔为CZ4(A~Dp);
EL-II型相应输入插孔为ZP9(A~Dp),75452为驱动器,EL-I型相应输入插孔为CZ3(LD1~LD6).
(2)LED灯显示电路
该电路由2片74LS07,EL--I型12支EL-II型8支二极管组成。
EL-I型相应输入插孔为CZ2(LI1~LI12);EL-II型相应输入插孔为ZP3(L1~L8)
1.3.2信号发生器
(1)开关量输入电路
该电路由8路开关组成,每个开关有两个位置,分别代表高电平和低电平。
EL—I型相应插孔为CZ1(K4—L8);EL--II型相应输入插孔为K1-K8.
(2)时钟输入电路
该电路由1片74LS161组成,当CPU为8051,80C198,80C196时,CLK的输入时钟为晶振频率,当CPU为8086时,CLK的输入时钟为2MHZ。
输出时钟为该CLK的2分频(CLK0),4分频(CLK1),8分频(CLK2),16分频(CLK3),相应输出插口为(CLK0—CLK3)。
(3)单脉冲发生器电路
该电路由一个按纽,一片74LS04,74LS132组成,具有消颤功能,正反相脉冲,相应插孔为P0.P1。
(4)模拟量输入电路
该电路由3只可变电位器组成,输出为0—5V连续可调。
EL--I型相应输出插孔为CZ27,CZ28,CZ29(KB1—KB3);EL--II型相应输出插孔为ZP10(KB1—KB3)。
(5)键盘输入电路
该电路由28只通用键1只SHIFT键1只CTRL组成,28只通用键采用8根列扫线,4根行扫线,无外部信号输入时均为高电平,有外部信号输入时,电平状态由外部输入信号决定,作键盘实验时,一般行,列扫线分别定义为输入,输出,即4根行扫线为输入,8根列扫线为输出。
EL-I型相应输出插孔为CZ5(KB0—KB3),CZ6(KA0—KA7);EL-II型相应输出插孔为ZP1(KB0—KB3),RS3(KA0—KA7)。
(6)复位电路
按动复位键,将对8255,8279,8250复位,以及对CPU板起复位作用。
1.3.3可编程定时器8253电路
该电路由1片8253组成,8253的片选输入端插孔为CS8253,数据口,地址,读写线均已接好,T0,T1的时钟为74LS161的输出CLK3,T2的时钟用户可自己接。
注:
GATE信号无输入时钟时为高电平,EL-I型T2的时钟为CLK3。
1.3.4可编程并行口8255电路
该电路由1片8255组成,8255数据口,地址,读写线,复位控制线均已接好,片选输入端插孔为CS8255,A.B.C三端口的插孔为:
EL-I型:
A:
CZ16(PA0—PA7);B:
CZ15(PB0—PB7);C:
CZ17(PC0—PC7)。
EL-II型:
A:
PA0—PA7;B:
PB0—PB7;C:
PC0—PC7。
1.3.5可编程键盘显示控制器电路
该电路由一片8279,74LS138组成,8279的数据口,地址,读写线,复位,时钟,片选控制线均已接好,显示输出,键盘行列扫描线军有插孔输出。
EL-I型相应输出插孔为:
CZ21,CZ25,相应标号均为KS0—KS7。
另外该电路在进行实验时还要用到一组反向器,其输入插孔为CZ24(S0—S5),输出插孔为CZ33(S0\--S5\)。
EL—II型相应输出插孔为:
ZP5(RL0—RL7),ZP13(KS0—KS5)。
1.3.6可编程串行口8250电路
该电路由1片8250,1片1488,1片1489组成,该电路中8250的控制线均已接好,EL--I型串行口输入插座为J1,T为发送,R为接收;EL—II型的串行口被用作与PC机通讯用。
1.3.7简单数字量输出缓存电路
该电路EL-I型由2片74LS273组成,其片选信号分别为CSU8\,CSU9\,输出插孔为CZ10(SO0—SO7)和CZ7(SO8—SO15);EL—II型由1片74LS273组成,输出插孔为ZP17(SO0—SO7),其片选信号为CSU8\,该电路中74LS273的输入均已接好数据线。
1.3.8简单数字量输入缓冲电路
该电路由1片DAC0832,1片74LS00,1片LM324组成,其输入均以接在数据线上,EL-I型输入插孔为cz9(S10-S17),片选信号为CSU10/;EL-II型输入插空为ZP18(S10-S17),片选信号为CSU10/。
1.3.9八路八位A/D转换电路该电路
由一片DAC0832,一片74LS02组成,该电路中,ADC0809的参考电压,数据总线输出,通道控制线均以接好,其它信号线由插孔接入,ADC0809的片选信号为CS0809,转换结束标志输出插孔为VOUT和OUT,模拟量输入通道插孔为IN0-IN7。
通过调接KB6可调节参考电压Vref。
1.3.10八位双缓冲D/A转换电路
该电路由一片DAC0832,一片74LOO,一片LM324组成。
该电路中除0832的片选未接好外,其他信号均以接好,DAC0832的片选信号为CS0832,输入插孔为AOUT(EL-I)和OUT(EL—II型)。
该电路为非偏移二进制D/A转换电路,通过调节KB4(EL—II),可调节转换器的满偏值,调节KB5(FL—II型为PT2),可调节转换器的零偏值。
1.3.11存储器扩展电路
该电路由1片62256和1片6264(EL—II型为2片6264)组成,该电路的所有信号线均接好,可直接进行存储器读写实验,对8051和8098实验来说,62256的起始地址为4000H,长度为32K.8051和8098的数据与程序存储区多统一编址为64K.其中0~16K被系统使用,后48K(EL—II型为32K)供用户作仿真或实验用。
1.4 8051CPU板的结构
EL-I型8051CPU板含1片8031CPU,1片地址锁存器74LS373,两片GALI6V8地址译码器,一个时钟发生电路产生6MHZ脉冲。
该CPU板有用于系统扩展和更改配置的跳线、插孔,详述如下:
J2为8051方真头插座,它可以通过仿真电缆与目标相连,用于仿真调试。
J3为8051全部引脚的引出孔,可用来做面包板实验或与其他实验相连接。
J4为8051通过地址锁存器锁存后的低八位地址。
CLOCK跳线用来设置仿真时用用户时钟还是用CPU板上的时钟,跳为SYSTEM时,使用系统时钟,跳为USER时使用用户时钟。
BNAK跳线用来确定64k,4000~7FFFH,8000~BFFFH,C000~FFFFH,这三段空间是分配给系统还是用户板,着主要是为避免访问出现总线冲兔,右1控制4000~7FFFH段,中2控制8000-BFFFH,左1控制C000H~FFFH。
跳为SYS时,分配给系统,跳为USER时,分配给用户板。
EL—II型8051CPU板有一个仿真头插座,和全部引脚的引出孔,以及CLOCK跳线,功能和EL—I的一样。
8051的实验系统将PSEN与RD信号统一使用,系统内所有存储器都统一编址,既可以作数据存储器,也可作程序存储器,所有地址译码均采用全地址译码。
通用片选地址见下述:
CS0:
CFA0H-CFA7H实验程序、芯片可用的通用片选
CS1:
CFA8H-CFAFH实验程序、芯片可用的通用片选
CS2:
CFB0H-CFB7H实验程序、芯片可用的通用片选
CS3:
CFB8H-CFBFH实验程序、芯片可用的通用片选
CS4:
CFC0H-CFC7H实验程序、芯片可用的通用片选
CS5:
CFC8H-CFCFH实验程序、芯片可用的通用片选
CS6:
CFD0H-CFD7H实验程序、芯片可用的通用片选
CS7:
CFD8H-CFDFH实验程序、芯片可用的通用片选
CS8250:
CFE0H—CFE7H实验程序、芯片可用的通用片选
CS8279:
CFE8H—CFEFH实验程序、芯片可用的通用片选
1.5 实验系统电源
该系统的电源提供了两种解决方案:
(1)利用PC机电源,从系统的+5V、+12V、-12V电源插座中引入。
该电路具有短路保护。
(2)外接开关电源,内置在实验箱里。
第二章 软件操作说明
CIDE8051集成开发环境是为开发8051程序而开发的多窗口源程序级开发调试软件,它的多窗口技术为用户提供了一个极为友好方便的人机界面。
它集编辑、编译、连接、调试于一体,极大地提高了程序开发的效率。
一 软件的运行环境及安装启动
1.运行环境要求:
本系统提供两套菜单完全相同,功能完全相同的调试环境,一套是中文界面系统,一套是西文界面系统。
中文界面系统要求运行环境:
PC系列微机,640K内存,VGA显卡,DOS3.3以上操作系统,2M以上硬盘。
西文界面系统要求运行环境:
PC系列微机,512K内存,双频单显或CGA或EGA显示器,DOS3.3以上操作系统,2M以上硬盘。
注:
本系统不能在一些仿真DOS下运行,如WIN95自带的MS-DOS方式,推荐在DOS6.22下运行。
2.系统安装:
将标有DB51的软盘拷入已建好的DB51子目录中。
3.系统的启动
在DOS提示符:
\DB51>下,运行DB51即可。
4.软件的组成:
DB51.EXE集成开发程序即ASM语言调试环境
ASM51.EXE8051汇编程序
RL51.EXE8051连接程序
0H.EXE十六进制转换文件
CCLIB.DAT文本处理文件
SYMBLE.EXE符号化程序
5.系统运行结果:
运行DB51,对源程序进行编译、连接后,如果没有错误,系统将产生几个具有以下后缀的文件:
源文件前缀.OBJ编译后生成的目标文件
源文件前缀.LST机器代码与源文件对照的列表文件,如果编译时有错误,可打开此文件查看错误信息
源文件前缀.EPR烧写EPROM的烧录文件
工程文件前缀.M51连接后的符号对应表及连接后的错误报告
工程文件前缀.EOB实验系统调试的下载文件
二 实验程序开发的基本步骤
1、首先用EDIT或其他编辑软件,编好源程序(假设文件名为:
TLASM)。
2、启动DB51,选择正确的串行口、合适的波特率并回车确认,复位实验系统进行通讯连接。
3、激活“工程文件“菜单,选中”“打开”菜单项,键入工程文件名(假设为TT1.prj),回车确认。
工程文件名不能与原文件名重名。
4、用“INSET”键给TT1.prj输入源文件,弹出源文件窗口后,击打“ENTER”键,移动上、下光标键,寻找T1.ASM,回车确认,如果选择错误,可用“DELETE”键删除该源文件,用“INSERT”键重新输入。
5、按“F9”键或用“ALT+C”,编译并连接该工程文件,编译时将出现信息窗口。
如果有错误,查看T1.LST文件中的错误信息,然后选种“文件”菜单中的“编译文件”选项,对T1.ASM进行修改,修改后返回主界面,再按“F9”键。
如果编译无误,按任何键进入连接,连接如果有错误,查看TT1.M51文件中的错误信息,错误修改同上,如果没有错误,则进入下一步。
6、选中“运行”菜单中的“单步运行”选项或按“F8”键,弹出源文件窗口。
7、利用“运行”菜单中各种调试手段对源程序进行运行调试,同时可打开寄存器或内存窗口来观察程序运行结果。
三、常见故障及其解决措施
1、不能与PC机进行通讯,即不能进入到“C”状态
1检查软件是否在DOS3.3以上的操作系统下运行,本软件不能在一些仿真DOS下运行,如WIN95自带的MS-DOS方式下将不能正常通讯。
推荐在DOS6.22下运行。
2检查是否已接入或产生±12V电压,因为负责电平转换的MC1488芯片的供电电压为±12V。
3检查串行口的选择是否正确,通讯电缆、8250串行口芯片是否出现故障。
4检查监控(一片27C64,一片27C256)及存储器(2片6264)是不是好的。
2、产生花屏,或不断提示“存在太多的校验错误”
这一般是在进入开发环境后,软件提示“请复位开发系统”时,操作者多次按下复位按钮引起的。
此时应关掉实验箱的电源,并退出软件开发环境,回到DOS状态,再重新启动软件、打开实验箱电源开关,再重新建立通讯联系。
3、提示“软件超时,请重新复位开发系统”等
这一般是操作者没及时复位实验系统所产生的。
注意:
在已经进入到软件环境后,如果一开始通讯不成功,或在实验工程中通讯被中断,又希望在不退出软件的条件下重新建立通讯,必须在“运行”菜单中选择“系统复位”项,并及时按下实验箱的上的复位键才能实现。
而其它的诸如“软件超时,请重新复位开发系统”、“通讯错误,请返回复位系统…”等,都是一些提示消息窗口,此时按下实验箱上的复位键将不能进入计算机监控状态。
4、提示“工程软件未编译,EOB文件找不到!
”
有可能是工程文件的确没编译,只需对工程文件重新编译、连接即可。
如工程文件已经编译连接过了,仍出现以上错误提示,此时查看一下工程文件名与源程序名是否重名了,这一般在DB51开发软件中很常见。
此时只需新建一个与源程序名不重名的工程文件,将目标源程序包含到工程文件中去,在进行编译、连接。
5、在打开多窗口后,运行、调试程序时出现死机现象,且使用Ctrl+Q失效。
此时一般是因为在当前被激活的窗口是内存窗口的情况下,运行、调试程序所产生的。
当需要打开多窗口时,注意应用Alt+N将主窗口即文件窗口激活(一般是Alt+2,视窗口右上角的编号而定),即让主窗口作为当前窗口,此时如果内存窗口被主窗口覆盖了,可用F5将内存窗口缩放回来:
如果源文件没有弹到主窗口上来,就应激活寄存器窗口或其他窗口,如工程文件窗口。
再运行、调试可恢复正常。
6、在使用“执行到光标行”或在已经设置短点的情况下,选择“运行”程序,程序不能停留在预想的位置上,程序失去控制。
此时一般是光标的位置或断点所设置的位置不合理造成的。
注意:
光标或断点不能设置在跳转目标语句之前的三字节代码内,在这种情况下,将不能正常返回监控,以致程序失控。
四 硬件安装
1、电源安装
实验系统内已安装电源,则将220V电源线接到220v电源插座上即可。
实验系统如需外接电源,则将+5v、+12v、-12v电源线接到CPU板的+5v、+12v、-12v的插座上。
2、通讯电缆的安装
将电缆的9针或3针的一头接到实验箱的电源的插座上,25针的一头接到计算机的串行口。
五、源程序的编辑
源程序的编辑可以在集成环境外进行,编辑完成后,进入集成环境。
也可以进入集成环境之后进行,打开“文件”菜单项选中“编辑文件”项,即请用户输入所选用的编辑器名,此编辑器必需在当前目录中或在autoexec.bat所指定的路径中。
5.1PL/M源程序的编辑
请参考《PL/M程序设计语言及其应用》第十一章
5.2ASM源程序的编辑
5.21ASM51的基本成分
1、字符集:
ASCII字符集。
2、数字:
二进制数,后缀为B;八进制数,后缀为O或Q;十进制数,后缀为D或无后缀;十六进制数,后缀为H。
3、符号:
第一个字符必须是字母、“?
”或“-”,最多31个字符。
4、串:
串是用单引号括起来的可打印的ASCII字符系列,串长度控制0-225之内,串可用DCB伪指令初始化。
5.22表达式和基本操作数:
1、ASM51有以下5种基本操作数:
1)符号:
可用来表示地址和常数
2)数字:
可用来表示二、八、十、十六进制数
3)以“:
”为后缀表示定位程序计数器的当前制值
4)STACK:
:
预定义的变量STACK表示栈底
5)串:
只含有一个或两个字符的串可用来作操作数,一个字符串被认为是值等于其ASCⅠⅠ码的字节常数,两个字符的串被认为是字常数
2.表达式
表达式用于定义常数,表达式有三种属性;
1)类型:
表达式所属的段的类型
2)可重定位性:
表达式分为绝对的表达式和可重定位的表达式。
绝对的表达式的值在汇编期间计算,而可重定位的表达式的值,在连接定位期间计算。
绝对的表达式可出现在程序的任意位置。
而唯一合法的可重定位的表达式是一个可重定位的符号或一个可重定位的符号加上一个常数。
3)值:
表达式的值以十六位二进制的补码形式表示,表达式的值在汇编期间计算或连接定位期间计算。
5.23堆栈的处理办法
若你的目标模块是由PL/M-51编译生成的,你不必在连接时指定STACK控制。
PL/M-51编译自动产生一个堆栈段STACK,在连接时STACK段将被定义在IDATA空间的最高端。
若你使用ASM51,则不会自动STACK段,推存用下述步骤处理堆栈:
1)在汇编语言文件的主模块中定义一个如下段:
DSEGAT30H;内存地址
STACK1DS10H;堆栈保留16字节
2)在汇编语言源文件主模块入口处使用下述指令初始化堆栈指针SP;
MOVSP,#STACK1
3)在连接时,无须使用STACK控制项指定上面定义的堆栈段
5.24处理器结构控制项
结构控制项为51系列不同处理器指定片内RAM空间的大小,在主模块开始声明,格式如下;RAMSIZE(Value)
其中Value是128-255之间的任意数。
缺省的RAMSIZE是128
5.25定位,地址指针的控制伪指令
CSEG:
声明代码段
DSEG:
声明数据段
RSEG:
声明不可覆盖的各种段(包括数据,代码堆栈)
AT:
指定该段是绝对的,从地址baseaddress开始
REL:
指定该段是可重定位的,如果REL和AT都未指定,缺省的是REL
说明:
一个程序中,最好主模块中只含有一个绝对项,其他段的定位都在连接时再确定,各段中可使用的的语言有以下限制:
1)寄存器段和数据段不能定义代码和常数
2)代码段不能含有数据变量
如果在源程序中用伪指令定义了代码段、数据段、堆栈段、内部数据段以及寄存器工作区,在连接定位时直接写模块名,无须指出各段的定位地址。
5.26符号定义伪指令
1.EQU/SET
语法:
symbo1name{EQU/SET}expression[:
datatype]:
其中:
symbo1name是被定义的符号名
EQU用于定义不可重新定义的符号;SET用于定义可重新定义的符号;Expression合法的ASM51表达式(表示地址);Datatype可以是BYTE