- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本资源来源于互联网,版权为原作者所有。若侵犯到您的版权,请提出指正,我们将立即删除。并行输入输出接口g
例3:8255A工作于方式1输出,作为与中断方式工作的打印机接口, 如图5.25所示。 A口作为打印输出数据口,工作于方式1。此时C口的PC7、PC6和PC3是 联络信号。设中断请求接到8259A的IR3,对应的中断类型号为0BH;8259A的初始化在主机系统开启时完成。 * 字符输出操作由中断服务程序完成,设8255的口地址同例1,则主 程序及中断服务子程序如下: 主程序:MAIN: mov al, 0A0H ;A组工作于方式1输出 out 0D3H, al mov ax, 0 mov ds, ax mov bx, 0BH*4 ;求中断类型0BH在矢量表 中的起始地址 mov ax, offset INTHAND;取中断矢量INTHAND 的偏移地址 mov word ptr[bx], ax ;在中断矢量表中设置中断 矢量INTHAND的偏移地址 inc bx inc bx * mov ax, seg INTHAND;取中断矢量INTHAND的段地址 mov word ptr[bx], ax ;在中断矢量表中设置中断矢量 INTHAND的段地址 mov al, 0DH ;使PC6=1,允许8255A中断 out 0D3H, al sti ;开放CPU中断 … 中断处理子程序: INTHAND: … ;保存现场 mov al, [si] ;SI为打印字符缓冲区指针 out 0D0H, al ;字符送端口A … ;恢复现场 iret ;中断返回 * 例4:8255A用作键盘接口,如图5.26所示。端口 A地址为80H, B口为81H,控制口为83H。A口作输出口,B口作输入口,其 工作原理采用两次扫描,第一次将PA3-PA0输出均为低电平, 由PB3-PB0读入,判断是否有一个低电平,若没有,则继续第 * 一次扫描;若有低电平,则用软件消除抖动,延时10ms- 20ms后,再去判别是否有低电平,若没有,说明可能是 干扰,必须重新实现第一次扫描,否则,经10ms-20ms后, 仍然判别出有低电平,则确认有键按下;接着实现第二次扫 描,判别是哪个键按下,这采用逐行扫描法。先扫第0行, 即A口PA3-PA0输出1110,然后从B口读入,判别是否有低电 平,若有,则可设别出0行上哪一列上有键按下;如果没有, 则扫第二行,即A口PA3-PA0输出1101,然后从B口读入,依 上述方法判别,直至扫描最后一行,总可以找到按下的某一 键。 其键盘扫描程序如下: ;判别是否有键按下 MOV AL,82H;8255A初始化,A口输出,B口输 OUT 83H,AL;入,均工作在方式0 * MOV AL,00H ;使PA3-PA0=0000 OUT 80H,AL LOOA:IN AL,81H ;读B口 AND AL,0FH ;屏蔽高4位 CMP AL,0FH ;判断是否有键按下 JZ LOOA ;结果为0,无键按下,转LOOA CALL D20MS ;结果不为0,有键按下,延时20ms IN AL,81H ;第2次读B口 AND AL,0FH CMP AL,0FH ;判别B口是否有低电平输入 JZ LOOA ;若B口没有低电平输入,则是干扰, ; 转LOOA,否则,有键按下,执行下面程序 ;判断是哪个键按下? START:MOV BL,4 ;行数送BL MOV BH,4 ;列数送BH MOV AL,0FEH ;D0=0,准备先扫描第0行 MOV CL,0FH ;键盘屏蔽码送CL MOV CH,0FFH ;CH中存放起始键号 * LOP1:OUT 80H,AL ;A口输出,扫描一行 ROL AL,1 ;修改扫描码,准备扫描下一行 MOV AH,AL ;暂时保存
您可能关注的文档
最近下载
- [电网公司岗位职责.doc VIP
- 冶金工业自动化仪表与控制装置安装通用图册(上册).docx
- 体检中心入职体检报告范本.pdf VIP
- 《中华人民共和国工会法》PPT学习课件.pptx VIP
- 应聘登记表-广东水电二局股份有限公司.DOC VIP
- 第一章有理数全章综合训练 (含答案)2025-2026学年人教版七年级数学上册.docx
- 大学咖啡厅经营权投标书.docx VIP
- (人教新目标版)2014秋新目标英语九年级:Unit 12 Life is full of the unexpected 能力提升专练.doc VIP
- castleman病的课程课件.ppt VIP
- 高考英语3500词频表.pdf VIP
文档评论(0)