完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
IO接口和IO端口有何关系?
IO端口的编址方式有哪几种? IO输入输出的基本方式是什么? 定时/计数器8253和并行接口芯片8255A是如何工作的? |
|
相关推荐
1个回答
|
|
IO设计基本理论
1. IO接口和IO端口 IO端口是IO接口内可由CPU进行读写操作的各种寄存器。可分为数据端口、状态端口和控制端口。 2. IO端口的编址方式 统一编址:IO端口与存储器共享一个地址空间; 独立编址:IO端口与存储器有相互独立的地址空间。 3. IO输入输出的基本方式 无条件传送: 默认IO设备永远处于准备好状态,无需CPU读取其状态; 只需要设计数据端口,无需设计状态端口和控制端口; 程序查询法: 程序中不断查询IO口状态,当IO设备准备好之后再进行操作; 优点:实现电路简单;缺点:程序效率低。 IO中断法: IO设备准备好之后向CPU提出中断,CPU在中断相应程序中对IO进行操作。 最优的方法。 MDA法: 利用外部硬件操控IO设备。 定时/计数器8253 1. 基本结构 内含三个独立的计数器:计数器0、计数器1和计数器2; 每个计数器可以通过其方式控制寄存器进行单独控制; 总共占用4个端口地址,每个计数器各占用一个端口地址,三个控制字共用一个端口地址; 每个计数器内部有四个寄存器:控制字、初值寄存器、计数寄存器、输出锁存器; 控制字为一个字节,高2位控制选择计数器,次2位控制读写规则,再次3位控制工作方式,最后1位控制数据类型: 当RL1 RL2为00时,为计数寄存器锁存命令,将此时CE的值锁存到OL中,接下来再读相应计数器端口时可以读走锁存在OL中的值,读完之后自动解锁; 2. 工作方式分析: (1)000 计数达到终值而中断: 先向8253写入方式控制字,再写入时常数,此时OUT变低电平; 写入时常数之后,下一个CLK脉冲CR内容被置入CE中; 在后续CLK脉冲中,进行CE减一计数,当计数到0时OUT输出一个高电平(可用作中断请求); GATE控制计数,当GATE=1时允许计数,当GATE=0时暂停计数。 (2)001 单脉冲形成: 先向8253写入控制字,再写入时常数,此时OUT为高电平; 当GATE端检测到一个上升沿的时候,触发单脉冲形成,OUT变低,且CR被置入CE中; 在后续CLK脉冲中,进行CE减一计数,当计数到0时OUT变高电平; 等待下一个GATE信号到,重复上述操作。 (3)*10 分频器: 先向8253写入控制字,再写入时常数,此时OUT为高电平; 写入时常数之后,下一个CLK脉冲CR内容被置入CE中,在后续CLK脉冲中,进行CE减一计数; 当CE减到01h时,在OUT端输出一个负脉冲,并重新将CR置入CE中开始写一个循环; 正常情况下,时常数为N,则输出信号为时钟的N分频; GATE控制计数,当GATE=1时允许计数,当GATE=0时暂停计数。 (4)*11 方波产生器: 先向8253写入控制字,再写入时常数,此时OUT为高电平; 若置入的为奇数,将在CR置入CE时将其-1变成偶数; 时常数置入完毕的下一个CLK脉冲期间,CR置入CL并开始-2计数;当CE计数到0时OUT变低,同时再次将CR置入CE中进行-2计数,当CE为0时OUT再变高,从而生成方波; 正常情况下,时常数为N,则输出信号为时钟的N分频方波信号; GATE控制计数,当GATE=1时允许计数,当GATE=0时暂停计数。 并行接口芯片8255A 1. 基本结构和概念 计算机接口的分类 并行接口:数据在多根线上同时传送; 串行接口:数据按位顺序在一根线上分时传送。 8255A的端口:三个数据端口一个控制端口 有三个对应的端口数据寄存器:PA0-PA7,PB0-PB7,PC0-PC7; 端口C又可以分为高四位和第四位,分别位于A组和B组中,作为控制辅助; 总共占用四个端口地址:三个端口寄存器和一个控制寄存器。 2. 控制字管理 当A1A0为11时,表示访问控制寄存器; 可以通过控制字控制A组、B组工作方式,端口A、B方向,端口C高四位、低四位方向,端口C各位的值。 控制字各位的含义: 如果控制字最高位写1,则是在选择工作方式、如果写0,则是在对PC口进行位管理; 3. 工作方式管理 方式0:基本的输入/输出; 方式1:有联络信号的输入/输出(PA、PB)。 |
|
|
|
只有小组成员才能发言,加入小组>>
4345个成员聚集在这个小组
加入小组3287 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4232 浏览 1 评论
4238 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:31 , Processed in 1.148724 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号