输入/输出系统

接口电路作用:CPU通过接口电路与外部设备进行信息交换
接口电路需要具备的功能:
1. 数据缓冲功能 (接口电路设有缓冲器或锁存器,已解决高速主机与低速外设的矛盾
2. 联络功能 (接口电路应提供外设的状态
3. 寻址功能 (接口电路应有I/O口地址译码器,以产生片选信号或者端口寄存器的选中信号
4. 数据转换功能 (CPU处理的是并行数据,而有些外设只能进行串行处理,这时接口应具有“串——并”转换功能
5. 中断管理功能

端口概念:与CPU交换信息的寄存器
端口分类:数据端口,状态端口和控制端口
数据端口:存放数据信息,数据进过接口电路的数据端到达数据总线,被CPU读取
状态端口:存放端口状态信息,反应外设当前工作状态信息
控制端口:存放控制信息,控制外设工作
数据信息,状态信息和控制信息是不同的性质的信息,必须分别传送
端口编址方式:独立编址和统一编址
微机系统与I/O端口信息交换方式有:
无条件传送,查询方式,中断方式,DMA方式

8254定时器/计数器
结构:三个16位计数器,控制寄存器,计数器外部引脚
8254有6种工作方式
方式0——方式5
重点:方式2、方式3(包括计数过程、波形、周期和启动方式)
方式2、3(方波)初值自动重装,其余四种方式没有初值自动重装功能

8254控制字
D7D6 计数器选择
D7D6=00/01/10/11表示选择0/1/2计数器及读出控制字标志
D5D4 读写方式选择
D5D4=00/01/10/11表示锁存/高八位置零,读写低八位/低八位置零,读写高八位/先读写低八位,然后读写高八位
D3D2D1 工作方式选择
D3D2D1=000/001/X10/X11/100/101表示工作在方式0/1/2/3/4/5
D0 数制选择
D0=0时计数初值为二进制,减一计数器按二进制规律减一,初值范围0000H-FFFFH
D0=1时计数初值为BCD码,减一计数器按十进制规律减一,初值范围0000H-9999H

8254初始化编程
例:设8254端口地址为40H~43H,要求2号计数器工作方式1,BCD码计数,计数初值为十进制4000,试写出程序段

根据题意,BCD码计数,初值为4000,即为4000H
初值低八位为零,控制字设定读写高八位,低八位自动置零
则控制字为A3H

MOV AL,0A3H
OUT 43H,AL ;写控制字
MOV AL,40H
OUT 42H,AL ;写初值为4000

例:设PC 系统机外扩了一片8254 及相应的实验电路,口地址210H—213H,设CLK0 已接至8MHz时钟,为了能从OUT0 输出4KHz 的方波。编写8254初始化程序,其中假设0号定时计数器工作在二进制方式

根据题意 0号计数器以二进制方式计数,工作在方式三
控制字=00110110B
初值=fclk/fout=8MHz/4KHz=2000

I8254 PROC                 
  MOV DX,213H                   
  MOV AL,00110110B           
  OUT DX,AL                          
  MOV DX,210H                   
  MOV AX,2000                      
  OUT DX,AL                        
  MOV AL,AH                       
  OUT DX,AL                         
  RET
I8254 ENDP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值