- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章单片机的人机接口讲解
第八章 单片机的人机接口 键盘接口 LED显示器接口 LCD显示器接口 8279专用键盘显示器 8.1 键盘接口 8.1.1 键盘的工作原理和扫描方式 1、独立式键盘 —— 独立式按键的每个键都有一根信号线与单片机电路相连,所有按键有一个公共地或公共正端,每个键相互独立互不影响。 2、矩阵式键盘 2、矩阵式键盘 3种键盘扫描方式 1、程序控制扫描方式——在主程序中用一段专门的扫描和读键程序来检查有无键按下,并确定键值。 2、定时扫描方式——利用单片机内的定时器来产生定时中断,然后在定时中断的服务程序中扫描和读键,检查有无键按下,并确定键值。 3、中断扫描方式——当有键按下时由相应的硬件电路产生中断信号,单片机在中断服务程序中扫描和读键,再次检查有无键按下,并确定键值。 8.1.2 键盘的接口电路 2、用8255实现的键盘接口电路 键盘处理程序的步骤 判断键盘中有无键按下。单片机先使8255A的A口的各位PA0~PA3均为低电平,再读C口(PC0~PC3)。若C口的各位不全为高电平 ,则表示有键按下。 消除抖动。先延时10ms,然后再读C口,此时,若C口各位仍不全为高电平,说明确实有键按下。 求键号。过程如下:先置PA0=0,PA1~PA3均为1,再读C口,由C口低电平的位置便可确定按下键的位置。例如,若在PA0=0时PC0=0,那么是0号键按下。键码值高4位是键所在行号,低4位是键所在列的号码。 8.1.3 键盘输入程序设计方法 扫描与读键程序: (1.判断有无键按下子程序) JUDGE: MOV DPTR,#7FDCH ;8255A口地址 MOV A,#00H MOVX @DPTR,A ;A口输出低电平 INC DPTR INC DPTR MOVX A,@DPTR ;从C口读数据 CPL A ANL A,#0FH ;取低四位 RET (2.消除抖动) KEY1:ACALL JUDGE ;看有否键按下 JNZ LK1 ;有键按下,跳转至按键处理 ACALL DELAY AJMP KEY1 ;无键则延时后再扫描 LK1 :ACALL DELAY ;延时去抖动 ACALL JUDGE ;再看有否键按下 JNZ LK2 ;有键,则取键号 ACALL DELAY AJMP KEY1 ;无键则延时后再扫描 (3.读键号) LK2 :MOV R2,#0FEH ;扫描列线 MOV R4,#00H ;列号 LK3 :MOV DPTR,#7FDCH MOV A,R2 MOVX @DPTR,A ;送0FEH至A口 INC DPTR INC DPTR MOVX A,@DPTR ;从C口读入 JB ACC.0,LINE1 ;第0行为1表示无键,则转1行 MOV A,#00H AJMP LKP LINE1: JB ACC.1,LINE2 ;第1行为1表示无键,则转2行 MOV A,#04H AJMP LKP LINE2: JB ACC.2,LINE3 ;第2行为1表示无键,则转3行 MOV A,#08H AJMP LKP LINE3: JB ACC.3,NEXT ;第3行为1表示无键,则转NEXT MOV A,#0CH LKP: ADD A,R4 PUSH ACC NT: ACALL DELAY ACALL JUDGE JNZ NT POP ACC ;键值存ACC RET NEXT:INC R4 MOV A,R2 JNB ACC.3,KND ;判断整个4×4键盘是否扫描结束 RL A MOV R2,A ;扫描下一列 AJMP LK3 KND:AJMP KEY1 8.2 LED显示器接口 LED显示器是由发光二极管构成的字段组成的显示器 分类:8段和16段LED显示器 连接方法:共阴极和共阳极 LED显示器的工作原理 1.静态显示电路 1.静态显示程序 DIR:SETB P3.3 MOV R7 ,#08H ;循环次数为8次
文档评论(0)