新微型计算机接口技术(第二版) 教学课件 古辉 刘均 雷艳静 第6章_并行接口.ppt

新微型计算机接口技术(第二版) 教学课件 古辉 刘均 雷艳静 第6章_并行接口.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 方式1的状态字 状态字为查询提供状态标志位,如IBF、OBF、INTE 和 INTR等。 中断方式时,8255A不能直接提供中断向量,此时CPU可通过读状态字中的 INTRA 和 INTRB 位来确定到底是A口还是B口产生了中断。 状态字通过读C口获得。注意:从C口读出的状态字与C口外部引脚的状态无关。 * * 方式2——双向输入/输出 只适用于A口。 该方式下CPU与外设间可分时进行双向数据传送,使用数据线PA7 ~ PA0,输入输出时数据均锁存。 可采用中断方式或查询方式。 各联络信号的定义、时序关系和状态字,相当于方式1中输入和输出的叠加。 * * PC6 PC7 PC3 PA7~PA0 INTE1 OBFA INTRA ACKA PC4 PC5 IBFA STBA INTE2 D7 ~ D0 WR RD + 方式1输入:453 方式1输出:763 组合:45 76 3 方式1输入: INTE = PC4 = INTE2 方式1输出: INTE = PC6 = INTE1 只要输入、输出中有任意一个发出请求,则 INTRA = 1 方式2的状态字 方式2的状态字是方式1下输入和输出状态位的组合。 * * 第六章 并行接口 8255A可编程并行接口 2 PC 机中的并行接口应用 3 并行接口基本概念 1 内部结构、外部引脚、 8255A编程:方式选择控制字、C口按位置位/复位控制字 工作方式:方式0,方式1和方式2 IBM PC/XT机 仅用一片8255A,端口地址60H~63H。 工作在方式0。 端口A:输入,用来读取键盘扫描码。 端口B:输出,用来控制键盘、RAM、I/O通道检测、扬声器等。 端口C:输入。低4位读取系统配置开关DIP的值;高4位读取系统状态测试位。 * * IBM PC/AT机 80286以上的微机,将8255A集成在芯片内部。但仍保留其端口地址60H~63H和相应功能。 A口读键盘码,B口用于键、扬声器等控制。 PB1/PB0 = 11:扬声器发声。频率由8253的T2决定。 PB1/PB0 = 0×或×0:扬声器关闭。 * 【例6-10】利用定时器8253/8254的工作原理和8255A扬声器控制电路原理,编写一个简易乐器的程序。要求: 当按下1~8数字键时,分别发出连续的中音1~7和高音I(对应的频率依次为 524Hz、588Hz、660Hz、698Hz、784Hz、880Hz、988Hz 和1048Hz)。 当按下其它键时暂停发音。 当按下ESC键(ASCII码为1BH)时,程序结束。 * * DATA SEGMENT TABLE DW 2277, 2138, 1808, 1709,1522,1356,1208, 1139 ATA ENDS ;对应中音1~7和高音I的定时器计数值 CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,0B6H ;设置定时器2工作方式 OUT 43H,AL AGAIN: MOV AH, 1 ;等待按键 INT 21H CMP AL,‘1’ ;判断是否为数字1~8 JB NEXT CMP AL,‘8’ JA NEXT * SUB AL,30H ;将1~8的ASCII码转换为二进制数 SUB AL,1 ;将数字1~8变为0~7,以便查表 XOR AH,AH SHL AX,1 ;乘以2 MOV BX,AX ;计数值表是16位数据 MOV AX,TABLE[BX] OUT 42H,AL ;设置定时器2的计数值 MOV AL,AH OUT 42H,AL IN AL,61H ;打开扬声器声音 OR AL,03H ;使PB1/PB0=11,其他位不变 OUT 61H, AL JMP AGAIN ; 连续发声,直到按下另一个键 * NEXT:PUSH AX IN AL,61H ;不是1~8,则关闭扬声器 AND AL,0FCH ; 使PB1/PB0=00B OUT 61H,AL POP AX CMP AL,1BH ;判断是否为ESC键 (1BH) JNE AGAIN ;不是ESC则继续 CODE ENDS END START * 第六章 并行接口 8255A可编程并行接口 2 PC

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档