您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 第6章MCS-51单片机的人机交互通道配置与接口
1第6章人机交互通道配置与接口主要内容:从工程应用角度介绍了MCS-51单片机的交互通道配置与接口,主要包括人机界面中的键盘、显示器、微型打印机等。介绍了多种实用方案和设计技巧。重点:系统概念的形成、各种接口设计方案和设计技巧的掌握,熟悉各种交互设备。难点:使用动态方法进行键盘和显示的硬件及软件设计。2第6章人机交互通道配置与接口6.1MCS-51单片机与键盘的接口技术6.2MCS-51单片机与显示器的接口技术6.3MCS-51单片机键盘和显示器接口设计实例第6章MCS-51单片机的交互通道配置与接口36.1MCS-51单片机与键盘的接口技术键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。键盘的分类:按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。第6章MCS-51单片机的交互通道配置与接口46.1.1键盘结构⑴独立式按键独立式按键是每个按键占用一根I/O端线。①各按键相互独立,电路配置灵活;②按键数量较多时,I/O端线耗费较多,电路结构繁杂;③软件结构简单。适用于按键数量较少的场合。第6章MCS-51单片机的交互通道配置与接口56.1.1键盘结构⑵行列式(矩阵式)键盘I/O端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。①占用I/O端线较少;②软件结构教复杂。适用于按键较多的场合。第6章MCS-51单片机的交互通道配置与接口66.1.2使用键盘时必须解决的问题键盘去抖动问题:键盘的抖动时间一般为5~20ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。第6章MCS-51单片机的交互通道配置与接口76.1.3键盘接口对键盘上所按下的键进行识别。⑴程序控制扫描方式键处理程序固定在主程序的某个程序段。⑵定时控制扫描方式利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描。⑶中断方式当键盘上有键闭合时,向CPU申请中断,CPU响应中断后对键盘进行扫描。第6章MCS-51单片机的交互通道配置与接口86.1.3键盘接口键扫描输入程序的设计方法:(1)判断键盘上是否有键闭合;(2)消除键的机械抖动;(3)确定闭合键的物理位置;(4)得到闭合键的编号;(5)确保CPU对键的一次闭合只做一次处理第6章MCS-51单片机的交互通道配置与接口9独立式键盘接口扫描方式第6章MCS-51单片机的交互通道配置与接口10KEYB:ORLP1,#07H;置P1.0~P1.2为输入态MOVA,P1;读键值,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有键值信息的低3位JZGRET;全0,无键闭合,返回LCALLDY10ms;非全0,有键闭合,延时10ms,软件去抖动MOVA,P1;重读键值,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有键值信息的低3位JZGRET;全0,无键闭合,返回;非全0,确认有键闭合JBAcc.0,KB0;转0#键功能程序JBAcc.1,KB1;转1#键功能程序JBAcc.2,KB2;转2#键功能程序GRET:RETKB0:LCALLWORK0;执行0#键功能子程序RETKB1:LCALLWORK1;执行1#键功能子程序RETKB2:LCALLWORK2;执行2#键功能子程序RET第6章MCS-51单片机的交互通道配置与接口11独立式键盘接口扫描方式第6章MCS-51单片机的交互通道配置与接口12独立式键盘接口扫描方式主程序如下:ORG0000HLJMPMAINORG0003H;外部中断0中断服务入口地址LJMPINTI;转中断服务ORG0100HMAIN:SETBEA;开总中断允许SETBEX0;开INT0中断SETBIT0;下降沿有效……中断服务程序清单如下:INTI:CALLD20;延时去抖动MOVP1,#0FFH;P1口送全1值MOVA,P1;读P1口各引脚CJNEA,#0FFH,CLOSE;验证是否确实有键闭合AJMPINT0;无键按下第6章MCS-51单片机的交互通道配置与接口13独立式键盘接口扫描方式CLOSE:JNBACC.7,KEY7;查询7号键JNBACC.6,KEY6;查询6号键JNBACC.5,KEY5;查询5号键JNBACC.4,KEY4;查询4号键JNBACC.3,KEY3;查询3号键JNBACC.2,KEY2;查询2号键JNBACC.1,KEY1;查询1号键JNBACC.0,KEY0;查询0号键INT0:RETIKEY7:……;7号键处理程序KEY71:MOVA,P1;再读P1口各引脚JNBACC.7,FUNC71;确认键是否释放RETIKEY6:……;其他键处理程序……D20:……;20ms延时子程序RETEND第6章MCS-51单片机的交互通道配置与接口14矩阵式键盘接口—行反转法0+5V123456789ABCDEF89C51第0行第1行第2行第3行第3列第2列第1列第0列P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.700001101第6章MCS-51单片机的交互通道配置与接口15矩阵式键盘接口—行反转法0+5V123456789ABCDEF89C51第0行第1行第2行第3行第3列第2列第1列第0列P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.710110000第6章MCS-51单片机的交互通道配置与接口16矩阵式键盘接口—行动态扫描方法0+5V123456789ABCDEF89C51第0行第1行第2行第3行第3列第2列第1列第0列P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.700001111第6章MCS-51单片机的交互通道配置与接口17矩阵式键盘接口—行动态扫描方法0+5V123456789ABCDEF89C51第0行第1行第2行第3行第3列第2列第1列第0列P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.700001101第6章MCS-51单片机的交互通道配置与接口18矩阵式键盘接口—行动态扫描方法0+5V123456789ABCDEF89C51第0行第1行第2行第3行第3列第2列第1列第0列P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.701111111第6章MCS-51单片机的交互通道配置与接口19矩阵式键盘接口—行动态扫描方法0+5V123456789ABCDEF89C51第0行第1行第2行第3行第3列第2列第1列第0列P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.710111101第6章MCS-51单片机的交互通道配置与接口20矩阵式键盘接口—行动态扫描方法键号、行数m、列数n扫描初值初始化输出扫描初值读列值是否有为0列?扫描初值左移,键号+n,计数器-1m行扫描完?NNYY后续处理列值循环右移1位进位位为0?N键盘处理命令第6章MCS-51单片机的交互通道配置与接口21通过串行口扩展键盘接口其中,P1.0和P1.1作为行线。键盘的编码为:P1.0线上的8个键分别为00H~07H,P1.1线上的8个键分别为08~0FH。第6章MCS-51单片机的交互通道配置与接口22ORG1000HSERKEY:MOVSCON,#00H;设置串行MOVA,#00H;键盘初始化,送00H到列线上LCALLVARTO;发送数据CHK:JNBP1.0,CHK0;检查是否有键按下JNBP1.1,CHK0;检查是否有键按下AJMPBACK;无键按下,继续查找CHK0:LCALLDLY1;调用10ms延时子程序,去抖JNBP1.0,CHEN;确实有键按下,转CHENJNBP1.1,CHENAJMPBACK;无键按下,继续查找CHEN:MOVR2,#0FEH;首列扫描字送R2,MOVR4,#00H;首列偏移值CHKN:MOVA,R2;发送列扫描字LCALLVARTOJBP1.0,CH1;检查P1.0有无键按下;若无转CH1MOVA,#0;第一行首列值送A,00H+(R4)AJMPCKEY;转求键号第6章MCS-51单片机的交互通道配置与接口23CH1:JBP1.1,NEXT;检查P1.1有无键按下;若无,转NEXTMOVA,#8H;第二行首列值送ACKEY:ADDA,R4;求键号,并入栈保RETNEXT:INCR4;指向下一列MOVA,R2;取出原扫描字JNBACC.7,KEND;是否已检查完8列?RLA;8列未完,指向下一列MOVR2,A;列扫描字送R2AJMPCHKN;8列未完,检查下一列KEND:AJMPSERKEY;8列查完,未查到有键按下,等待VARTO:MOVSBUF,A;发送A中数据JNBTI,$;发送等待CLRTI;清除BACK:RETDLY1:……;延时10ms子程序(略)END;结束第6章MCS-51单片机的交互通道配置与接口24通过串行口扩展键盘接口第6章MCS-51单片机的交互通道配置与接口256.2MCS-51单片机与显示器的接口技术单片机应用系统中使用的显示器主要有:发光二极管显示器,简称LED(LightEmittingDiode);液晶显示器,简称LCD(LiquidCrystalDisplay);第6章MCS-51单片机的交互通道配置与接口266.2.1LED显示器及其接口发光二极管简称LED(LightEmittingDiode)。LED显示器从外观可分为“8”字形的七段数码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器等。共阳极共阴极第6章MCS-51单片机的交互通道配置与接口276.2.1LED显示器及其接口形状共阳8段码.gfedcba形状LED显示10001111’F’11111000’7’10000110’E’10000010’6’10100001’D’10010010’5’11000110’C’10011001’4’10000011’B’10110000’3’10001000’A’10100100’2’10011000’9’11111001’1’10000000’8’11000000’0’共阳显示码C0HF9HA4HB0H99H92H82HF8HLED显示共阳8段码.gfedcba共阳显示码80H90H88H83HC6HA1H86H8EH第6章MCS-51单片机的交互通道配置与接口286.2.1LED显示器及其接口LED点阵模块显示器:第6章MCS-51单片机的交互通道配置与接口29LED的驱动接口第6章MCS-51单片机的交互通道配置与接口30LED显示器显示与驱动方式LED显示器有静态显示和动态显示两种方式。静态显示就是当LED显示器显示某个字符时,相应的段(发光二极管)恒定地导通或截止,直到显示另一个字符为止。第6章MCS-51单片机的交互通道配置与接口31静态显示方式第6章MCS-51单片机的交互通道配置与接口32静态显示方式第6章MCS-51单片机的交互通道配置与接口33ORG1000HDSP8255:MOVDPTR,#7FFFHMOVA,#80H;8255A工作方式设置MOVX@DPTR,AMOVR0,#40HMOVR1,#3MOVDPTR,#7FFCHLOOP:MOVA,@R0ADDA,#06HMOVCA,@A+PCMOVX@DPTR,AINCR0INCDPTRDJNZR3,LOOPRETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND第6章MCS-51单片机的交互通道配置与接口34静态显示方式第6章MCS-51单片机的交互通道配置与接口35静态显示方式第6章MCS-51单片机的交互通道配置与接口36DISPSER:MOVR5,#03H;显示3个字符MOVR1,#40H;40H~42H存放要显示的数据SETBP1.0DL0:MOVA,@R1;取出要显示的数据MOVDPTR,#TAB;指向段数据表MOVCA,@A+DPTR;查表取字形数据MOVSBUF,A;送出数据,进行显示
本文标题:第6章MCS-51单片机的人机交互通道配置与接口
链接地址:https://www.777doc.com/doc-3972134 .html