单片机原理及应用.ppt

单片机原理及应用.ppt

ID:48139126

大小:1.41 MB

页数:138页

时间:2020-01-17

单片机原理及应用.ppt_第1页
单片机原理及应用.ppt_第2页
单片机原理及应用.ppt_第3页
单片机原理及应用.ppt_第4页
单片机原理及应用.ppt_第5页
资源描述:

《单片机原理及应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机原理及应用第七章MCS-51应用系统的研制和调试本章内容键盘与显示接口技术步进电机的单片机控制单片机温度控制系统§7.1键盘和显示接口技术7.1.1键盘接口技术7.1.2显示接口技术7.1键盘和显示接口技术在单片机应用系统中,键盘用于输入数据、代码和命令;显示器用来显示单片机的键入值、控制过程中间信息及运算结果等。键盘和显示器是实现人机对话,两个必不可少的功能配置。下面介绍键盘、LED显示器及LCD显示器与单片机(MCU)的接口技术。7.1.1键盘接口技术键盘分两类:独立连接多键盘和行列式键盘。独立式按键结构键盘独立式按键结构的键盘是最简单的键盘电路,每个键独立接入一根输入线。

2、这种键盘的优点是结构简单、使用十分方便,目前这种结构的键盘应用还相当普遍,这种键盘的缺点是随着键数数量的增加所占用的I/O口线也增加。独立式按键结构的键盘在没有键按下时,数据输入线均为高电平,当有键按下时,与之对应的数据线将变成低电平。因此可用位指令判别是否有键按下。&带中断的独立连接键盘独立式按键编程ORG0000HLJMPSTARTSTART:MOVP1,#0FFHMOVA,P1;键字送AMOVDPTR,#ADRSS;散转表首地址MOVR1,#00H;初始键号LP1:RRCA;开始查找键字JNCLP2;有键按下则转至LP2INCR1LJMPLP1采用查询法,利用位判别加散转指令,

3、实现键盘的人机对话功能。LP2:MOVA,R1;修正变址值,实现程序散转ADDA,AJMP@A+DPTRADRSS:AJMPLOOP0;地址数据表AJMPLOOP--------AJMPLOOP7LOOP0:---------LOOP0:---------;散转入口地址---------LJMPSTART-------------------------------LOOP7:-----------------------------LJMPSTARTENDLOOP0:---------上例没有考虑去抖动,也没有考虑有几个键同时按下的情况在实际应用中是要考虑!注意输出锁存器输入缓冲器

4、行线列行列式键盘行列式键盘的结构直接使用I/O的键盘电路MCU的I/O口输出具有锁存器,输入具有缓冲器,因此应用I/O口直接与行线与列线相连就可以组成行列式键盘。利用I/O口和译码器的接口电路利用串行口的键盘接口电路P1.0P1.1P1.2P0.0P0.1P0.2P0.3ABC由I/O口与译码器组成的行列式键盘CPU先使第一行(P1.4)为“0”,其余行为“1”读输入口P1.0~P1.3的状态,若输入缓冲器的状态全部为“1”,则表示所在行无键按下;若输入缓冲器不全为“1”,说明所在行有键按下,CPU停止当前行线扫描,转入到列线扫描,列线P1.0~P1.3为“0”状态的列表示对应列有键

5、按下。这样,行线与列数交叉键就是扫描到的按键。行线P1.4~P1.7为输出,列线P1.0~P1.3为输入行列式键盘工作原理键扫描方式程控扫描方式:CPU从执行程序就开始了键盘的扫描,等待来是键盘的命令。定时扫描方式:在程序初始化时,先对定时/计数器进行设置,使其每10ms中断一次,每次中断,CPU将去扫描一次键盘,若两次中断扫描到有键按下(这里考虑了消抖动),CPU将对键作相应的处理。中断扫描方式:采用中断扫描方式必需有外部中断接口,当有键按下时,产生中断请请求,CPU响应中断,在中断服务程序扫描键盘,作相应处理。这是多任务应用系统常用的一种方式。扫描方式键盘编程判断键盘上有无键按下

6、:先对行进行扫描,当扫描到行线有键按下时,再对列线进行扫描,行线、列线均为“0”状态的键就是当前的按键。去除键的抖动:当扫描到有按键时,软件延时10ms再判该键是否仍是按键,如是则确认该键是当前的按键,若不是,则把它当成是误操作处理。取键值:根据行号、列号建立一个键值数据表,采用MOVCA,@A+DPTR查表指令。键值存于:闭合键的键码值=以(TAB(数据表首地址)+行号+列号)为地址单元中的内容。中断方式键盘编程下面以4*4键盘为例来说明程序扫描键盘程序的编写:ORG0000HLJMPSTARTORG2000HSTART:MOVR0,#0F7H;扫描初值(P1.3=0)M0VR1,

7、#00H;取码指针,为取码作准备LP1:MOVA,R0;开始扫描MOVP1,AMOVA,P1;读P1状态MOVR2,A;为键盘消抖作准备SETBCMOVR3,#04H;每次列扫描数LP2:RLCA;按键字左移一位JNCKEY;有键按下转KEYLP3:INCR1;无键按下,取码指针加1DJNZR3,LP2;4列未完,则继续扫描列线MOVA,R0;扫描值送累加器SETBC;扫描下一行RRCAMOVR0,A;取回当前扫描值JCLP1;未扫描完继续扫LJMPSTA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。