微机原理及接口技术实验指导.docx
- 文档编号:24246179
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:86
- 大小:183.96KB
微机原理及接口技术实验指导.docx
《微机原理及接口技术实验指导.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术实验指导.docx(86页珍藏版)》请在冰豆网上搜索。
微机原理及接口技术实验指导
微机原理及接口技术实验指导书
第一章系统介绍
1.1系统特点
EI型微机实验系统的最大特点是采用了模块组合式设计,容8051、8086、80C198和80C196三位于一体。
它由通用接口板、可选的CPU板和两块小面包板三部分组成,系统具有以下特点:
1.CPU可选用80C31、8086、80C196中任一种CPU,系统功能齐全,涵盖了微机教学实验课程的大部分内容。
2.系统采用开放式模块化结构设计,通过两组相对独立的总线最多可同时扩展2块应用实验板,用户可根据需要购置相应实验板,降低了成本,提高了灵活性,便于升级换代。
3.灵活的电源接口:
配有PC机电源插座,可由PC提供电源。
另外还配有外接开关电源,提供所需的+5V,±12V,其输入为220V的交流电。
4.系统的联机运行模式:
配有系统调试软件,系统调试软件分DOS版和WINDOWS版两种,均为中文多窗口界面。
调试程序时可以同时打开寄存器窗口、内存窗口、变量窗口、反汇编窗口、波形显示窗口等等,极大地方便了用户的程序调试。
该软件集源程序编辑、编译、链接、调试与一体,每项功能均为中文下拉菜单,简明易学。
经常使用的功能均备有热键,这样可以提高程序的调试效率。
调试软件不仅支持汇编语言,而且还支持C语言编辑调试。
1)系统的单机运行模式:
系统在没有与计算机连接的情况下,自动运行在单机模式,在此模式下,用户可通过键盘输入运行程序(机器码),和操作指令,同时将输入信息及操作的结果在LED数码管上显示出来。
2)系统功能齐全,可扩展性强。
本实验系统不仅完全能满足教学大纲规定的基本接口芯片实验,其灵活性和可扩展性(数据总线、地址总线、控制总线为用户开放)亦能轻松满足其课程设计、毕业设计使用等。
1.2系统概述
1.2.18086单元
1)微处理器:
8086
2)时钟频率:
6MHz
3)存储器
6264系统RAM,地址范围0~3FFFH,奇地址有效
62256系统RAM,地址范围0~3FFFH,偶地址有效
2764系统ROM,地址范围FFFFF~FC000H,奇地址有效
27256系统ROM,地址范围FFFFF~FC000H,偶地址有效
4)可提供的对8086的基本实验
(1).简单I/O扩展实验
(2).存储器扩展实验
(3).CPLD地址译码实验
(4).8255可编程并口实验
(5).8253定时/计数器实验
(6).A/D0809实验
(7).D/A0832实验
(8).8250可编程串口实验
(9).8279显示器接口实验
(10).8279键盘扩展实验
(11).8259可编程中断控制器实验
(12).8237DMA控制器实验
5)系统资源分配
●地址分配
CS0片选信号,地址04A0~04AF偶地址有效
CS1片选信号,地址04B0~04BF偶地址有效
CS2片选信号,地址04C0~04CF偶地址有效
CS3片选信号,地址04D0~04DF偶地址有效
CS4片选信号,地址04E0~04EF偶地址有效
CS5片选信号,地址04F0~04FF偶地址有效
CS6片选信号,地址0000~01FF偶地址有效
CS7片选信号,地址0200~03FF偶地址有效
8250片选地址:
0480~048F,偶地址有效
8279片选地址:
0490~049F,偶地址有效
●硬件实验说明
所有实验程序的起始地址为01100H,CS=0100H,IP=0100H,代码段、数据段、堆栈段在同一个64K的地址空间中。
三.系统电源
该系统的电源提供了两种解决方案:
1)利用PC机的电源,可省去电源的费用,只需从PC机内引出一组电源,从CPU板的+5V、+12V、—12V电源插座中引入。
该电源具有短路保护。
2)外接开关电源,内置在实验箱里。
第二章基本电路介绍
2.1硬件介绍
2.1.1整机介绍
1.EI型微机教学实验系统结构
EIⅡ型微机教学实验系统由电源、系统板、CPU板、可扩展的实验模板、微机串口通讯线、JTAG通讯线及通用连接线组成。
系统板的结构简图见图2-1。
图2-1实验系统的结构
2、EI型微机教学实验系统外形美观,具有优良的电特性、物理特性,便于安装,运行稳定,可扩展性强。
2.1.2硬件资源
1、可编程并口接口芯片8255一片。
2、串行接口两个:
8250芯片一个,系统与主机通讯用,用户不可用。
单片机的串行口,可供用户使用。
3、键盘、LED显示芯片8279一片,其地址已被系统固定为CFE8H、CFE9H。
硬件系统要求编码扫描显示。
4、六位LED显示。
5、ADC0809A/D转换芯片一片,其地址、通道1—8输入对用户开放。
6、DAC0832D/A转换芯片一片,其地址对用户开放,模拟输出可调
7、8位简单输入接口74LS244和8位简单输出接口74LS273各一个,其地址对用户开放。
8、配有逻辑电平开关,发光二极管显示电路。
9、配有一个可手动产生正、负脉冲的脉冲发生器
10、配有一个可自动产生正、负脉冲的脉冲发生器,按基频6.0MHz进行1分频(CLK0)、二分频(CLK1)、四分频(CLK2)、八分频(CLK3)、十六分频(CLK4)输出方波。
11、配有一路0---5V连续可调模拟量输出(AN0)。
12、配有可编程定时器8253一个,其地址、三个定时器的门控输入、控制输出均对用户开放。
13、2组总线扩展接口,最多可扩展2块应用实验板。
14、灵活的电源接口:
配有PC机电源插座,可与PC电源直接接驳。
另外还配有外接开关电源,提供所需的+5V,±12V,其输入为220V的交流电。
2.1.3整机测试
当系统上电后,数码管显示,RX、TX发光二极管闪烁,若没运行系统软件与上位机(PC)连接则3秒后数码管显示P-,若与上位机建立连接则显示C-。
此时系统监控单元(27256)、通讯单元(8250、MAX232)、显示单元(8279,75451,74LS244)、系统总线、系统监控正常。
若异常则按以下步骤进行排除:
1、按复位按键使系统复位,测试各芯片是否复位;
2、断电检查单片机及上述单元电路芯片是否正确且接触良好;
3、上电用示波器观察芯片片选及数据总线信号是否正常;
4、若复位后RX、TX发光二极管闪烁,则显示单元有问题,检查8279时钟信号,断电调换显示单元芯片;
若复位后RX、TX发光二极管不闪烁,检查8250晶振信号,断电调换通讯单元芯片。
2.2单元电路原理及测试
2.2.1单脉冲发生器电路
(1)电路原理:
该电路由一个按扭,1片74LS132组成,具有消颤功能,正反相脉冲,相应输出插孔P+、P-。
原理图图1所示:
图1单脉冲发生器电路
(2)电路测试:
常态P+为高电平,P-为低电平;按扭按下时P+为低电平,P-为高电平。
若异常可更换74LS132。
2.2脉冲产生电路
(1)电路原理:
该电路由1片74LS161、1片74LS04、1片74LS132组成。
CLK0是6MHz,输出时钟为该CLK0的2分频(CLK1),4分频(CLK2),8分频(CLK3),16分频(CLK4),相应输出插孔(CLK0~CLK4)。
图2脉冲产生电路
(2)电路测试:
电路正常时,可通过示波器观察波形。
若CLK0有波形而其它插孔无波形,更换74LS161;若都无波形,74LS04、74LS132或6M晶振有问题。
2.3开关量输入输出电路
(1)电路原理
开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。
对应的插孔是:
K1~K8。
开关量输出电路由8只LED组成,对应的插孔分别为LED1~LED8,当对应的插孔接低电平时LED点亮。
原理图如下:
(2)电路测试
开关量输入电路可通过万用表测其插座电压的方法测试,即开关的两种状态分别为低电平和高电平;开关量输出电路可通过在其插孔上接低电平的方法测试,当某插孔接低电平时相应二极管发光。
图3开关量输入输出电路
2.4简单I/O口扩展电路
(1)电路原理
输入缓冲电路由74LS244组成,输出锁存电路由上升沿锁存器74LS273组成。
74LS244是一个扩展输入口,74LS273是一个扩展输出口,同时它们都是一个单向驱动器,以减轻总线的负担。
74LS244的输入信号由插孔IN0~IN7输入,插孔CS244是其选通信号,其它信号线已接好;74LS273的输出信号由插孔O0~O7输出,插孔CS273是其选通信号,其它信号线已接好。
其原理图(附图1)所示。
(2)电路测试
当74LS244的1,19脚接低电平时,IN0~IN7与DD0~DD7对应引脚电平一致;当74LS273的11脚接低电平再松开(给11脚一上升沿)后,O0~O7与DD0~DD7对应引脚电平一致。
或用简单I/O口扩展实验测试:
程序执行完读开关量后,74LS244的IN0~IN7与DD0~DD7对应引脚电平一致;程序执行完输出开关量后,74LS273的O0~O7与DD0~DD7对应引脚电平一致。
2.58279键盘、显示电路
(1)电路原理
8279显示电路由6位共阴极数码管显示,74LS244为段驱动器,75451为位驱动器,可编程键盘电路由1片74LS138组成,8279的数据口,地址,读写线,复位,时钟,片选都已经接好,键盘行列扫描线均有插孔输出。
键盘行扫描线插孔号为KA0~KA3;列扫描线插孔号为RL0~RL7;8279还引出CTRL、SHIFT插孔。
六位数码管的位选、段选信号可以从8279引入,也可以有外部的其他电路引入。
(2)电路测试见整机测试
六位数码管电路的测试:
除去电路板上数码管右侧的跳线,系统加点,用导线将插孔LED1接低电平(GND),再将插孔LED-A,LED-B,LED-C,LED-D,LED-E,LED-F,LED-G,LED-DP依次接高电平(VCC),则数码管SLED1的相应段应点亮,如果所有的段都不亮,则检查相应的芯片75451,如果个别段不亮,则检查该段的连线、及数码管是否损坏。
用同样的方法依次检查其它数码管。
8279显示、键盘控制芯片电路的测试:
加上数码管右边的所有短路线,复位系统,应能正常显示。
否则检查8279芯片、244芯片、138芯片是否正常。
2.68250串行接口电路
(1)电路原理
该电路由一片8250,一片MAX232组成,该电路所有信号线均已接好。
电路原理图(附图2)所示。
(2)电路测试:
见整机测试
2.78255并行接口电路
(1)电路原理
该电路由1片8255组成,8255的数据口,地址,读写线,复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:
PA0~PA7,PB0~PB7,PC0~PC7。
电路原理图(附图3)所示。
(2)电路测试
检查复位信号,通过8255并行口实验,程序全速运行,观察片选、读、写、总线信号是否正常。
2.8A/D、D/A电路
(1)电路原理
八路八位A/D实验电路由一片ADC0809,一片74LS04,一片74LS32组成,该电路中,ADIN0—ADIN7是ADC0809的模拟量输入插孔,CS0809是0809的AD启动和片选的输入插孔,EOC是0809转换结束标志,高电平表示转换结束。
齐纳二极管LM336-5提供5V的参考电源,ADC0809的参考电压,数据总线输出,通道控制线均已接好,八位双缓冲D/A实验电路由一片DAC0832。
一片74LS00,一片74LS04,一片LM324组成,该电路中除DAC0832的片选未接好外,其他信号均已接好,片选插孔标号CS0832。
输出插孔标号DAOUT。
该电路为非偏移二进制D/A转换电路,通过调节POT3,可调节D/A转换器的满偏值,调节POT2,可调节D/A转换器的零偏值。
电路原理图(附图4)所示。
(2)电路测试
检查复位信号,通过A/D、D/A实验,程序全速运行,观察片选、读、写、总线信号是否正常。
2.98253定时器/计数器电路
(1)电路原理
该电路是由1片8253组成,8253的片选输入端插孔CS8253,数据口,地址,读写线均需学生独立连接,T0、T1、T2时钟输入分别为8252CLK0、8253CLK1、8253CLK2。
定时器输出,GATE控制孔对应如下:
OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。
电路原理图如图4所示。
注:
GATE信号无输入时为高电平
图48253定时器/计数器电路
(2)电路测试
检查复位信号,通过8253定时器/计数器接口实验,程序全速运行,观察片选、读、总线信号是否正常。
2.108259中断控制电路
(1)电路原理
CS8259是8259芯片的片选插孔,IR0~IR7是8259的中断申请输入插孔。
DDBUS是系统8位数据总线。
INT插孔是8259向8086CPU的中断申请线,INTA是8086的中断应答信号。
原理图(附图5)所示。
:
(2)电路测试
检查复位信号,通过8259中断控制器实验,程序全速运行,观察片选、读、写、总线信号是否正常。
2.11存储器电路
(1)电路原理
该电路由一片2764、一片27256、一片6264、一片62256、三片74LS373组成,2764提供监控程序高8位,27256提供监控程序低8位,6264提供用户程序及数据存储高8位,2764提供监控程序低8位,74LS373提供地址信号。
ABUS表示地址总线,DBUS是数据总线。
D0~D7是数据总线低八位,D8~D15是数据总线高八位。
其他控制总线如:
MEMR,MEMW和片选线均已接好。
在8086系统中,存储器分成两部分,高位地址部分(奇字节)和低位地址部分(偶字节)。
当A0=1时,片选信号选中奇字节;当A0=0时,选中偶字节。
原理图(附图5)所示。
:
(2)电路测试
监控正常则2764、27256、74LS373没问题,用户程序可正常运行则6264、62256没问题。
检查复位信号,通过存储器读写实验,程序全速运行,观察片选、读、写、总线信号是否正常。
2.12六位LED数码管驱动显示电路
(1)电路原理
该电路由六位LED数码管、位驱动电路、端输入电路组成,数码管采用动态扫描的方式显示。
电路中用75251作数码管的位驱动。
跳线开关用于选择数码管的显示源,可外接,也可选择8279芯片。
(2)电路测试:
去除短路线,系统加电,将插孔LED-1与GND短接,用电源的VCC端依次碰触插孔LED-A-----LED-DP,观察最左边的数码管的显示段依次发亮,则可断定此位数码管显示正常,否则检查芯片75451、及连线。
依次检查其他各位数码管电路。
第三章微型计算机汇编语言及汇编程序
汇编语言和机器语言相比,使用汇编语言来编写程序的突出优点就是可以使用符号;具体地说,就是可以用助记符来表示指令的操作码和操作数,可以用标号和符号来代替地址、常量和变量。
助记符一般都是表示一个操作的英文字母的缩写,很便于识别和记忆。
不过,用汇编语言编写的程序不能由机器直接执行,而必须翻译成由机器代码组成的目标程序,这个翻译过程称为汇编。
在微型机中,当前绝大多数情况下,汇编过程是通过软件自动完成的。
用来把汇编语言编写的程序自动翻译成目的程序的软件叫汇编程序。
汇编过程的含义如图3-1所示。
图3-1汇编程序的执行过程
用汇编语言编写的程序叫源程序。
前面讲的指令系统中的每条指令都是构成源程序的基本语句。
汇编语言的指令和机器语言的指令之间有—一对应的关系。
所以,汇编语言是和机器密切相关的,是面向机器的语言,CPU不同的机器有不同的汇编语言。
采用汇编语言进行程序设计时,我们可以充分利用机器的硬件功能和结构特点,从而可有效地加快程序的执行速度,减小目标程序所占用的存储空间。
因此,与高级语言相比,汇编语言为我们提供了直接控制目标代码的手段,而且可以对输入输出端口进行控制,实时性能好,执行速度快和节省存储空间等明显优点。
所以,汇编语言大量被用于编写计算机系统程序、实时通信程序、实时控制程序等。
8086和80286,80386,80486系统的汇编程序完全相同,简称作ASM-86。
在此基础上进一步扩展其功能,成为当前广泛使用的8086宏汇编程序,简称MASM-86。
3.1宏汇编语言的基本语法
3.1.1伪指令语句格式
它与指令语句不同,伪指令语句(又叫命令语句)中的伪指令本身不产生对应的机器目标代码。
它仅仅是告诉汇编程序,对后面的指令语句和伪指令语句的操作数应该如何产生机器目标代码。
每一条伪指令语句共分4个字段,它的指令格式如图3-2所示。
图3-2伪指令语句格式
1.标号名字段
这是一个任选字段。
标号名后面不能用冒号“:
”,这是它与指令语句的突出区别。
不同的伪指令,标号名可以是常量名、变量名、过程名、结构名、记录名等。
它们可以作为指令语句和伪指令语句的操作数,这时,标号名就表示一个常量或存储器地址。
2.伪指令字段
这是伪指令语句不可省略的主要成分。
伪指令种类很多,如定义数据伪指令DB,DW,DD;段定义伪指令SEGMENT;定义过程伪指令PROC;…。
它们是伪指令语句要求汇编程序完成的具体操作命令。
3操作数字段
本字段是否需要,需要几个,需要什么样的操作数等都由伪指令字段中伪指令来确定。
操作数可以是一个常数(二进制、十进制、十六进制等)、字符串、常量名。
变量名、标号、一些专用的符号(如BYTE,FAR,PARA等)。
4.注释字段
这是一个任选字段,它必须以分号为开始,它的作用与指令语句的注释字段相同。
3.1.2常数、变量和标号
常数、变量和标号是汇编语言能识别的数据项,它是指令和伪指令语句中操作数的基本组成部分。
一个数据项包含有它的数值和属性两部分,这两部分对一条语句汇编成机器目标代码都有直接关系。
1.常数
常数是没有任何属性的纯数值。
在汇编期间,它的值已能完全确定,且在程序运行中,它也不会发生变化。
它可以有以下几种类型:
(1)二进制数:
以字母B结尾的,由0和1组成的数字序列,如01011010B。
(2)八进制数:
以字母O或Q结尾的0~7数字序列,如723Q,35O。
(3)十进制数:
0~9数字序列,可以用字母D结尾,也可以没有结尾字母,如129,129D。
(4)十六进制数:
以字母H结尾,由数字0~9和字母A~F(或a一f)组成的序列如
3A5BH,OFH。
为了区别由A~F组成的是一个十六进制数还是一个标识符,凡以字母A~F为起始的一个十六进制数,必须在前面冠以数字“0”,否则汇编程序认作标识符。
(5)实数:
它由整数、小数和指数3部分组成,这是计算机中的浮点表示法。
实数一般用十进制数形式给出,实数的格式如下:
土整数部分.小数部分E士指数部分
其中,整数和小数部分形成这个数的值,称作尾数,它可以是带符号的数。
指数部分由指数标识符E开始,它表示了值的大小,如5.213E-4。
(6)字符串常数:
用引号括起来的一个或多个字符。
这些字符以ASCⅡ码形式存储在内存中。
如“AB”,在内存中就是41H,42H。
在程序中,常数主要出现在:
(1)指令语句中源操作数中作立即数,它应与目的操作数的位数相一致,可以是8位或16位,例如:
MOVAX,0A5F1H
ADCDL,12H
(2)在指令语句的基址加变址的寻址方式中作位移量,例如:
MOVBX,[SI+32H]
(3)在数据定义伪指令中,例如:
DB12H;定义一个字节数据
DB1234H;定义一个字数据
DD12345678H;定义一个双字数据
DBABCD’;定义4个字节的字符串数据
2.变量
变量是代表存放在某些存储单元的数据,这些数据在程序运行期间随时可以修改。
为了便于对变量的访问,它常常以变量名的形式出现在程序中,它可以认为是存放数据存储单元的符号地址。
(1)变量的定义与预置:
定义变量就是给变量分配存储单元,且对这个存储单元赋于一个符号名——变量名,同时将这些存储单元预置初值。
定义变量是用数据定义伪指令DB,DW,DD等。
例如:
VAR_DATASEGMENT
DATA1DB12H
DATA2DB34H
DATA3DW5678H
VAR_DATAENDS
经过定义的变量,每个变量均有3个属性:
①段属性(SEG):
表示变量存放在哪一个逻辑中(即变量所在段的段基值。
例如,变量名为DATA1,DATA2,DATA3的3个变量都存放在VAR_DATA逻辑段中(用SEGMENT/ENDS伪指令定义一个逻辑段)。
当在指令中要对这些变量进行存取操作时,事先要把它们所在段的段基值存放在某一个段寄存器(如DS)中。
②偏移量属性(OFFSET):
表示变量在逻辑段中离段起始点的字节数。
仅很,变量DATA1的偏移量为0,而DATA2的偏移量为1,DATA3的偏移量为2。
上述段和偏移量两个属性就构成了变量的逻辑地址。
③类型属性(TYPE):
表示变量占用存储单元的字节数。
这一属性是由数据定义伪指令DB,DW,DD来规定的。
变量DATA1,DATA2是用DB定义的,它的类型属性为字节;而DATA3是用DW定义的,类型属性为字;如果用DD定义,类型属性为双字。
(2)数据定义伪指令:
这种伪指令主要为数据项分配存储单元并预置初值。
由这种伪指令构成的语句格式是:
变量名
表达式1,表达式2,…
其中表达式1,表达式2,…是给变量赋予的初值。
表达式可以有如下几种情况:
①数值表达式。
例如:
DA_BYTEDB50H,50
DA_WORDDWOA3F1H,4981H
变量DA_BYTE的内容为50H,它的下一个字节为32H(即DA_BYTE+l字节单元的内容为十进制50)。
DA_WORD字单元内容为OA3FIH(低字节为F1H,高字节为OA3H)它的下一字单元内容为4981H(即DA_WORD+2字单元)。
②?
表达式:
不带引号的?
表示可预置任何内容。
例如:
DA_BDB?
,?
DA_WDW?
,?
第1条语句是要求汇编程序分配两个字节单位,第2条语句是要求分配两个字单元。
这些单元里现在可以是任意值。
③字符串表达式:
对于DB伪指令,为字符串中每一个字符分配一个字节单元。
字符串必须是用引号括起来且不超过255个字符。
字符率自左至右以字符的ASCⅡ码按地址递增的排列顺序依次存放。
例如:
STRING2DBABCDEF
在存储器中存放的情况如图3-3(a)所示。
对于DW伪指令,可以给两个字符组成的字符
串分配两个字节存储单元,而且这两个字符ASCⅡ码的存储顺序是前一字符在高字节,后一字符在低字节,每一个数据项不能多于两个字符。
例如:
STRINGZDW’AB’,’CD,’EF’
在存储器中存放的情况如图3-3(b)所示。
对于DD伪指令,仅可给两个字符组成的字符串分配4个字节单元,且这两个字符ASCⅡ码是存储在两个低字节(存储顺序与DW伪指令相同)中,两个高字节均存放00H。
例如:
STRING3DD’AB’,’CD’
在图3-3(c)显示了它们存储器中的存放情况。
④带DUP表达式:
DUP是定义重复数据操作符。
在表达式中,使用DUP操作符格式是:
图3-3DB,DW,DD伪指令中字符串表达式的存放情况
变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 指导
![提示](https://static.bdocx.com/images/bang_tan.gif)