(a)工作方式控制字 (b)C口按位置位/复位控制字
2、实验线路连接
(1) 8255A芯片PC0~ PC7插孔依次接K1~ K8。 (2) 8255A芯片PB0~PB7插孔依次接L1 ~ L8。 (3) 8255A的CS插孔接译码输出070H-07FH插孔。 3、实验步骤
(1) 按图5-8连好线路。 (2) 运行实验程序。
在系统显示\-86H\状态下,按任意键,显示器显示\-\。按GO键,显示 \XX\输入 F000 : B160再按EXEC键,在DVCC-8086H显示上显示器\-1\,同时拨动K1~K8,L1~L8
会跟着亮灭。
三、实验程序,要求写注释。
CODE SEGMENT ASSUME CS:CODE
IOCONPT EQU 0073H ;8255控制端口地址 IOCPT EQU 0072H ;C口端口地址 IOBPT EQU 0071H ;B口端口地址 CONTPORT EQU 00DFH DATAPORT EQU 00DEH ; 命令控制端口地址 DATA1 EQU 0500H ; 数据端口地址 START: JMP IOLED IOLED: CALL FORMAT ;调用初始化程序子程序
CALL LEDDISP ;调用显示“8255-1”子程序
MOV AL,82H ;设置8255控制字,B,C口的输入输出方式对调了 MOV DX,IOCONPT
OUT DX,AL ; 写进控制字 NOP ; 不操作,延时作用 NOP NOP
IOLED1: MOV DX,IOBPT ;读取PB口的值 IN AL,DX
MOV DX,IOCPT ;将PB口的值送PC口显示 OUT DX,AL MOV CX,0FFFFH DELAY: LOOP DELAY ;程序延迟循环模块 JMP IOLED1
LEDDISP:MOV AL,90H ;显示“8255-1”子程序 MOV DX,CONTPORT OUT DX,AL
MOV BYTE PTR DS:[0600H],00
LED1: CMP BYTE PTR DS:[0600H],07H; 判断显示为数是否满8位 JA LED2; 是跳到LED2
MOV BL,DS:[0600H]; /否,取高一位数据 MOV BH,0H
MOV AL,CS:[BX+DATA1] MOV DX,DATAPORT
OUT DX,AL ; 显示数据
ADD BYTE PTR DS:[0600H],01H JNZ LED1
LED2: RET ; 子程序返回
FORMAT: MOV BX,0 ;初始化程序子程序 MOV WORD PTR DS:[BX+0500H],4006H
ADD BX,2
MOV WORD PTR DS:[BX+0500H],4040H ADD BX,2
MOV WORD PTR DS:[BX+0500H],6D6DH ADD BX,2
MOV WORD PTR DS:[BX+0500H],7F5BH RET CODE ENDS END START
一.实验目的与要求
1.学习8253编程定时/计数器的工作方式
2.掌握中断控制器8259A与微处理机接口的原理和方法 3.掌握中断控制器8259A的综合应用编程
二.实验内容
1.实验原理
用8253和8259现实数码管显示时钟。利用8253的定时器功能。8253有三个端口地址为48H,49H,4AH本实验采用8253的通道2,工作方式3(方波发生器方式)输入CLK2为1MHZ。先给8253的初值0C350H,循环记数。即一次记数完毕后,自动装入初值。输出OUT2作为8259的输入脉冲。8259有两个口地址,本实验为20H和21H,其中20H用来写ICW1,21H用来写ICW2、ICW4,本实验中8259为单片,边沿触发,采用3号中断源,即IR3和8259输出口OUT2相连,每过1/20秒接收到一个中断,向8259发出中断请求信号,如果电平信号不符合要求,则自动转到7号中断,显示“ERR”,CPU响应后,在中断处理程序中,对中断次数进行记数,记满20次,把时间缓冲区的时间加1,并将其输入到显示缓冲区,以便显示器显示更新后的时间。计数初值的计算:1/1000000*X=1/20,X=50000D=0C350H(用1MHZ信号产生1/20秒方波)。
2.实验线路连接
(1)8253A芯片的CLK2引出插孔连分频输出插孔1MHZ。 (2)8253A的GATE2接+5V。
(3)8259A的IR3插孔和8253的OUT2插孔相连。 3.程序流程框图
主程序 中断子程序
开始 开始 N 调用显示00-00-00 中断次数=20 次数加1 写8253控制字 写时间缓冲区 中断返回 填8259中断向量表 调用显示缓冲区 8259初始化 结束 开中断 等待中断 4.实验主要仪器设备和材料
PC机、DVCC-8086JH实验系统及连接导线。
5.实验方法、步骤及结果测试 (1)按图3—24连好线路。
(2)打开DVCC86H目录下的CLOCK子目录中的Eclock.asm。 (3)运行实验程序:
①按“调试”按钮(它包括‘编译’、‘联接’、‘传送’功能)。 ②按“运行”按钮。
在DVCC-8086H显示上显示器\—00—00\,然后开始计时。 三、
实验程序,要求写注释。