片机基础课件第10章.ppt
《片机基础课件第10章.ppt》由会员分享,可在线阅读,更多相关《片机基础课件第10章.ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1010章章 MCS-51MCS-51与键盘、显示器、拨盘、打印机的接与键盘、显示器、拨盘、打印机的接 口设计口设计输入外设:输入外设:键盘、键盘、BCDBCD码拨盘等;码拨盘等;输出外设:输出外设:LEDLED显示器、显示器、LCDLCD显示器、打印机等。显示器、打印机等。10.1 10.1 LEDLED显示器接口原理显示器接口原理 LED LED(Light Emitting Diode)(Light Emitting Diode):发光二极管的缩写。发光二极管的缩写。显示器前面冠以显示器前面冠以“LED”LED”。10.1.1 10.1.1 LEDLED显示器的结构显示器的结构 常用
2、的常用的LEDLED显示器为显示器为8 8段段(或(或7 7段段,8 8段比段比7 7段多了一段多了一个小数点个小数点“dp”dp”段)。段)。有有共阳极共阳极和和共阴极共阴极两种。如图两种。如图10-110-1所示。所示。为使为使LEDLED显示不同的符号或数字显示不同的符号或数字,要为,要为LEDLED提供提供段码段码(或称(或称字型码字型码)。)。提供给提供给LEDLED显示器的段码显示器的段码(字型码字型码)正好是一个字正好是一个字节(节(8 8段)段)。各段与字节中各位对应关系如下:。各段与字节中各位对应关系如下:按上述格式,按上述格式,8 8段段LEDLED的段码如表的段码如表10
3、-110-1所示。所示。显示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码显示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码0 03 3FHFHC0HC0Hc c3939H HC6HC6H1 10606H HF9HF9Hd d5 5EHEHA1HA1H2 25 5BHBHA4HA4HE E7979H H8686H H3 34 4FHFHB0HB0HF F7171H H8 8EHEH4 46666H H9999H HP P7373H H8 8CHCH5 56 6DHDH9292H HU U3 3EHEHC1HC1H6 67 7DHDH8282H HT T3131H HCEHCEH7
4、70707H HF8HF8Hy y6 6EHEH9191H H8 87 7FHFH8080H HH H7676H H8989H H9 96 6FHFH9090H HL L3838H HC7HC7HA A7777FHFH8888H H“灭灭”0000H HFFHFFHb b7 7CHCH8383H H表表10-1 10-1 LEDLED段码(段码(8 8段)段)表表10-110-1只列出了部分段码,只列出了部分段码,可根据实际情况选用可根据实际情况选用。另外,另外,段码是相对的段码是相对的,它由各字段在字节中所处的,它由各字段在字节中所处的位决定。例如表位决定。例如表10-110-1中中8 8段
5、段LEDLED段码是按格式段码是按格式:而形成的,而形成的,“0”“0”的段码为的段码为3 3FHFH(共阴)。共阴)。反之,如反之,如 将格式改为下列格式:将格式改为下列格式:则则 “0”“0”的段码为的段码为7 7EHEH(共阴)共阴)。字型及段码由设计者自行设定,字型及段码由设计者自行设定,习惯上还是以习惯上还是以“a”a”段对应段码的最低位。段对应段码的最低位。N N个个LEDLED显示块有显示块有N N位位选线位位选线和和88N N根段码线根段码线。10.1.2 10.1.2 LEDLED显示器工作原理显示器工作原理图图10-210-2是是4 4位位 LEDLED显示器的结构原理图。
6、显示器的结构原理图。段码线段码线控制控制显示的字型显示的字型,位选线位选线控制控制该显示位的亮或暗。该显示位的亮或暗。静态显示静态显示和和动态显示动态显示两种显示方式。两种显示方式。1.1.静态显示方式静态显示方式各位的公共端连接在一起(接地或各位的公共端连接在一起(接地或+5+5V V)。)。每位的段码线(每位的段码线(a adpdp)分别分别与一个与一个8 8位的锁存器位的锁存器输出相连。输出相连。显示字符一确定,相应锁存器的段码输出将维持显示字符一确定,相应锁存器的段码输出将维持不变,直到送入另一个段码为止。不变,直到送入另一个段码为止。显示的亮度高显示的亮度高。图图10-3:10-3:
7、4 4位静态位静态LEDLED显示器电路。该电路各位显示器电路。该电路各位可独立显示。可独立显示。2.2.动态显示方式动态显示方式 所有位的段码线所有位的段码线相应段并在一起,由一个相应段并在一起,由一个8 8位位I/OI/O口控制口控制,形成,形成段码线的多路复用,段码线的多路复用,各位的各位的公共端公共端分别由分别由相应的相应的I/OI/O线控制,形成各位的线控制,形成各位的分时选通。分时选通。图图10-410-4:4 4位位8 8段段LEDLED动态显示电路。其中段码线占用一动态显示电路。其中段码线占用一个个8 8位位I/OI/O口,而位选线占用一个口,而位选线占用一个4 4位位I/OI
8、/O口。口。图图10-510-5为为8 8位位LEDLED。图(图(a)a)是显示过程,是显示过程,某一时刻,只有一位某一时刻,只有一位LEDLED被选通被选通 显示,其余位则是熄灭的;显示,其余位则是熄灭的;图(图(b)b)是实际显示结果,是实际显示结果,人眼看到的是人眼看到的是8 8位稳定位稳定的的 同时显示同时显示的字符。的字符。10.2 10.2 键盘接口原理键盘接口原理1.1.键盘输入的特点键盘输入的特点键盘:一组按键开关的集合键盘:一组按键开关的集合。行线电压信号通过键盘开关机械触点的断开、闭合,行线电压信号通过键盘开关机械触点的断开、闭合,输出波形如图输出波形如图10-610-6
9、。2.2.按键的确认按键的确认 检测检测行线行线电平电平 高电平:高电平:断开;断开;低电平低电平:闭合,:闭合,常用常用软件来消除按键抖动。软件来消除按键抖动。基本思想基本思想:检测到有键按下,键对应的行线为低,软检测到有键按下,键对应的行线为低,软件延时件延时1010msms后,行线如仍为低,则确认该行有键按下。后,行线如仍为低,则确认该行有键按下。当键松开时当键松开时,行线变高,软件延时,行线变高,软件延时1010msms后,行线仍为后,行线仍为高,说明按键已松开。高,说明按键已松开。采取以上措施,采取以上措施,躲开了两个抖动期躲开了两个抖动期t1t1和和t3t3的影响的影响。10.2.
10、2 10.2.2 键盘接口的工作原理键盘接口的工作原理独立式独立式按键接口和按键接口和行列式行列式键盘接口。键盘接口。各键相互独立,每个按键各接一根输入线,通过各键相互独立,每个按键各接一根输入线,通过检检测输入线的电平状态测输入线的电平状态可很容易判断那个键被按下。可很容易判断那个键被按下。此种接口此种接口适于键数较少适于键数较少或或操作速度较高操作速度较高的场合。的场合。图图10-710-7(a a)为为中断方式的独立式中断方式的独立式键盘工作电路键盘工作电路图图10-710-7(b b)为为查询方式的独立式查询方式的独立式键盘工作电路键盘工作电路。图图10-810-8为为82558255
11、A A扩展扩展I/OI/O口口的的独立式独立式按键接口电路。按键接口电路。图图10-910-9用用三态缓冲器三态缓冲器扩展的扩展的I/OI/O口的按键接口电口的按键接口电路路。对图对图10-910-9独立式键盘编程,软件消抖,查询方式检独立式键盘编程,软件消抖,查询方式检测键的状态。仅有一键按下时才有效才处理。测键的状态。仅有一键按下时才有效才处理。KEYIN:MOV DPTR,#0BFFFHKEYIN:MOV DPTR,#0BFFFH;键盘端口地址键盘端口地址BFFFHBFFFHMOVX A,DPTRMOVX A,DPTR;读键盘状态读键盘状态ANL A,#1FHANL A,#1FH;屏蔽高
12、三位屏蔽高三位MOV R3,AMOV R3,A;保存键盘状态值保存键盘状态值LCALL DELAY10LCALL DELAY10;延时延时1010msms去键盘抖动去键盘抖动MOVX A,DPTRMOVX A,DPTR;再读键盘状态再读键盘状态ANL A,#1FHANL A,#1FH;屏蔽高三位屏蔽高三位 CJNE A,R3,RETURN CJNE A,R3,RETURN;两次不同,抖动引起转两次不同,抖动引起转RETURNRETURNCJNE A,#1EH,KEY2 CJNE A,#1EH,KEY2;相等,有键按下,不等转相等,有键按下,不等转KEY2KEY2LJMP PKEY1LJMP P
13、KEY1;是是K1K1键按下,转键按下,转K1K1键处理键处理 ;子程序子程序PKEY1PKEY1KEY2:CJNE A,#1DH,KEY3;S2KEY2:CJNE A,#1DH,KEY3;S2键未按下,转键未按下,转KEY3KEY3LJMP PKEY2LJMP PKEY2 ;S2 ;S2键按下,转键按下,转PKEY2PKEY2处理处理KEY3:KEY3:CJNE A,#1BH,KEY4CJNE A,#1BH,KEY4;S3;S3未按下,转未按下,转KEY4KEY4LJMP PKEY3 ;S3LJMP PKEY3 ;S3按下,转按下,转PKEY3PKEY3处理处理KEY4:CJNE A,#17
14、H,KEY5;S4KEY4:CJNE A,#17H,KEY5;S4键未按下,转键未按下,转KEY5KEY5LJMP PKEY4 ;S4LJMP PKEY4 ;S4按下,转按下,转PKEY4PKEY4处理处理KEY5:KEY5:CJNE A,#0FH,PASS;S5CJNE A,#0FH,PASS;S5未按下,转未按下,转RETURNRETURNLJMP PKEY5 ;S5LJMP PKEY5 ;S5按下,转按下,转PKEY5PKEY5处理处理RETURN:RET ;RETURN:RET ;重键或无键按下,从子程序返回重键或无键按下,从子程序返回识别和编程简单,识别和编程简单,用在按键数较少的场
15、合。用在按键数较少的场合。2.行列式行列式(矩阵式矩阵式)键盘接口键盘接口 用于按键数目较多的场合,用于按键数目较多的场合,由由行线和列线组成行线和列线组成,按键位于行、列的交叉点上。如图按键位于行、列的交叉点上。如图10-1010-10所示。所示。按键数目较多的场合按键数目较多的场合,行列式键盘与独立式键盘,行列式键盘与独立式键盘相比,要相比,要节省很多的节省很多的I/OI/O口线口线。(1)行列式键盘工作原理)行列式键盘工作原理 无键按下,该行线为高电平,无键按下,该行线为高电平,当有键按下时,行当有键按下时,行线电平由列线的电平来决定线电平由列线的电平来决定。由于行、列线为多键共用,各按
16、键彼此将相互发由于行、列线为多键共用,各按键彼此将相互发生影响,必须生影响,必须将行、列线信号配合起来并作适当的处将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置理,才能确定闭合键的位置。(2 2)按键的识别方法按键的识别方法a.a.扫描法扫描法 图图10-1010-10(b b)中中3 3号键被按下为例,来说明此键号键被按下为例,来说明此键时如何被识别出来的。时如何被识别出来的。识别键盘有无键被按下的方法,分两步进行:识别键盘有无键被按下的方法,分两步进行:第第1 1步:步:识别键盘有无键按下;识别键盘有无键按下;第第2 2步:步:如有键被按下,识别出具体的按键。如有键被按下,识别
17、出具体的按键。把所有列线置把所有列线置0 0,检查各行线电平是否有变化,如,检查各行线电平是否有变化,如有变化,说明有键按下,如无变化,则无键按下。有变化,说明有键按下,如无变化,则无键按下。上述方法称为上述方法称为扫描法扫描法,即,即先把某一列置低电平,先把某一列置低电平,其余各列为高电平,检查各行线电平的变化其余各列为高电平,检查各行线电平的变化,如果某,如果某行线电平为低,可确定行线电平为低,可确定此行列交叉点此行列交叉点处的按键被按处的按键被按下。下。b.b.线反转法线反转法 只需两步便能获得此按键所在的行列值,线反转只需两步便能获得此按键所在的行列值,线反转法的原理如图法的原理如图1
18、0-1110-11。第第1 1步:步:列线输出为全低电平,则行线中电平由高变低列线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。的所在行为按键所在行。第第2 2步:步:行线输出为全低电平,则列线中电平由高变低行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。所在列为按键所在列。结合上述两步,可确定按键所在行和列。结合上述两步,可确定按键所在行和列。(3 3)键盘的编码)键盘的编码 根据实际需要灵活编码。根据实际需要灵活编码。10.2.3 10.2.3 键盘的工作方式键盘的工作方式 单片机在忙于各项工作任务时,如何兼顾键盘的输单片机在忙于各项工作任务时,如何兼顾键盘的输入,
19、取决于键盘的工作方式。入,取决于键盘的工作方式。原则:原则:即要保证能及时响应按键操作,又不要过多占即要保证能及时响应按键操作,又不要过多占用用CPUCPU的工作时间。的工作时间。通常,通常,键盘工作方式有键盘工作方式有3 3种种,即编程扫描、定时扫,即编程扫描、定时扫描和中断扫描。描和中断扫描。1.1.编程扫描方式编程扫描方式 只有当单片机空闲时,才调用键盘扫描子程序,只有当单片机空闲时,才调用键盘扫描子程序,扫描键盘。扫描键盘。工作过程:工作过程:(1 1)在键盘扫描子程序中,先判断有无键按下。)在键盘扫描子程序中,先判断有无键按下。方法:方法:PAPA口口8 8位输出全位输出全0 0,读
20、,读PCPC口低口低4 4位状态,若位状态,若PC0PC0PC3PC3为全为全1 1,则说明键盘无键按下;若不全为,则说明键盘无键按下;若不全为1 1,则说明,则说明键盘可能有键按下。键盘可能有键按下。(2 2)用软件来消除按键抖动的影响。如有键按下,则)用软件来消除按键抖动的影响。如有键按下,则进行下一步。进行下一步。(3 3)求按下键的键号。)求按下键的键号。(4 4)等待按键释放后,再进行按键功能的处理操作。)等待按键释放后,再进行按键功能的处理操作。2.2.定时扫描工作方式定时扫描工作方式 利用单片机内的定时器,产生利用单片机内的定时器,产生1010msms的定时中断,对的定时中断,对
21、键盘进行扫描。键盘进行扫描。只有在键盘有键按下时,才执行键盘扫描程序,如只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,单片机将不理睬键盘。无键按下,单片机将不理睬键盘。键盘所做的工作分为三个层次键盘所做的工作分为三个层次,如图,如图10-1310-13。第第1 1层:层:单片机如何来监视键盘的输入。三种工作方单片机如何来监视键盘的输入。三种工作方 式:式:编程扫描编程扫描定时扫描定时扫描中断扫描。中断扫描。第第2 2层:层:确定具体按键的键号。体现在按键的识别方确定具体按键的键号。体现在按键的识别方 法上就是:法上就是:扫描法;扫描法;线反转法。线反转法。第第3 3层:层:执行键处理程
22、序。执行键处理程序。10.3 10.3 键盘键盘/显示器接口设计实例显示器接口设计实例 一般把键盘和显示器放在一起考虑。一般把键盘和显示器放在一起考虑。10.3.1 10.3.1 利用并行利用并行I/OI/O芯片实现键盘芯片实现键盘/显示器接口显示器接口 图图10-1410-14:80318031用扩展用扩展I/OI/O接口芯片接口芯片81558155H H实现的实现的6 6位位LEDLED显示和显示和3232键的键盘键的键盘/显示器接口电路。图中显示器接口电路。图中81558155H H也可用也可用82558255A A来替代。来替代。8031 8031外扩一片外扩一片81558155H H
23、。RAMRAM地址:地址:7 7E00HE00H7EFFH7EFFH。I/OI/O口地址:口地址:7 7F00HF00H7F05H7F05H。PAPA口口为输出口为输出口,控制键盘控制键盘列线的扫描列线的扫描,同时又是,同时又是6 6位共阴极显示器的位共阴极显示器的位扫描口位扫描口。PBPB口口作为显示器段码输出口,作为显示器段码输出口,PCPC口作为键盘的行口作为键盘的行线状态的输入口。线状态的输入口。75452 75452:反相驱动器,反相驱动器,74077407:同相驱动器。同相驱动器。1 1动态显示程序设计动态显示程序设计 8031 8031内部内部RAM RAM 6 6个显示缓冲单元
24、:个显示缓冲单元:7979H H7EH7EH,存存放要显示的放要显示的6 6位数据。位数据。8155 8155H H的的PBPB口输出相应位的段码,口输出相应位的段码,依次改变依次改变PAPA口口输出为输出为高高的位的位使某一位显示某一字符,其它位为暗。使某一位显示某一字符,其它位为暗。动态地显示出由缓冲区中显示数据所确定的字符。程动态地显示出由缓冲区中显示数据所确定的字符。程序流程如图序流程如图10-15 10-15。参考程序参考程序:DIRDIR:MOV R0,MOV R0,79H79H;置缓冲器指针初值置缓冲器指针初值MOV R3,MOV R3,01H01H;位选码的初值送位选码的初值送
25、R3R3MOV A,R3MOV A,R3LD0LD0:MOV DPTR,MOV DPTR,7F01H7F01H;位选码位选码PAPA口(位)口(位);最左边最左边LEDLED亮亮MOVX DPTR,AMOVX DPTR,AINC DPTRINC DPTR ;数据指针指向数据指针指向PBPB口口MOV A,R0 MOV A,R0 ;显示数据显示数据A AADD A,ADD A,0DH 0DH ;加偏移量(下条指令到表首间加偏移量(下条指令到表首间 ;所有指令占的单元数);所有指令占的单元数)MOVC A,AMOVC A,APC PC ;根据显示数据来查表取段码根据显示数据来查表取段码DIR1DI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基础 课件 10
限制150内