个并行接口,用+5V单电源供电,能在以下三种方式下工作: 方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式 方式2:双向选通工作方式
⒉ 使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB口工作在方式0作为输出口。
3、主要仪器设备
硬件环境:较高性能微型计算机一台
软件环境:WINDOWS XP 操作系统; emu8086编译软件; proteus 仿真软件 4、实验内容
让8255A端口A工作于方式1,端口B工作于方式0。要求端口B能实时显示端口A输入的数据。系统连接如下图所示:
附图 3 并行通信接口8255工作于方式1
说明: 8255控制寄存器端口号为406H,PC4引脚为端口A的选通信号,低电平有效。程序运行时,需要按下小按键,端口A才能接收开关传来的信号。
5、实验过程(步骤) 1,确定8255A的方式字 2,讨论8255A的4个端口号 3,编写程序,并生成可执行文件 4,打开仿真电路图,加载可执行文件 5,仿真运行程序
说明: 8255控制寄存器端口号为406H
6、程序如下: CODE SEGMENT START: MOV AL,0B8H MOV DX,406H ;控制寄存器端口 OUT DX,AL WAIT_FOR_DATA: MOV DX,404H IN AL,DX ;读端口C TEST AL,00100000B;测试PC4,看选观信号是否有效 JZ WAIT_FOR_DATA MOV DX,400H IN AL,DX ;读端口A的数据 MOV DX,402H OUT DX,AL ;送端口B显示 JMP WAIT_FOR_DATA ENDS
END START
实验六 可编程定时器/计数器(8253)
1、实验目的和要求
掌握8253芯片和微机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。
2、实验原理
8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。
8253的工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。
进入工作方式3,OUTi输出低电平, 装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计
数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列; 若n为奇数, 则OUTi端输出周期为n×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。
3、主要仪器设备
硬件环境:较高性能微型计算机一台
软件环境:WINDOWS XP 操作系统; emu8086编译软件; proteus 7.6 仿真软件 4、实验内容
要求计数器2工作于模式1(暂稳态触发器),计数初值为1250;计数器0工作于方式3(方波模式),输出一个1KHz的方波, 8253的输入时钟为1MHz,计数初始值格式为BCD。8253与系统的连接如图所示:
附图 4 计数器8253与8086连接原理图
说明:为了能看到正常的实验效果,实际时钟可调为100K或更小。8253控制寄存器端口号为206H
5、实验步骤
1,确定8253的方式字,以及计数初始值 2,讨论8253的4个端口号
3,编写程序,并生成可执行文件 4,打开仿真电路图,加载可执行文件 5,仿真运行程序
6、程序代码
CODE SEGMENT START: ;计数器0初始化,方波方式 MOV DX,206H ;方波发生1KHz,时钟1MHz MOV AL,00110111B ;计数器0,方式3,计数初值BCD格式 OUT DX,AL MOV DX,200H MOV AL,24H;送计数初值低8位(计数初值为1024)
OUT DX,AL MOV AL,10H;送计数初值高8位(计数初值为1024) OUT DX,AL
;计数器2初始化, 可编程单稳态输出方式 MOV DX,206H MOV AL,10110011B ;计数器2,方式1,计数初值BCD格式 OUT DX,AL MOV DX,204H MOV AL,00H;送计数初值低8位(计数初值为1250) OUT DX,AL MOV AL,8H;送计数初值高8位(计数初值为1250) OUT DX,AL CODE ENDS END START
运行结果如下图所示
附图 5 输出方波
实验七 用8251实现串行通信
1、实验目的和要求
相关推荐: