微机原理实验四八实验指导书.docx
《微机原理实验四八实验指导书.docx》由会员分享,可在线阅读,更多相关《微机原理实验四八实验指导书.docx(20页珍藏版)》请在冰豆网上搜索。
微机原理实验四八实验指导书
实验四8255控制交通灯实验
一、实验目的与要求
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
二、实验设备
STAR系列实验仪一套、PC机一台
三、实验原理
1、选择仿真器或仿真模块
执行[主菜单»辅助»仿真器],出现一个对话框:
请选择实验仪:
STARES598PCI;仿真器:
EMU598+仿真模块;选择“确认”。
“模拟调试器”选项请不要勾选,否则无法对I/O接口操作。
2、设置缺省项目
执行[主菜单»辅助»缺省项目],出现一个对话框:
(使用EMU598仿真模块,选择“STARES8688仿真模块”)
(使用EMU598+仿真模块,选择“8086(EMU598+)”)
点击进入下一步:
“选择语言”
您可以根据自己的需要以及程序的类型作相应的选择,本实例选择Borland公司的TurboC(3.0)、TASM(5.0)(请确定在选择语言之前已经安装好相应的编译软件)。
然后再点击进入下一步:
“编译、连接控制项”
memorymodel请选择tiny,缩写为mt(也可以选择其它模式);如果需要源程序级别调试,必须使用-v–y控制项,为了支持多文件编译、连接,必须使用-c控制项。
一般不必改变TurboC的编译控制项。
如果需要源程序级别调试,必须使用/zi/l控制项。
一般不必改变Tasm的编译控制项。
如果需要源程序级别调试,必须使用/m/l/v控制项。
一般不必改变TLINK的连接控制项。
然后再点击进入下一步:
“存贮器出借方式”
仿真模块EMU598+提供64K仿真RAM(IS61LV6416),作程序段(CS)、数据段(DS)、附加段(ES)、堆栈段(SS)使用。
3.调试
在进入调试状态以前,请正确设置通信口:
执行[主菜单»辅助»通信],对话框如下:
仿真器、实验仪配套的通信线可以与微机USB口相连,即为USB通信线,请选择USB。
对于最下面一行的校验,通常您不必选中它,可以提高传送DOB、HEX、BIN文件时的速度。
在进入调试状态以前,你还必须确定实验仪与微机的正确连接,电源接通,开关打开。
4.实验原理图
8255方式选择控制字:
四、实验步骤
1、连线说明:
B4区:
CS、A0、A1
——
A3区:
CS1、A0、A1
B4区:
JP56(PA口)
——
G6区:
JP65
2、实验程源序源如下所示,计算机中有源文件请自行搜索。
下面2个编程题由老师做实验前抽选1个,按题目要求完成完整汇编程序编程,并编译、链接、运行,如能成功运行请叫老师至本组实验台前检查运行结果。
8255工作在方式0,其端口地址为0F000H~0F003H。
(1)将以下程序修改为先“南北绿灯,东西红灯亮”,再“南北绿灯闪烁,东西红灯亮”,“南北黄灯亮,东西红灯亮”,“南北红灯,东西绿灯亮”……亮法按交通规则依此类推。
不得靠修改硬件连线实现实验要求交通灯亮法。
(2)将以下程序修改为南北和东西方向绿灯亮的时间为组号,黄灯不改,红灯根据交通规则修改亮灯时间。
老师检查时会使用秒表掐时间看精确度,要求误差在±10%以内。
若由于计算机配置差异导致存在误差超过要求,请通过校正延时子程序获得精确时间。
.MODEL
TINY
COM_ADD
EQU
0F003H
PA_ADD
EQU
0F000H
PB_ADD
EQU
0F001H
PC_ADD
EQU
0F002H
.STACK
100
.DATA
LED_Data
DB
01111110B
;东西绿灯,南北红灯
DB
01111111B
;东西绿灯闪烁,南北红灯
DB
01111101B
;东西黄灯亮,南北红灯
DB
11011011B
;东西红灯,南北绿灯
DB
11111011B
;东西红灯,南北绿灯闪烁
DB
10111011B
;东西红灯,南北黄灯亮
.CODE
START:
MOV
AX,@DATA
MOV
DS,AX
NOP
MOV
DX,COM_ADD
MOV
AL,80H
;PA、PB、PC为基本输出模式
OUT
DX,AL
MOV
DX,PA_ADD
;灯全熄灭
MOV
AL,0FFH
OUT
DX,AL
LEA
BX,LED_Data
START1:
MOV
AL,0
XLAT
OUT
DX,AL
;东西绿灯,南北红灯
CALL
DL5S
MOV
CX,6
START2:
MOVAL,1
XLAT
OUT
DX,AL
;东西绿灯闪烁,南北红灯
CALL
DL500ms
MOV
AL,0
XLAT
OUT
DX,AL
CALL
DL500ms
LOOP
START2
MOV
AL,2
;东西黄灯亮,南北红灯
XLAT
OUT
DX,AL
CALL
DL3S
MOV
AL,3
;东西红灯,南北绿灯
XLAT
OUT
DX,AL
CALL
DL5S
MOV
CX,6
START3:
MOV
AL,4
;东西红灯,南北绿灯闪烁
XLAT
OUT
DX,AL
CALL
DL500ms
MOV
AL,3
XLAT
OUT
DX,AL
CALL
DL500ms
LOOP
START3
MOV
AL,5
;东西红灯,南北黄灯亮
XLAT
OUT
DX,AL
CALL
DL3S
JMP
START1
DL500ms
PROC
NEAR
PUSH
CX
MOV
CX,60000
DL500ms1:
LOOP
DL500ms1
POP
CX
RET
DL500ms
ENDP
DL3S
PROC
NEAR
PUSH
CX
MOV
CX,6
DL3S1:
CALL
DL500ms
LOOP
DL3S1
POP
CX
RET
ENDP
DL5S
PROC
NEAR
PUSH
CX
MOV
CX,10
DL5S1:
CALL
DL500ms
LOOP
DL5S1
POP
CX
RET
ENDP
END
START
实验五8255并行数据传送实验
一、实验目的与要求
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。
二、实验设备
STAR系列实验仪一套、PC机一台
三、实验内容
1、编写程序:
使用8255的PA0..2、PA4..6控制LED指示灯,实现并行数据传送功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
四、实验原理
G6区:
发光管、按键、开关
发光管电路原理图
JP65:
发光管控制接口,0-灯亮,1-灯灭
按键电路原理图开关电路原理图
JP74:
按键控制接口;按下-0信号,松开-1信号JP80:
开关控制接口;闭合-0信号,断开-1信号
8255方式选择控制字:
五、实验步骤
1、连线说明:
B4区:
CS、A0、A1
——
A3区:
CS1、A0、A1
B4区:
JP56(PA口)
——
G6区:
JP65
B4区:
JP52(PC口)
——
G6区:
JP74(按键)或JP80(开关)
2、下面2个编程题由老师做实验前抽选1个,按题目要求完成完整汇编程序编程,并编译、链接、运行,如能成功运行请叫老师至本组实验台前检查运行结果。
8255工作在方式0,其端口地址为0F000H~0F003H。
(1)实现CPU由8255的C端口通过查询方式读按键,当按下任意一个键LED指示灯由右至左依次亮1秒后灭,不循环,亮一次后程序结束。
(2)实现CPU由8255的C端口读开关,当任意一个或多个开关上拨,对应LED指示灯亮,当8个开关全部上拨则灯全亮1秒后程序结束。
以下是延时0.5秒子程序范例:
DL500ms
PROC
NEAR
PUSH
CX
MOV
CX,60000
DL500ms1:
LOOP
DL500ms1
POP
CX
RET
DL500ms
ENDP
实验六8255控制七段数码显示
一、实验目的与要求
1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。
二、实验设备
STAR系列实验仪一套、PC机一台
三、实验内容
1、编写程序:
使用8255的PA0..2、PA4..6控制LED七段数码管,实现数字、字母显示功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
四、实验原理
1、G5区:
键盘&LED
A:
按键的列线
B:
数码管段码
C:
数码管选择脚
D:
按键的行线
2、7段数码管显示字符及段码表
由上表可知,显示’0’~’F’的字段码为:
3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h
3、8255方式选择控制字:
五、实验步骤
1、连线说明:
B4区:
CS、A0、A1
——
A3区:
CS1、A0、A1
B4区:
JP56(PA口)
——
G5区:
JP42(数码管段码)
B4区:
JP53(PB口)
——
G5区:
JP41(数码管选择脚)
2、下面2个编程题由老师做实验前抽选1个,按题目要求完成汇编程序编程,并编译、链接、运行,如能成功运行请叫老师至本组实验台前检查运行结果。
8255工作在方式0,其端口地址为0F000H~0F003H。
(1)实现选其中一个LED七段数码管,动态显示由高到低逐位本组其中一位同学的学号末两位—〉小数点—〉第二位同学的学号末两位—〉小数点—〉第三位同学的学号末两位—〉小数点,程序结束。
亮灭时间每个字符为1秒。
举例:
假设第一组有曾耿鑫同学学号130********03,曾勇韬同学学号130********04,陈嘉威同学学号130********05,这组要求显示0—〉3—〉.—〉0—〉4—〉.—〉0—〉5—〉.。
(2)实现8个LED七段数码管由左到右显示:
本组两位组号,其中一位同学的学号末两位,另外一位同学的学号末两位,第三位同学的学号末两位。
举例:
假设第一组有曾耿鑫同学学号130********03,曾勇韬同学学号130********04,陈嘉威同学学号130********05,这组要求8个LED七段数码管由左到右显示01030405。
实验七8253定时实验
一、实验目的与要求
了解8253的内部结构、工作原理;了解8253与8088的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。
二、实验设备
STAR系列实验仪一套、PC机一台
三、实验内容
1、编写程序:
使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。
2、连接线路,验证8253的功能,熟悉它的使用方法。
四、实验原理图
8253控制字:
五、实验步骤
1、连线说明:
C5区:
CS、A0、A1
——
A3区:
CS5、A0、A1
C5区:
CLK0
——
B2区:
2M
C5区:
OUT0
——
C5区:
CLK1
C5区:
OUT1
——
D1区:
Ctrl(蜂鸣器)
B2区:
逻辑笔TEST
C5区:
GATE0、GATE1
——
C1区的VCC
2、下面2个编程题由老师做实验前抽选1个,按题目要求完成汇编程序编程,并编译、链接、运行,如能成功运行请叫老师至本组实验台前检查运行结果。
8253端口地址为0B000H~0B003H。
(1)使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为[组号最末一位]秒的方波,用此方波控制蜂鸣器,发出报警信号,同时观察逻辑笔的灯闪烁周期是否为组号最末一位。
(2)使用8253的计数器0工作在方式3实现对输入时钟频率分频得到1kHz的方波,计数器0的输出端接计数器1的输入端,计数器1工作在方式0实现[组号]秒数后逻辑笔的灯闪烁指示为电平由低跳为高电平。
实验八8259A中断控制器实验
一、实验目的与要求
了解8259A的内部结构、工作原理;了解8259A与8088的接口逻辑;掌握对8259A的初始化编程方法,了解8088是如何响应中断、退出中断的。
复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
二、实验设备
STAR系列实验仪一套、PC机一台
三、实验原理图
8259初始化命令字及操作命令字:
五、实验步骤
1、连线说明:
B3区:
CS、A0
——
A3区:
CS1、A0
B3区:
INT、INTA
——
EMU598+:
INTR、INTA
B3区:
IR0
——
B2区:
单脉冲
B4区:
CS、A0、A1
——
A3区:
CS5、A0、A1
B4区:
JP56(PA口)
——
G6区:
JP65
2、下面2个编程题由老师做实验前抽选1个,按题目要求完成汇编程序编程,并编译、链接、运行,如能成功运行请叫老师至本组实验台前检查运行结果。
8259A端口地址为0F000H~0F001H。
(1)上下拨动单脉冲开关,拨动二次,产生一个“
”触发一次硬件中断,中断[组号]次后结束程序。
中断服务子程序实现8255A口工作在方式0,输出使8位发光二极管显示当前中断次数的二进制2秒钟后灯灭。
例:
第5次中断输出00000101。
(2)上下拨动单脉冲开关,拨动二次,产生一个“
”触发一次硬件中断,中断7次后结束程序。
中断服务子程序实现8255A口工作在方式0,输出使8位发光二极管由高到低轮流显示一次,间隔0.5秒。