- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章_常用IO接口芯片
第一节 串行通信基础 一、串行通信分类 数据是以字符为单位组成字符帧传送的。发送端和接收端由各自独立的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。 位于字符帧开头,仅占一位,为逻辑低电平“0”,用来通知接收设备,发送端开始发送数据。线路上在不传送字符时应保持为“1”。接收端不断检测线路的状态 ,若连续为“1”以后又测到一个“0”,就知道发来一个新字符,应马上准备接收。 数据位(D0~D7)紧接在起始位后面,通常为5~8位,依据数据位由低到高的顺序依次传送。 奇偶校验位只占一位,紧接在数据位后面,用来表征串行通信中采用奇校验还是偶校验,也可用这一位(I/O)来确定这一帧中的字符所代表信息的性质(地址/数据等)。 位于字符帧的最后,表征字符的结束,它一定是高电位(逻辑“1”)。停止位可以是1位、1.5位、或2位。接收端收到停止位后,知道上一字符已传送完毕,同时也为接收下一字符作好准备 1.异步通信: 8254的引脚 8254的工作方式 1) 方式0(计数结束产生中断)(P172) 2)方式1(可编程单稳) 3)方式2(频率发生器) 4)方式3(方波发生器) 5)方式4(软件触发选通) 6)方式5(硬件触发选通) 6种工作方式的主要区别: (1)?输出波形不同 (2)?启动计数器的触发方式不同 (3)?计数过程中门控信号GATE对计数操作的影响不同 (4)?有的工作方式具备“初值自动重装”功能 方式0:计数结束中断 工作方式波形图 方式1:可编程单稳脉冲 工作方式波形图 方式2:频率发生器 工作方式波形图 方式3:方波发生器 工作方式波形图(计数值为偶数时) 方式4:软件触发的单脉冲发生器 方式5:硬件触发的单脉冲发生器 GATE功能表 8254控制字格式 读出控制字的标志之一 8254读出控制字格式 1 1 COUNT STATUS CNT2 CNT1 CNT0 0 1=选中计数器0 1=选中计数器1 1=选中计数器2 0=锁存计数器状态 0=锁存计数值 8254状态字格式 OUTPUT NULL COUNT RW1 RW0 M2 M1 M0 BCD OUTPUT:显示OUT引脚的输出状态 1=高电平 0=低电平 NULLCOUNT:表示计数初值是否已装入减1计数器 1=未装入 0=已装入,可以读取计数器 其余位同方式控制字的对应位意义 8254初始化编程步骤 第一步:向控制寄存器写入控制字,确定使用的计数器及工作方式。 第二步:向使用的计数器写入计数初值。 8254初始化编程举例 设8254端口地址为40H~43H,要求2#计数器工作在方式1,按BCD码计数计数初值为4000,试写出初始化程序段。 MOV AL,0A3H OUT 43H,AL MOV AL,40H OUT 42H,AL 思考:将8254端口地址改为1240H~1243H,要求2#计数器工作在方式1,二进制计数,计数初值为4321H,试写出初始化程序段。 读取当前计数值 用输入指令读取。因计数器为16位,所以分两次读。有3种方式:?? 1)利用GATE=0,两次读计数器端口,先低8位,后高8位。 2)向8254控制寄存器写入D7D6=计数器,D5D4=00锁存计数值,再两次读对应端口,依次读出计数值的低8位和高8位。 l?3)向控制寄存器写入读出命令 n?若读出命令仅锁存状态信息,则对计数器端口进行一次读,可读出状态信息。 n?若读出命令仅锁存当前计数值,则对端口读2次,依次读出计数值的低8位和高8位。 n??若同时锁存计数值和状态信息,则读3次,第一次读出状态,第二、三次依次读出计数值的低8位和高8位。 读取当前计数值举例 设8254端口地址为40H~43H,要求2#计数器工作在方式1,按BCD码计数计数初值为4000,试写出读取当前计数值的程序段。 思考:将8254端口地址改为1240H~1243H,要求2#计数器工作在方式1,二进制计数,计数初值为4321H,试写出读取当前计数值的程序段。 8254在IBMPC系列机上的应用 串行通信接口8251 1、串行通信基础知识 2、可编程接口芯片8251及其应用 并行数据通信: 各位数据同时传送,速度快,但数据线多,见图a; 串行数据通信:数据一位一位顺序传送,只用一对数据线,但通信速度慢,见图b; a b USB 串行 串行 并行 方式2双向引
文档评论(0)