收藏 分销(赏)

第10章参考答案.doc

上传人:pc****0 文档编号:7782142 上传时间:2025-01-16 格式:DOC 页数:4 大小:90KB
下载 相关 举报
第10章参考答案.doc_第1页
第1页 / 共4页
第10章参考答案.doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述
第10章 AT89S51与键盘、显示器、拨盘、打印机的接口设计 参考答案 1. 答:A. MAX7219是专用显示器芯片,不用于键盘;B.错:CH451芯片也可用于控制键盘;C.对: BUSY信号可作为查询信号或中断请求信号使用,但此时信号不用;E.错:LED数码管的字型码是可以变的,例如表10-1中的“a”段对应段码字节的最高位。“dp”段对应段码字节的最低位,字型码就改变了。 2. 答:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。消除按键抖动一般是采用软件或硬件去抖。软件去抖的原理:在第一次检测到有键按下时,该键所对应的行线是为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认为该行确实有键按下。 3. 答:静态显示时,数据是分开送到每一位LED上的。而动态显示则是数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,适合用在显示位数较多的场合。 4. 答:80H(共阴极);7FH(共阳极)。 5. 答:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。 6. 答:先对P1口高四位送低电平,读取P1口低四位的值;再对P1口低四位送低电平,读取P1口高四位的值,将两次读到的值组合在一起就得到了按键的特征码,在根据特征码查找键值。 KEYIN: MOV P1,#0FH ;反转读键 MOV A,P1 ANL A,#0FH MOV B,A MOV P1,#0F0H MOV A,P1 ANL A,#0F0H ORL A,B CJNE A,#0FFH,KEYIN1 RET ;未按键 KEYIN1: MOV B,A ;暂存特征码 MOV DPTR,#KEYCOD ;指向特征码表 MOV R3,#0FFH ;顺序码初始化 KEYIN2: INC R3 MOV A,R3 MOVC A,@A+DPTR CJNE A,B,KEYIN3 MOV A,R3 ;找到,取顺序码 RET KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查 RET ;已查完,未找到,以未按键处理 KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表 DB 0D7H,0DBH,0DDH,0DEH DB 0B7H,0BBH,0BDH,0BEH DB 77H,7BH,7DH,7EH 7. 答:(1)编程扫描方式:当单片机空闲时,才调用键盘扫描子程序,反复的扫描键盘,等待用户从键盘上输入命令或数据,来响应键盘的输入请求。(2)定时扫描工作方式:单片机对键盘的扫描也可用定时扫描方式,即每隔一定的时间对键盘扫描一次。(3)中断工作方式:只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。 8. 答:DB0-DB7:数据线,单向传输,由单片机输入给打印机。STB(STROBE):数据选通信号。在该信号的上升沿,数据线上的8位并行数据被打印机读入机内锁存。BUSY:打印机忙状态信号。当该信号有效(高电平)时,表示打印机正忙于处理数据。此时,单片机不得使STB信号有效,向打印机送入新的数据。ACK:打印机的应答信号。低电平有效,表明打印机已取走数据线上的数据。ERR:出错信号。当送入打印机的命令格式出错时,打印机立即打印1行出错信息,提示出错。在打印出错信息之前。该信号线出现一个负脉冲,脉冲宽度为30us。 单片机与打印机相连时,分为直接相连(图10-27)和通过扩展的并行I/O口82C55连接(图10-28)。直接相连时(图10-27),打印机在输入电路中有锁存器,在输出电路中有三态门控制,。没有读、写信号,只有握手线、BUSY(或),用一根地址线来控制写选通信号STB和读取BUSY引脚状态。图10-28所示为通过扩展的并行I/O口82C55连接的打印机接口电路。采用查询法,即通过读与82C55的PC0脚的相连的BUSY状态,来判断送给打印机的一个字节的数据是否处理完毕。也可用中断法(BUSY直接与单片机的引脚相连)。 9.答:本程序采用外部中断来进行数据打印,先打印一个数据,当BUSY线从高电平变成低电平时,在打印下一个数据 ORG 0000H LJMP MAIN ORG 0003H LJMP IN ORG 0030H MAIN: SETB EX0 ;允许外部中断 SETB IT0 SETB EA MOV R0,#7FH ;控制口地址 MOV A,#81H ;控制字 MOVX @R0,A MOV R1,#20H ;数据区首地址 MOV R2,#19 ;计数器 MOV A,@R1 ;打印内容 MOV R0,#7CH ;A口地址 MOVX @R0,A MOV R0,#7FH MOV A,#0EH MOVX @RO,A ;PC7=0 MOV A,#0FH MOVX @R0,A ;PC7=1 SJMP $ IN: DJNZ R2,EX ;20个数据都结束了吗? INC R1 ;指向下一个数据 MOV A,@R1 MOV R0,#7CH MOVX @R0,A MOV R0,#7FH MOV A,#0EH MOVX @RO,A MOV A,#0FH MOVX @R0,A EX: RETI ·3·
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服