人机接口设计.ppt
第第8章章 人机接口设计人机接口设计 第8章 人机接口设计 概述 单片机应用系统需与外界沟通.联系(尤其与用户),须具备输入/输出装置.单片机常用输入装置-键盘.激光发送器(如红外遥控器)等 单片机常用输出装置-LED(数码显示器).LCD(液晶显示器).打印机等 本章介绍单片机并行接口设计,LED数码显示电路,键盘电路等.一一.LED 主要特点主要特点:体积小体积小,工作电压低工作电压低,亮度高亮度高,寿命长寿命长,视角大等视角大等.显示颜色显示颜色:主要有主要有-红红 绿绿 黄黄 等等 依公共端不同依公共端不同,分共阴极分共阴极LED,共阳极共阳极LED *段码段码:D0-D7对应接对应接LED的的a-dp.fabcdeg g f a b e d c dpcom-共阴极 XXX202共阳极 XXX212COMCOM 第第8章章 人机接口设计人机接口设计 概述概述 单片机应用系统需与外界沟通单片机应用系统需与外界沟通.联系联系(尤其与用户尤其与用户),须具备输入须具备输入/输出装置输出装置.单片机常用输入装置单片机常用输入装置-键盘键盘.激光发送器激光发送器(如红外遥控器如红外遥控器)等等 单片机常用输出装置单片机常用输出装置-LED(数码显示器数码显示器).LCD(液晶显示器液晶显示器).打印机等打印机等 本章介绍单片机并行接口设计本章介绍单片机并行接口设计,LED数码显示电路数码显示电路,键盘电路等键盘电路等.一一.LED 图 1 *在实际应用中在实际应用中,因单片机因单片机I/O口驱动能力有限口驱动能力有限,常需加驱动器件常需加驱动器件.主要有主要有:7407(1X6同驱同驱)75451(双二输入与门双二输入与门,同驱同驱)-等等.7406(1X6反驱反驱)75452(双二输入与非门双二输入与非门,反驱反驱)-等等 2 LED显示显示 LED显示分两种显示分两种:静态和动态静态和动态.1).静态显示静态显示-固定显示方式固定显示方式,一个并行口接一只一个并行口接一只LED,又可分又可分:a.硬件译码如硬件译码如74LS48,74LS49,CD4511,74LS46,74LS47,CD4513等等(见书见书P143图图8.2)b.软件译码软件译码(见书见书P144 图图 8.3)2).动态显示动态显示-每只每只LED轮流循环显示轮流循环显示(条件条件:f1/24S,视觉暂留视觉暂留)此种显示此种显示,需一组接口需一组接口(8位位)完成字型码完成字型码(段码段码)的输出的输出;还需还需N位位I/O口完成口完成N只只LED的轮流点亮的轮流点亮位选位选(或位码或位码)例例 设计一动态显示电路设计一动态显示电路,显示显示”03301”,当有人按下按钮则显示当有人按下按钮则显示”HELLO”问好问好,并编程并编程(fosc=6MHz).解解:分析分析:此需此需5只只LED,选共阴选共阴LED,(字型字型)段码选段码选P1口口,用用74LS373接成直通的方式接成直通的方式 作驱动电路作驱动电路,位码选位码选P3.0-P3.4用用7406驱动驱动,P1.7接按钮接按钮,电路见图电路见图 2 VCC P1.0EA RST P1.68XC51XTAL1 P1.7 P3.7XTAL2 P3.0 GND P3.4 D0 Q0373D6 Q6G OE7406 +5V 10K 图 2 *P1.0-P1.6 对应连接每只对应连接每只(共共5只只)LED的的 a-g 端端 输出段码输出段码(字行码字行码)*P3.0-P3.4轮流选通各个轮流选通各个LED,每次只选通每次只选通1个个LED+5V MOV P3,#0;清显示清显示 ST:SETB P1.7 JNB P1.7,D10ms;有人按键有人按键,延时延时10ms去抖去抖 LLS:JNB P1.7,DIR1;确有人按键确有人按键,转转DIR1 MOV DPTR,#TAB1;指向指向”03504”段码表首段码表首 SJMP DIR;去显示子程去显示子程 DIR1:MOV DPTR,#TAB2;指向指向”HELLO”段码表首段码表首 DIR:MOV R0,#0;RO存段码偏移量存段码偏移量 MOV R1,#01;R1存位码存位码 NT:MOV A,R0 MOVC A,A+DPTR;查段码查段码 MOV P1,A;送段码到送段码到P1口口 MOV A,R1;位码送位码送A MOV P3,A;输出位码输出位码 ACALL D2ms;点亮点亮2ms,产生辉光产生辉光 INC R0;指向下一段码指向下一段码 RL A;指向下一位指向下一位 AA MOV R1,A CJNE R1,#20H,NT;5只只LED循环显示完循环显示完?SJMP ST;重复循环重复循环 D2ms:MOV R6,#10;延时延时2ms子程子程 JJ:MOV R7,#50 LL:DJNZ R7,LL;(2X50)X2us=200us DJNZ R6,JJ;204usX10=2.04ms2ms RET D10ms:MOV R6,#50;延时延时10ms子程子程 JL:MOV R7,#50 LJ:DJNZ R7,LJ;(2x50)x2=200us DJNZ R6,JL;204usx50=10.2ms10ms RET TAB1:DB 3FH,4FH,4FH,3FH,O6H;”03403”段码段码 TAB2:DB 76H,79H,38H,38H,3FH;”HELLO”段码段码SETB P3.7CLR P3.7 二二.键盘键盘 1.单片机常用键盘分两类单片机常用键盘分两类:独立式独立式(线性线性)键盘键盘 行列式行列式(矩阵矩阵)键盘键盘 a.独立式独立式(线性线性)键盘键盘 通常键数通常键数8,参见书参见书P149 图图8.7.b.行列式行列式(矩阵矩阵)键盘键盘 .用单片机自身用单片机自身I/O口组成口组成:用单片机用单片机I/O口中口中N个口组成个口组成N条行线条行线 用单片机用单片机I/O口另口另M个口组成个口组成M条列线条列线 二者共同构成二者共同构成NXM个按键个按键(参见书参见书P150 图图 8.8).用专用外扩芯片用专用外扩芯片(如如8279等等)组成组成.2.单片机对键盘扫描的单片机对键盘扫描的3种方式种方式:a.程控扫描程控扫描-单片机抽空闲时调用键扫描子程单片机抽空闲时调用键扫描子程,响应用户要求响应用户要求;b.定时扫描定时扫描-单片机定时调用键扫描子程单片机定时调用键扫描子程;c.中断扫描中断扫描-配合中断系统配合中断系统,有键按下时产生中断有键按下时产生中断,单片机调用键扫描子程单片机调用键扫描子程 3.矩阵键盘处理矩阵键盘处理 一般一般:初判初判 防抖防抖 判键码判键码(取反取反.合成合成.查表查表)待键释放待键释放 键处理键处理 参见书参见书P151 例例(简讲简讲)太繁琐太繁琐!补充讲补充讲:实际中常用的方法实际中常用的方法-”线反转法线反转法”线反转法线反转法”概述概述:a.先将列线置低电平先将列线置低电平,行线置成输入状态行线置成输入状态(高电平高电平)判断行码判断行码(交点行线变低电平交点行线变低电平)b.再将行线置低电平再将行线置低电平,列线置成输入状态列线置成输入状态(高电平高电平)判断列码判断列码(交点列线变低电平交点列线变低电平)用用a,b步结果算出按键自然序号步结果算出按键自然序号,计算公式如下计算公式如下:键键(自然自然)号号=所在行数所在行数X列数列数+所在列数所在列数 例例:以以4X4键盘为例键盘为例,编写键处理子程编写键处理子程(硬件连接见书硬件连接见书P150 图图8.8)SKEY:MOV P1,#0FH;行线置行线置1,准备输入准备输入 MOV A,P1;读读P1口状态口状态 ANL A,#0FH,屏蔽高屏蔽高4位位(列信号列信号)CJNE A,#0FH,CKY;某条行线为某条行线为0,初判有键按下初判有键按下 AJMP SKEY;行线全为行线全为1,无键按下无键按下,返回返回 CKY:ACALL D10ms;延时延时10ms去抖去抖 MOV A,P1;再读再读P1口状态口状态 ANL A,#0FH MOV B,A;暂存行号特征值暂存行号特征值,以便合成以便合成1B 列列 行行 CJNE A,#0FH,QKY;确有键按下确有键按下,转查列号转查列号,合成合成 AJMP SKEY;误触发误触发,返回返回 QKY:MOV P1,#0F0H;列线置列线置1,准备输入准备输入 MOV A,P1;读读P1口状态口状态 ANL A,#0F0H;屏蔽低屏蔽低4位位,保留列信号保留列信号 A ORL A,B;列号列号 行号行号 合成合成1B A MOV B,A;暂存暂存 列号列号 行号行号 于于B JSZH:MOV A,B MOV R2,#0;R2清清0存行号存行号 MOV R4,#4;置右移次数置右移次数 L1:JNB ACC.0,L2 INC R2 RR A DJNZ R4,L1 L2:MOV R3,#0;R3清清0存列号存列号 MOV R4,#4;置右移次数置右移次数 MOV A,B SWAP A;列号特征值换到低列号特征值换到低4位位,准备右移准备右移 L3:JNB ACC.0,AD INC R3 RR A DJNZ R4,L3 AD:CLR C MOV A,R2;行号行号X4+列号列号=自然键号自然键号 RLC A RLC A ADD A,R3 MOV 30H,A;自然键号送自然键号送30H单元保存单元保存 WAIT:ANL P1,#0F0H;等待键释放等待键释放 MOV A,P1;X0H A XRL A,#0F0H;(A)与与#0F0H异或异或 JNZ WAIT;如结果如结果0,则则(A)0F0H,键未释放键未释放,继续等待继续等待.RET 三三.8279扩展键盘扩展键盘.驱动驱动LED专用芯片专用芯片 1.概述概述(见书见书P153)DIP40封装封装,单一单一+5V供电供电,内部工作频率内部工作频率f=100KHz 特点特点:键盘键盘:扫描方式扫描方式,可达可达8X8=64个按键个按键,自动消抖自动消抖,多键保护多键保护.显示显示:动态扫描动态扫描,可设定可设定8只或只或16只只LED显示显示 a.A0-数据数据/命令选择端命令选择端 A0=1:写入命令写入命令,读出状态读出状态 A0=0:读读/写数据写数据 b.OUTA03,OUTB03:双四位组合双四位组合-LED段码输出段码输出 c.SL0-SL3:扫描线扫描线-LED位选线位选线,键盘行线或列线键盘行线或列线(可编码或译码输出可编码或译码输出)d.RL0-RL7:回馈线回馈线(回送线回送线)-键盘行线或列线键盘行线或列线 8279命令代码一览表命令代码一览表命令特征位命令特征位功能特征位功能特征位 D7 D6 D5 D4 D3 D2 D1 D00 0 0 键盘显示方式键盘显示方式0-左输入左输入 1-右输入右输入0-8字符字符 1-16字符字符00-双键互锁双键互锁*10-编码编码 1-译码译码001-分频系数设置分频系数设置 N=2-31010-读读FIFO/传感器传感器RAM011-读显示读显示RAM100-写显示写显示RAM0仅读仅读/写写1个单元个单元1每次读每次读/写后地写后地址加址加1 X所要读的所要读的FIFO/传感器传感器RAM地址地址 所要读所要读/写的显示写的显示RAM地址地址101-显示器禁止写显示器禁止写/消隐消隐 X00/11-显示显示RAM可写可写/禁写禁写110-清显示及清显示及FIFORAM0-不清除不清除 1-允许清允许清0-禁止禁止1-总清除总清除111-见书见书P160表表 说明说明:以上以上8种命令在种命令在A0=1时时,输入相应输入相应”命令特征位命令特征位”可自动寻址相应的命令寄存器可自动寻址相应的命令寄存器 *1 双键互锁双键互锁双键同时按下的保护双键同时按下的保护,只有其中一键弹起只有其中一键弹起,另一键保持按下时另一键保持按下时,才被认可才被认可.N键轮回键轮回-如有若干键按下如有若干键按下,依键盘扫描顺序依次存入依键盘扫描顺序依次存入FIFORAM.例题见书例题见书P162164,(纠错纠错)补充补充:液晶显示器液晶显示器 液晶的物理液晶的物理.化学特性化学特性:*具具”扭曲扭曲-向列向列”效应效应-无电压作用无电压作用:线性偏振光线不能透过线性偏振光线不能透过(不显不显)有电压作用有电压作用:扭曲效应消失扭曲效应消失,线性光线可透过线性光线可透过(显显)*液晶分子在长时间的单向电流作用下易发生电解液晶分子在长时间的单向电流作用下易发生电解,造成损害造成损害,所以不能加直流电所以不能加直流电.*交流电压频率过高交流电压频率过高,晶阵变化太频繁晶阵变化太频繁,显示不清楚显示不清楚.综合其特征综合其特征:实用中多使用实用中多使用125Hz-150Hz的方波的方波(幅值幅值45V)作其驱动电源作其驱动电源.液晶显示的原理液晶显示的原理:在电场作用下在电场作用下,:液晶分子的排列发生变化液晶分子的排列发生变化,显示字符显示字符.图形图形 (依其预先依其预先 加工成的图形加工成的图形.笔段显示笔段显示.)