1、 微机原理及接口技术 实 验 指 导 书 中南民族大学 计算机科学学院 2005 年 9 月 目 录 第一章 性能特点.1 第二章 安装使用.3 第三章 键盘监控使用简介.6 第四章 硬件实验部分.9 实验一 AD转换实验.9 实验二 DA转换实验(一).12 实验三 DA转换实验(二).14 实验四 8255A并行口实验(一)15 实验五 8255A并行口实验(二)17 实验六 定时器计数器.20 实验七 8259单级中断控制器实验22 实验八 串行接口和应用(一)串行发送.26 实验九 串行接口和应用(二)串行接收.32 实验十 继电器控制.35 实验十一 简单IO口扩展实验.36 第五章
2、 软件实验部分.38 实验一 清零程序.38 实验二 拆字程序.39 实验三 拼字程序.40 实验四 数据区移动.41 实验五 数据排序实验.42 实验六 找“零”个数.43 实验七 32位二进制乘法44 实验八 多分支程序设计.46 实验九 显示子程序.48 第一章 性能特点 11 系统运行环境 系统运行环境如下图1-1所示: 8088系统实验区 LED显示键盘 IBMPC 电源 图 1-1 12 系统性能特点 1采用主频为4.77MHz的8088CPU为主CPU,并以最小工作方式构成系统。 2配有一片62256静态RAM构成系统的32K基本内存,地址范围为00000H 07FFFH,可立即
3、扩展为64K,其中00000H 00FFFH监控占用。另配一片27256(32K)EPROM存放监控程序和软硬件实验程序,地址范围F8000H FFFFFH。 3自带键盘、显示器,能独立运行,为实验程序调试带来方便。 4配备Windows调试软件。 5提供标准RS232异步通讯口,以连接IBMPC机。 6配有各种微机常用IO接口芯片,如定时计数接口芯片、AD转换接口芯片、 DA转换接口芯片、中断控制器、键盘显示接口、并行IO接口芯片等。 7配备键盘数码显示、发光二级管显示、开关量输入输出等设备。 8带有脉冲发生器、计数器电路、单脉冲发生器等常用电路。 9可以单步、断点调试各实验程序。 10使用
4、单个+5V电源,仅在做DA实验时,再需接入+12V和-12V二个电源。 11使用环境:环境温度0 40,无明显潮湿,无明显振动碰撞。 12工作电源5V5,工作电流小于1A,开关机瞬间及工作正常时电源毛刺小于0.5V。 13 系统资源分配 监控/用户中断矢量用户中断矢量监控数据区默认用户栈用户数据区、程序区00000H00013H00014H000FFH00100H00FFFH01000H0FFFH8088有1兆存储空间,系统提供用户使用的空间为00000H 0FFFFH,用于存放、调试实验程序。具体分配如右: 监控占用00000H 00013H作为单步(T)、断点(INT3)、无条件暂停(NM
5、I)中断矢量区,用户也可以更改这些矢量,指向用户的处理,但失去了相应的单步、断点暂停等监控功能。 F8000H FFFFFH监控程序区系统占用。 114 系统配置 系统内含串行监控和键盘显示监控的全部软硬件设施,典型配置如下: 1主机板(用串行监控和基本监控)+ IBM PC机 2主机板(用基本监控)+ 键盘显示 二种配置的使用特点如下: 配置一:主机板和IBM PC机通过RS232串行口相连。这种配置形式可以充分利用 IBMPC机的软硬件资源,实现源程序的编辑、汇编和链接和调试全部软硬件实验程序源 文件(.ASM)、执行文件(.EXE)都在随机软盘上,你可以利用PC机的键盘显示等输入输出 设
6、备完成各种软硬件实验。 配置二:为最经济型配置,它不需要和IBM PC机联机,自成一体,通过一组键盘命令完 成所有软硬件实验,每个实验程序固化在系统监控中。这种配置为没有PC机的用户带来极大方便。 2第二章 安装使用 1将8088卡插到主系统上。 2随机配有一通讯电源线,将RS2329芯一头插入实验系统的CZ1插座,根据电源线上的标注接入电源。在做D/A实验时,需接入12V。在串行通讯时,将RS2329另一头和PC机COM1或COM2相连。 3系统开关KB1拨在88位置。 4跳线器J4的1和2相连。 5打开电源,显示系统提示符“P” 6通用电路及相应插孔介绍。 (1)LED显示,实验台上包括1
7、6只发光二极管及相应驱动电路。见图2-1,L1-L16为相应发光二极管驱动信号输入端,该输入端为低电平“0”时发光二极管亮。 图 2-1 (2)逻辑电平开关电路:见图2-2。实验台上有8只开关K1 K8,与之相对应的K1 K8个引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。 图 2-2 图 2-3 (3)单脉冲电路:实验台上单脉冲产生电路如图2-3,标有“”和“”的两个AN为单脉冲产生按钮,每按一次产生一个单脉冲。 (4)计数器电路:该电路由一片74LS393组成,见图2-4。T0 T7为发频输出插孔。插孔为正负单脉冲输出端。附近按钮该计数器在加电
8、时由RESET信号清零。当脉冲输入为8.0MHz时,T0 T7输出脉冲频率依次为38.0MHz,4.0MHz,2.0MHz,1.0MHz,500KHz,250KHz,125KHz,62500Hz。 图 2-4 实验台上除以上通用电路外,还包含有,AD、DA转换电路、存储器功能明细见下关设置:KB1、KB2、KB3、KB4、KB5开关均接左边,使主机处于8088状态。键盘右常用微机接口电路电路以及键盘显示电路等,每一部分电路及连线方法将在实验指导一章说明。 7信号引出插孔X0 X29对应51单片机、196单片机和8088十六位系统机其表。 8开下角短路块往下接为8088状态。KB6通讯开关,请设
9、置在相应的88位置。 4插孔名称 51系列功能 196系列功能 8088系列功能 X0 P1.0 P1.0 NCX1 NC NC EX6 X2 P1.1 P1.1 NCX3 P1.2 P1.2 NC X4 P1.3 P1.3 NCX5 P1.4 P1.4 NC X6 P1.7 HSO4 NCX7 P1.5 HSI0 NC X8 P1.6 HSI1 NCX9 P3.0 HSO5 NC X10 P3.3 P1.5 NCX11 NC EXTINT /88RST X12 P3.1 HSO0 88INTAX13 接8253芯片 接8253片选 8253片选已接好 X14 P3.5 P1.7 NC X15
10、 P3.2 HSO1 88INTEX16 NC NC NC X17 NC NC 8253片选已接好 X18 P3.4 P1.6 NC X19 NC P0.2 NCX20 NC P2.6 EX2 X21 NC P0.5 NCX22 NC HSO2 EX1 X23 NC HSO3 EX4X24 NC P0.0 NC X25 NC P0.6 NCX26 NC P0.4 NC X27 NC P0.7 NCX28 NC P0.1 NC X29 NC 90.3 NC5第三章 键盘监控使用简介 31 引言 本章详细叙述键盘监控程序的功能和操作方法。 系统一经接通电源,数码管上显示监控提示符“P”。 32 键
11、盘显示 (1)系统配备6位LED显示器,左边4位显示地址,右边2位显示该地址内容。 (2)系统有32个注塑键,左边16个数字键,右边16个功能键(8088系统用9个)。 在键盘监控状态下用户可以通过一组键命令完成下列操作: 读写寄存器内容 读写存储器内容 数据块移动 IO端口读写 通过单步、断点、连续等功能来调试运行实验程序 33 功能键操说明一缆表 键名 功能 操作 MEM 存贮器读写先输入四位单元地址,再按MEM键,读存贮储器单元的内容,此时输入数字键,则修改该单元的内容。 REG 寄存器读写先输入寄存器代号,再按REG键,读该代号所表示的寄存器单元的内容。此时再输入数字键,则修改该存储器
12、的内容。 ODRW 读I/O口 先输入四位I/O口地址,再按ODRW键,读该I/O口的状态,每按一次ODRW键,则读入一次。 DAR 写I/O口 先输入四位I/O口地址,再按DAR键,显示00,再输入要写的数据,每改写一次写入的数据,I/O口的状态跟着改变。 MOVE 数据块移动输入四位源首地址后按F1,再输入源末地址后按F2,再输入四位首地址后按MOVE键即可。 STEP 单步运行 先输入四位起始地址,再按STEP键或在存贮器读写状态下按STEP键或在“P.”监控提示符号下按STEP键,按一次执行一条指令语句。 EXEC 连续运行 先输入四位起始地址,按EXEC键,或在存贮器读写状态下按EX
13、EC键,或在“P.”监控提示符号下按EXEC键,或先输入四位段地址后按F1键,再输入四位偏移地址按EXEC键。 EXEC 断点运行 先输入四位断点地址后按F2键,在输入四位起始地址后按EXEC键。 34 总操作过程 8088十六位微机实验系统上电总清以后,显示器上显示监控提示符“P”,各寄存器的初始化值如下: SP=0638H,CS=0000H,DS=0000H,SS=0000H,IP=1000H,FL=0000H 6注意: 所有命令均在提示符“P”状态输入。 在键盘监控状态,段地址缺省值为0000H。 35 监控程序命令及操作 (1)存贮器单元内容显示修改 操作: MEM 即在提示符“P”下
14、,先输入四位存贮单元地址,再按MEM键,显示器左边4位显示地址,右边2位显示该单元的内容。此时: 按NEXT键使地址加1再显示。 按LAST键使地址减1再显示。 键入十六进制数据,则将改写现行地址单元的内容。 按MON键则返回监控,显示提示符“P”。 (2)寄存器内容显示修改 操作: REG 即在“P”提示符下,先输入寄存器代号,再按REG键,显示器右边4位显示寄存器中内容,左3、4位显示寄存器名。此时: 按NEXT键,则依次循环显示下一个寄存器中的内容。 按LAST键,则依次显示上一个寄存器中的内容。 输入十六进制数字,则该寄存器中的内容被修改。 按MON键则返回监控,显示提示符“P”。 0
15、 1 2 3 4 5 6 7 8 9 A B C D AX BX CX DX SP BP SI DI CS DS SS ES IP FL(3)IO口读 操作: ODRW 在提示符“P”下,先输入四位IO口地址,再按ODRW键,显示器左边4位显示口地址,右边2位显示其IO口状态数据。此时: 按ODRW键,再次读入IO口的状态。 按NEXT键,IO地址加1,读出下一个口地址的状态数据。 按LAST键,IO地址减1,读出上一个口地址的状态数据。 按MON键,返回监控提示符“P”。 (4)IO口写 操作: DARW 即在提示符“P”状态下,输入4位IO口地址,按DAR键,显示器左边4位显示口地址,右边
16、2位初始显示00,此时输入要写入的数据。IO的状态会随写入的内容而变化。 按NEXT键,IO口地址加1。 按LAST键,IO口地址减1。 按MON键,返回监控提示符“P”。 (5)数据块移动 操作: F1F2MOVE 即在提示符“P”状态下,先输入4位数据块源首地址,按F1键,再输入数据块源末地址,按F2键,最后输入目标数据块首地址,按MOEV键,开始数据块传送,传送完毕返回7监控,显示提示符“P”。 (6)单步运行 操作: 有三种状态都可以进入单步操作(段地址固定为0000H) 在监控提示符“P”状态下,按STEP键,从默认的起始地址IP=1000H单元开始单步运行一条指令语句。 在存贮器单
17、元读写状态(即左边4位显示存贮器地址,右边2位显示存贮器单元内容)下,从当前存贮器地址开始单步运行一条指令语句。 先输入四位起始地址,再按STEP键,则从输入的起始地址开始运行一条指令语句。每运行一条语句,显示器显示下一条指令语句的地址及其内容。 (7)连续运行 操作: 有三种状态可以进入连续运行 在监控提示符“P”状态下,按EXEC键,从默认起始地址CS=0000H,IP=1000H开 始连续运行用户程序。 在存贮器写状态下,按EXEC键,则从输入的起始地址开始连续运行用户程序(CS= 0000H)。 先输入起始4位段地址,按F1键,再输入4位起始偏移地址,再按EXEC键,则从规定的段地址和
18、偏移地址开始连续运行用户程序。 要想从运行用户程序返回监控,可以按8088卡上的STOP暂停键或主机RSET键。如果用STOP键中断程序运行,则保护所有寄存器的内容返回监控。如果按RESET键,则重新进入监控状态,初始化各寄存器。 (8)断点运行(默认段地址CS=0000H) 操作: F2EXEC 即在提示符“P”状态下,输入4位断点地址,按F2键,再输入4位起始地址,按EXEC键,程序从起始地址开始运行,显示器显示“”执行符。当程序运行到断点地址处会自动停下来,并显示断点地址和内容,同时保护所有寄存器的值。 当由于某种原因程序不能正常运行到断点地址处时(即通常所说的程序“跑飞”),可以按80
19、88卡上的STOP暂停键,以确定程序运行到何处,同时必须用存贮器读写功能恢复断点处的一个字节内容。 8第四章 硬件实验部分 实验一 AD转换实验 一、实验目的 了解模数转换基本原理,掌握ADC0809的使用方法。 二、实验内容 1硬件原理图如图4-1 图 4-1 2硬件线路连接 (1)将0809 CS4连到译码输出8000H插孔。 (2)将通道0模拟量输入端IN0连电位器W1的中心插头05V插孔。 3软件框图 4编程提示 (1)ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始AD采样转换,其输入控制信号为CS和W
20、R,故启动A/D转换只须如下两条指令: MOV DX,ADPORT ;ACD0809端地址 OUT DX,AL ;发CS和WR信号并送通道地址 9(2)用延时方式等待AD转换结果,使用下述指令读取AD转换结果。 MOV DX,ADPORT IN AL,DX (3)循环不断采样AD转换的结果,边采样边显示AD转换后的数字量。 三、实验步骤 1按图4-1连好实验线路。 2输入程序并检查无误,运行实验程序。 在系统上显示“0809”。“”表示输入的模拟量转换后的数字量。 3调节电位器W1,显示器上会不断显示新的转换结果。 模拟量和数字量对应关系的典型值为:0V 00H;+2.5V 80H;+5V F
21、FH CODE SEGMENT ASSUME CS:CODE ;定义A/D转换芯片地址 ADPORT EQU 8000H ;定义起始地址 ORG 1200H 1200 EB 01 90 TART: JMP ADCONTOR 1203 E8 72 00 ONTORL: CALL FORMAT 1206 B8 00 00 ADCON: MOV AX,00 ;初始化显示缓冲区 1209 BA 00 80 MOV DX,ADPORT ;选择0通道启动AD转换 120C EE OUT DX,AL 120D B9 00 05 MOV CX,0500H 1210 E2 FE DELAY: LOOP DELA
22、Y ;延时 1212 BA 00 80 MOV DX,ADPORT 1215 EC IN AL,DX ;读取AD转换值 1216 E8 05 00 CALL CONVERS ;转成显示代码并送显示缓冲 1219 E8 17 00 CALL DISP ;调用显示子程序 121C EB E8 JMP ADCON ;循环 121E 8A E0 CONVER: MOV AH,AL ;数字量转换成显示代码的程序 1220 24 0F AND AL,0FH 1222 BB 7A 07 MOV BX,077AH 1225 88 07 MOV DS:BX,AL 1227 43 INC BX 1228 8A C
23、4 MOV AL,AH 122A 24 F0 AND AL,0F0H 122C B1 04 MOV CL,04H 122E D2 E8 SHR AL,CL 1230 88 07 MOV DS:BX,AL 1232 C3 RET 1233 BA 7F 07 DISP: MOV DX,077FH ;显示子程序 1236 B4 20 MOV AH,20H ;置显示位码初值 101238 B9 FF 00 DISP0: MOV CX,00FFH 123B 8B DA MOV BX,DX ;取显示段码值 123D 8A 1F MOV BL,DS:BX 123F B7 00 MOV BH,0H 1241
24、52 PUSH DX 1242 BA 22 FF MOV DX,0FF22H 1245 2E:8A 87 60 12 MOV AL,CS:BX+1260H 124A EE OUT DX,AL ;段码送8155B口 124B BA 21 FF MOV DX,0FF21H 124E 8A C4 MOV AL,AH ;位码送8155B口 1250 EE OUT DX,AL 1251 E2 FE DISPL: LOOP DISPL ;延时 1253 5A POP DX 1254 4A DEC DX ;显示缓冲区地址减1 1255 D0 EC SHR AH,01H ;位码右移1位 1257 75 DF
25、INZ DISP0 ;未显示到最后一位返回DISP 1259 BA 22 FF MOV DX,0FF22H 125C B0 FF MOV AL,0FFH ;关显示 125E EE OUT DX,AL 125F C3 RET ;返回 1260 C0 F9 A4 B0 99 92 82 F8 80 90 88 83 C6 A1 DATA1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H, 0F8H,80H,90H,88H,83H,0C6H,0A1H 126E 86 8E FF 0C 89 DE C7 8C F3 BF DB 86H,8EH,0FFH,0CH,89H,0DEH
26、,0C7H, 8CH,0F3H,0BFH 1278 BB 00 00 FORMAT: MOV BX,0 ;初始化显示缓冲区 127B C7 87 7A 07 00 00 MOV WORD PTR DS:BX+077AH,0000H 1281 83 C3 02 ADD BX,2 1284 C7 87 7A 07 09 00 MOV WORD PTR DS:BX+077AH,0009H 128A 83 C3 02 ADD BX,2 128D C7 87 7A 07 08 00 MOV WORD PTR DS:BX+077AH,0008H 1293 C3 RET 1294 CODE ENDS END
27、 START 11实验二 DA转换实验(一) 一、实验目的 了解数/模转换的基本原理,掌握DAC0832芯片的使用方法。 二、实验内容 1硬件原理图如图4-2。 2硬件线路连接 0832片选信号CS5插孔和译码输出8000H插孔相连。 3产生方波程序编程提示 (1)首先须由CS片选信号确定量DAC寄存器的端口地址,然后锁存一个数据通过0832输出,典型程序如下: MOV DX,DAPORT ;0832口地址 MOV AL,DATA ;输出数据到0832 OUT DX,AL (2)产生方波信号的周期由延时常数确定。 4软件框图 图 4-2 三、实验步骤 l按图4-2连好实验线路 2运行实验程序
28、在系统上显示执行符“”。 3、用示波器测量0832左侧AOUT插孔,应有方波输出。 12CODE SEGMENT ASSUME CS:CODE DAPORT EQU 8000h ORG l2A0H ;定义DA接口芯片地址 12A0 B0 FF START: MOV AL,0FFH ;定义起始地址 12A2 BA 00 80 DACON1: MOV DX,8000h 12A5 EE OUT DX,AL 12A6 B9 00 04 MOV CX,0400H ;延时 12A9 E2 FE DAC02: LOOP DACO2 12AB F6 D0 NOT AL ;数字量FF取反变成00 12AD EB
29、 F3 JMP DACON1 ;循环转换以得到方波 12AF CODE ENDS END START 13实验三 DA转换实验(二) 一、实验目的 进一步掌握数模转换的基本原理。 二、实验内容 1硬件原理图见图4-2。 2硬件线路连接同实验二。 3产生锯齿波程序 0832芯片输出产生锯齿波,只须由AL中存放数据的增减来控制。当AL中数据从00逐渐增加到FF产生溢出,再从00增大到FF,不断循环,从而产生连续不断的锯齿波。 4软件框图 三、实验步骤 1接线同实验二 2运行实验程序 系统显示执行符“”。 3用示波器测量08321右上方AOUT,应有锯齿波输出。 CODE SEGMENT ASSUM
30、E CS:CODE DAPORT EQU 8000h ORG l2B0H ;定义DA接口芯片地址 12B0 EB 01 90 START: JMP DACONTORL ;数字量FF送0832转换 12B3 BA 00 80 DACONTOR1:MOV DX,DAPORT 12B6 B0 00 MOV AL,00H ;延时 12B8 EE DACON1: OUT DX,AL 12B9 FE C0 INC AL ;数字量加1 12BB EB FB JMP DACON1 ;循环转换得到锯齿波 12BD CODE ENDS END START 14实验四 8255A并行口实验(一) 一、实验目的 1掌
31、握8255A和微机接口方法。 2掌握8255A的工作方式和编程原理。 二、实验内容 18255A芯片简介 8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作: 方式0:基本输入输出方式 方式1:选通输入输出方式 方式2:双向选通工作方式 2硬件原理图如图4-3 图 4-3 3硬件线路连接 (1)8255A芯片A口的PA0 PA7依次和开关量输入K1K8相连。 (2)8255A芯片B口的PB0 PB7依次接L1L8。 4编程提示 使8255A端口A工作在方式0并作为输入口,读取K1 K8个开关量,PB口工作
32、在方式0作为输出口。 5软件框图 15三、实验步骤 1按图4-3连好实验线路。 2运行实验程序。 系统显示执行提示符“”,拨动K1 K8,L1 L8会跟着亮灭。 CODE SEGMENT ASSUME CS:CODE =FF2B IOCONPT EQU 0FF2BH ;8255各寄存器地址 =FF29 IOBPT EQU 0FF29H =FF28 IOAPT EQU 0FF28H ORG 12C0H 12C0 B0 90 START: MOV AL,90H ;写8255控制字 12C2 BA 2B FF MOV DX,IOCONPT ;A口输入,B口输出 12C5 EE OUT DX,AL 1
33、2C6 90 NOP 12C7 90 NOP 12C8 90 NOP 12C9 BA 28 FF IOLED1: MOV DX,IOAPT ;读A口数据 12CC EC IN AL,DX 12CD BA 29 FF MOV DX,IOBPT 12D0 EE OUT DX,AL ;送B 口显示 12D1 B9 FF FF MOV CX,0FFFFH 12D4 E2 FE DELAY: LOOP DELAY ;延时 12D6 EB Fl JMP IOLED1 ;返回 12D8 CODE ENDS END START 16实验五 8255A并行口实验(二) 一、实验目的 掌握通过8255A并行口传输
34、数据的方法,以控制发光二极管的亮与灭。 二、实验内容 1硬件原理图如图4-4 图 4-4 2硬件线路连接 8255A PC0 L3 PC1 L7 PC2 L11 PC3 L15 PC4 L2 PC5 L6 PC6 L10 PC7 L14 PB4 L1 PB5 L5 PB6 L9 PB7 L13 3软件框图 4编程提示 (1)通过8255A控制发光二极管,PB4 PB7对应黄灯,PC0 PC3对应红灯,PC4 PC7对应绿灯,以模拟交通路灯的管理。 (2)要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口
35、的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上17述过程。 (3)程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。 (4)各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。 三、实验步骤 1按图4-4连好实验线路 2运行实验程序 同时L1 L15发光二极管模拟交通灯显示。 CODE SEGMENT ASSU
36、ME CS:CODE =FF2B IOONPT EQU 0FF2BH ;定义8255各寄存器地址 =FF28 IOAPT EQU 0FF28H =FF29 IOBPT EQU 0FF29H =FF2A IOCPT EQU 0FF2AH ORG l2E0H ;定义起始地址 12E0 B0 82 START: MOV AL,82H 12E2 BA 2B FF MOV DX,IOCONPT ;写控制字,三个口均方式0 12E5 EE OUT DX,AL ;B口为输入,A及C口输出 12E6 BA 29 FF MOV DX,IOBPT ;读PB口数据存0601H单元 12E9 EC IN AL,DX
37、12EA A2 01 06 MOV BYTE PTR DS:0601H,AL 12ED BA 2B FF MOV DX,IOCONPT ;写方式控制字均为输出 12F0 B0 80 MOV AL,80H 12F2 EE OUT DX,AL 12F3 BA 29 FF MOV DX,IOBPT ;置PB口高四位,熄黄灯 12F6 A0 01 06 MOV AL,DS:060lH 12F9 0C F0 OR AL,0F0H 12F8 EE OUT DX,AL 12FC BA 2A FF MOV DX,IOCPT 12FF B0 F0 MOV AL,0F0H ;使PC0PC3为0,PC4PC7为1
38、1301 EE OUT DX,AL ;即点亮红灯,熄灭绿灯 1302 E8 5D 00 CALL DELAY1 ;延时 1305 B0 A5 IOLED0: MOV AL,10100101B ;使1,3路口绿灯亮, ;同时2,4路口红灯亮 1307 BA 2A FF MOV DX,IOCPT 130A EE OUT DX,AL 130B E8 54 00 CALL DELAYl ;延时 130E E8 51 00 CALL DELAYl 1311 0C F0 OR AL,0F0H ;灭,3路口绿灯 1313 EE OUT DX,AL 1314 B9 08 00 MOV CX,8H ;设置数器值
39、为8 1317 BA 29 FF IOLED1: MOV DX,IOBPT 131A A0 01 06 MOV AL,DS:0601H 131D 24 AF AND AL,10101111B ;点亮1,3路口黄灯 131F EE OUT DX,AL 1320 E8 4C 00 CALL DELAY2 ;延时较短时间 1323 0C 50 OR AL,01010000B ;灭1,3路口黄灯 1325 EE OUT DX,AL 1326 E8 46 00 CALL DELAY2 ;延时较短时间 1329 E2 EC LOOP IOLED1 ;黄灯闪烁8次 18132B BA 2A FF MOV D
40、X,IOCPT 132E B0 F0 MOV AL,0F0H ;点亮4个红灯,灭4个绿灯 1330 EE OUT DX,AL 133l E8 3B 00 CALL DELAY2 ;延时 1334 B0 5A MOV AL,01011010B ;使1,3路口绿灯亮, ;同时2,4路口红灯亮 1336 EE OUT DX,AL 1337 E8 2800 CALL DELAY1 ;延时 133A E8 2500 CALL DELAY1 133D 0C F0 OR AL,0F0H ;灭2,4路口绿灯 133F EE OUT DX,AL 1340 B9 08 00 MOV CX,8H ;置计数初值 13
41、43 BA 29 FF IOLED2: MOV DX,IOBPT 1346 A0 01 06 MOV AL,DS:0601H 1349 24 5F AND AL,01011111B ;点亮2,4路口黄灯 134B EE OUT DX,AL 134C E8 20 00 CALL DELAY2 ;延时 134F 0C A0 OR AL,10100000B ;灭2,4路口黄灯 1351 EE OUT DX,AL 1352 E8 1A 00 CALL DELAY2 ;延时 1355 E2 EC LOOP IOLED2 ;黄灯闪烁8次 1357 BA 2A FF MOV DX,IOCPT 135A B0
42、 F0 MOV AL,0F0H ;点亮4个红灯,灭4个绿灯 135C EE OUT DX,AL 135D E8 0F 00 CALL DELAY2 ;延时 1360 EB A3 JMP IOLED0 ;循环 1362 50 DELAY1: PUSH AX 1363 51 PUSH CX ;延时子程序 1364 B9 30 00 MOV CX,0030H 1367 E8 0500 DELY2: CALL DELAY2 136A E2 FB LOOP DELY2 136C 59 POP CX 136D 58 POP AX 136E C3 RET 136F 51 DELAY2: PUSH CX 13
43、70 B9 00 80 MOV CX,8000H 1373 E2 FE DELA1: LOOP DELA1 1375 59 POP CX 1376 C3 RET 1377 CODE ENDS END START 19实验六 定时器计数器 一、实验目的 1学会8253芯片和微机接口原理和方法。 2掌握8253定时器计数器的工作方式和编程原理。 二、实验内容 18253芯片介绍 8253是一种可编程定时计数器,有三个十六位计算器,其计数频率范围为0 2MHz, 用+5V单电源供电。 8253的功能用途: (1)延时中断 (5)实时时钟 (2)可编程频率发生器 (6)数字单稳 (3)事件计数器 (7
44、)复杂的电机控制器 (4)二进制倍频器 8253的六种工作方式: (1)方式0:计数结束中断 (4)方式3:方波频率发生器 (2)方式1:可编程频率发生 (5)方式4:软件触发的选通信号 (3)方式2:频率发生器 (6)方式5:硬件触发的选通信号 2硬件原理图如图4-5 图 4-5 3硬件线路连接 (1)8253的GATE0接+5V (2)8253的CLK0插孔接分频器74LS393(左上方)的T2插孔,分频器的频率源为8.0MHz。 4编程提示 8253的0号通道工作在方式3,产生方波。 5软件框图 20三、实验步骤 1. 按图4-5连好实验线路 2运行实验程序 3用示波器测量8253的OU
45、T0输出插孔有方波产生。 CODE SEGMENT ASSUME CS:CODE ORG 1380H 1380 E8 01 90 START: JMP TCONT ;定义起始地址 TCONTRO EQU 0043H ;8253控制口和通道地址 TCON0 EQU 0040H 1383 BA 43 00 TCONT: MOV DX,TCONTRO ;写控制字,0通道输出方波 1386 B0 36 MOV AL,36H 1388 EE OUT DX,AL 1389 BA 40 00 MOV DX,TCON0 ;计初始值送0通道寄存器 138C B0 00 MOV AL,00H 138E EE OU
46、T DX,AL 138F B0 04 MOV AL,04H 1391 EE OUT DX,AL 1392 EB FE JMP $ ;结束 1394 CODE ENDS END START 21实验七 8259单级中断控制器实验 一、实验目的 1掌握8259中断控制器的接口方法。 2掌握8259中断控制器的应用编程。 二、实验内容 1硬件线路原理图如图4-6 图 4-6 2硬件线路连接 (1)8259的INT连X15(8088的INTR) (2)8259的INTA连X12(80881NTR) (3)“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平。 (4)8259的CS端接X22 3编程提示 (1)8259芯片介绍 中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通