uCCh81键盘显示sxj课件

上传人:阳*** 文档编号:107525941 上传时间:2022-06-14 格式:PPT 页数:52 大小:1.04MB
收藏 版权申诉 举报 下载
uCCh81键盘显示sxj课件_第1页
第1页 / 共52页
uCCh81键盘显示sxj课件_第2页
第2页 / 共52页
uCCh81键盘显示sxj课件_第3页
第3页 / 共52页
资源描述:

《uCCh81键盘显示sxj课件》由会员分享,可在线阅读,更多相关《uCCh81键盘显示sxj课件(52页珍藏版)》请在装配图网上搜索。

1、uCCh81键盘显示sxj课件第第8 8章章 键盘显示及模拟量通道技键盘显示及模拟量通道技术术8.1 8.1 键盘键盘/ /显示器接口扩展技术显示器接口扩展技术8.2 8.2 模拟量模拟量I/OI/OuCCh81键盘显示sxj课件8.1 8.1 键盘键盘/ /显示器接口扩展技术显示器接口扩展技术p8.1.1 8.1.1 显示器结构与工作原理显示器结构与工作原理p8.1.2 8.1.2 键盘接口工作原理键盘接口工作原理uCCh81键盘显示sxj课件8.1.1 8.1.1 显示器结构与工作原理显示器结构与工作原理p显示器概述显示器概述n作用作用p显示单片机的运行结果与运行状态显示单片机的运行结果与

2、运行状态n分类分类pLED(LED(发光二极管发光二极管) ):亮度清晰、成本低、控制简单:亮度清晰、成本低、控制简单pLCD(LCD(液晶液晶) ):功耗低:功耗低pCRT(CRT(阴极射线管阴极射线管) ):图形显示方便:图形显示方便n使用场合使用场合p电子显示屏、工业测控领域、仪器仪表、电子钟、电子显示屏、工业测控领域、仪器仪表、电子钟、家用电器等家用电器等uCCh81键盘显示sxj课件LEDLED数码管显示器结构数码管显示器结构uCCh81键盘显示sxj课件LEDLED数码管显示原理与段码数码管显示原理与段码共阳段码表共阳段码表共阴段码表共阴段码表3FHC0HuCCh81键盘显示sxj

3、课件显示代码表显示代码表 uCCh81键盘显示sxj课件LEDLED数码显示方法数码显示方法p静态静态p动态动态uCCh81键盘显示sxj课件2 2. . 静态显示法接口设计静态显示法接口设计p静态显示静态显示n每个显示器每个显示器各笔画段各笔画段都独占具有都独占具有锁存功能锁存功能的输出口线的输出口线n因为各笔画段接口具有锁存功能,因为各笔画段接口具有锁存功能,CPUCPU不再去访问它,不再去访问它,显示的内容也显示的内容也不会消失不会消失p优点优点n程序简单,显示亮度大程序简单,显示亮度大, ,节约了节约了CPUCPU时间时间p缺点缺点n占用的占用的I/OI/O口线较多,成本较高口线较多,

4、成本较高uCCh81键盘显示sxj课件典型静态显示接口图一典型静态显示接口图一uCCh81键盘显示sxj课件程序程序(1)(1):8位显示,显示缓冲位显示,显示缓冲30H-37H,用串口方式用串口方式0DIS:MOV SCON, #00HMOV R0, #30HMOV R7, #08HMOV DPTR, #TABLP:MOV A, R0MOVC A, A+DPTRMOV SBUF, AJNB TI, $CLR TIINC R0DJNZ R7, LPRETTAB: DB 3FH,06H,uCCh81键盘显示sxj课件CLKBIT P1.0DABBIT P1.1DIS:MOV R0, #30HMO

5、V R7, #08HMOV DPTR, #TABLP:MOV A, R0MOVCA, A+DPTRMOV R6, #08H程序程序(2)(2):8 8位显示:显示缓冲位显示:显示缓冲3030H-37HH-37H, 用用P1.0-CLK,P1.1-DABP1.0-CLK,P1.1-DABLP0:CLRCLKRRCA ;循环右移循环右移MOVDAB, CSETBCLKDJNZR6, LP0 INCR0DJNZR7, LPRETTAB:DB 3FH,06H, P1.0P1.1uCCh81键盘显示sxj课件典型静态显示接口图二典型静态显示接口图二uCCh81键盘显示sxj课件静态显示应用静态显示应用u

6、CCh81键盘显示sxj课件静态显示应用静态显示应用uCCh81键盘显示sxj课件3 3. . 动态扫描显示法接口设计动态扫描显示法接口设计p动态扫描显示动态扫描显示n对于一组对于一组LEDLED数码显示器需要两组信号来控制数码显示器需要两组信号来控制p段码:段码:字段输出口输出的字形代码字段输出口输出的字形代码p位码:位码:输出口的控制信号,选择第几位显示器输出口的控制信号,选择第几位显示器工作工作n一位一位地显示器数码一位一位地显示器数码动态扫描显示动态扫描显示p利用人的利用人的 “ “视觉暂留效应视觉暂留效应”n显示刷新的频率达到显示刷新的频率达到3030HzHz以上,否则会出现闪烁以上

7、,否则会出现闪烁uCCh81键盘显示sxj课件 例例1 8255A1 8255A作显示器接口作显示器接口p要求要求n6 6个个LEDLED采用采用共阳极共阳极连接连接n79H79H7EH7EH:存放:存放6 6位显示器的显示数据(位显示器的显示数据(0 09 9)n82558255的的A A口:口:LEDLED显示器显示器段段控控n82558255的的C C口:口:LEDLED显示器显示器位位控控uCCh81键盘显示sxj课件p82558255的口地址的口地址nA A口:口:7FFCH7FFCHnB B口:口:7FFDH7FFDHnC C口:口:7FFEH7FFEHn控制寄存器:控制寄存器:7

8、FFFH7FFFH段控段控位控位控共阳极共阳极uCCh81键盘显示sxj课件uCCh81键盘显示sxj课件MODE: MOVA, #80H;10000000B=80H A、C口基本输出口基本输出MOVDPTR, #7FFFH;控制字控制字MOVX DPTR, ADISP:MOVR0, #30H;显示缓冲显示缓冲MOVR2, #01H;6个显示器,个显示器,位选点亮的初始码位选点亮的初始码p程序程序8255A初始化初始化共阳极共阳极uCCh81键盘显示sxj课件LOOP: MOVA, #0FFH;灭码(共阳极)灭码(共阳极)MOVDPTR, #7FFCH;A口为段选口为段选MOVX DPTR,

9、AMOVA, R2MOV DPTR, #7FFEH;C口为位选口为位选MOVX DPTR, AMOVA, R0MOVDPTR, #TABMOVC A, A+DPTR;查段码查段码MOVDPTR, #7FFCH; A口地址口地址MOVX DPTR, A;向向A口输出段码口输出段码ACALL DY1MS;显示数据稳定,可保持亮度显示数据稳定,可保持亮度p82558255的口地址的口地址nA A口:口:7FFCH7FFCHnC C口:口:7FFEH7FFEHuCCh81键盘显示sxj课件INC R0;指向下一个显示缓冲指向下一个显示缓冲MOVA,R2JBACC.5, EXIT ;到到第第6个个数码管

10、了?数码管了?RLAMOVR2, AAJMPLOOPEXIT:RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80HDB90H,88H,83H,0C6H,0A1H,86H,8EH,8CH,0BFH,0FFHuCCh81键盘显示sxj课件8.1.2 8.1.2 键盘接口工作原理键盘接口工作原理p键盘键盘n人机交互的一个重要工具人机交互的一个重要工具n两种基本类型两种基本类型p编码键盘编码键盘 除了按键以外,还包括产生键码的除了按键以外,还包括产生键码的硬件硬件电路电路 使用方便、价格较高使用方便、价格较高 p非编码非编码键盘键盘 靠靠软件软件来识别键盘

11、上的闭合键,由此计算出编码来识别键盘上的闭合键,由此计算出编码几乎不需要附加硬件逻辑几乎不需要附加硬件逻辑 在单片机应用系统中被普遍使用在单片机应用系统中被普遍使用uCCh81键盘显示sxj课件1.1. 非编码非编码键盘键盘的工作原理的工作原理 p分类分类n硬件编码式键盘、二维直读式键盘硬件编码式键盘、二维直读式键盘n独立式键盘独立式键盘简单键盘简单键盘、行列式键盘(矩阵式键盘)、行列式键盘(矩阵式键盘)独立式按键独立式按键 行列式键盘行列式键盘0 1 1 11 0 1 11 1 0 11 1 1 0uCCh81键盘显示sxj课件2. 2. 按键开关去抖动问题按键开关去抖动问题p按键抖动按键抖

12、动n在按下和释放时,按键有抖动在按下和释放时,按键有抖动n按键时间:按键时间:100ms100msn前跳沿和后跳沿:前跳沿和后跳沿:20ms20ms,抖动时间一般为抖动时间一般为5 510ms10msA为确保:对键的为确保:对键的一次闭合一次闭合仅作仅作一次处理一次处理必须:必须:去除抖动去除抖动uCCh81键盘显示sxj课件3. 3. 消除抖动不良后果的方法消除抖动不良后果的方法p 硬件去抖动硬件去抖动nRCRC滤波电路去抖动电路简单实用,效果较好。滤波电路去抖动电路简单实用,效果较好。p 软件去抖动软件去抖动n检测到按键按下后,执行检测到按键按下后,执行延时延时10ms10ms子程序后子程

13、序后再确认再确认该该键是否确实按下,消除抖动影响。键是否确实按下,消除抖动影响。uCCh81键盘显示sxj课件键处理的流程图键处理的流程图 开始键扫描有无键按下去抖动键码计算键释放JMPA+DPTR00#键处理程序01#键处理程序#键处理程序nn#键处理程序A=00HA=01HA=HA=nnHuCCh81键盘显示sxj课件4. 4. 独立式按键独立式按键p处理过程处理过程n查键:扫描有否键按下,若无键按下,返回查键:扫描有否键按下,若无键按下,返回n有键按下软件去抖:延时有键按下软件去抖:延时20ms20msn找键找键n等键释放等键释放n软件去抖:延时软件去抖:延时20ms20msuCCh81

14、键盘显示sxj课件 例例11p有键按下,返回键值;否则,返回有键按下,返回键值;否则,返回0FFH0FFHP10P118051 K1P12P13P14P15K2K3K4K5K6+5VuCCh81键盘显示sxj课件 ; ;准备输入准备输入 等等放放去去抖抖查查键键KE2:MOVB,#0 ;保存键值保存键值0KE3:ANLA,#3FHRRCA;(A.0)CyJNCKE4INCBSJMPKE3KE4:ORLP1,#3FHMOVA,P1ANLA,#3FHCJNEA,#3FH,KE4MOVA,B ;返回键值返回键值CJNEA,#06H,KE5KE5:JCKE6 ;Cy=1,(A)=6KE6:RETKE:

15、ORLP1,#3FH MOVA,P1ANLA,#3FH ;P1.0P1.5CJNEA,#3FH,KE1SJMPKE7 ;无键按下无键按下KE1:LCALL DL20 ;延时去抖延时去抖ORLP1,#3FH ;修改修改P1MOVA,P1 ;读读P1ANLA,#3FHCJNEA,#3FH,KE2SJMPKE7 ;误动作返回误动作返回找找键键uCCh81键盘显示sxj课件5. 5. 矩阵式键盘矩阵式键盘p工作方式工作方式n查询查询n定时定时p每隔一段时间对键盘扫描一次每隔一段时间对键盘扫描一次 利用单片机内部的定时器的定时器溢出中断。利用单片机内部的定时器的定时器溢出中断。n中断中断中断方式中断方式

16、00001 1 1 1uCCh81键盘显示sxj课件p处理过程处理过程n键扫描键扫描p确认有无按键按下确认有无按键按下n去抖动去抖动p延时延时n按键的识别:确定键的行、列号按键的识别:确定键的行、列号p扫描算法扫描算法、线反转法、线反转法n键号的确定键号的确定n等待键释放等待键释放uCCh81键盘显示sxj课件p扫描算法:扫描算法:n逐行逐行置低电平,其余各行为高电平,检查各列电平的置低电平,其余各行为高电平,检查各列电平的变化,如果某列线电平为低电平,即可确定此行列线变化,如果某列线电平为低电平,即可确定此行列线交叉点交叉点处的按键被按下。处的按键被按下。n交换行列线的输出读取关系也可以实现

17、。交换行列线的输出读取关系也可以实现。p线反转法:线反转法:n首先,将行线编程为输入线,列线编程为输出线,然首先,将行线编程为输入线,列线编程为输出线,然后使后使列线线全输出低电平列线线全输出低电平,读取行线电平读取行线电平,行线从高行线从高电平转为低电平的行线为按下按键所在行电平转为低电平的行线为按下按键所在行;n然后,将列线编程为输入线,行线编程为输出线,然然后,将列线编程为输入线,行线编程为输出线,然后使后使行线全输出低电平行线全输出低电平,读取列线电平读取列线电平,列线从高电列线从高电平转为低电平的列线为按下按键所在列平转为低电平的列线为按下按键所在列。uCCh81键盘显示sxj课件

18、例例1 1 扫描算法扫描算法p用用8255A8255A作单片机键盘接口,作单片机键盘接口, A A口为输出口口为输出口接键盘列线。接键盘列线。C C口为输入口口为输入口接键盘的接键盘的4 4条行线条行线8255A8255A地址地址A A口:口:7FFCH7FFCH B B口:口:7FFDH7FFDHC C口:口:7FFEH7FFEH 控制寄存器:控制寄存器:7FFFH7FFFHuCCh81键盘显示sxj课件p子程序子程序 KSI KSI :判定有无闭合键的:判定有无闭合键的KSI:MOVDPTR, #7FFCH;A口地址口地址MOVA, #00HMOVX DPTR, A;A口送口送00HINC

19、DPTRINCDPTR;C口地址口地址MOVX A, DPTR;读读C口口CPLA ANLA, #0FH;屏蔽高四位屏蔽高四位RET0 0 0 0 0 0 0 0有闭合键,则有闭合键,则(A)0无闭合,无闭合, 则则(A)=01 1 1 1uCCh81键盘显示sxj课件KEY1:ACALL KSI;检查是否有键闭合检查是否有键闭合JNZLK1;A非非“0”则转移则转移ACALL DLY6;“延时延时6msAJMPKEY1LK1:ACALL DLY6;有键闭合二次延时有键闭合二次延时ACALL DLY6;共共12ms去抖动去抖动ACALL KSI;再检查是否有键闭合再检查是否有键闭合JNZLK2

20、;有键闭合转移到有键闭合转移到LK2ACALL DLY6AJMPKEY1;无键闭合,延时无键闭合,延时6ms后转后转KEY1有闭合键,有闭合键,则则(A)0无闭合,无闭合, 则则(A)=0uCCh81键盘显示sxj课件LK2:MOVR2, #0FEH;扫描初值送扫描初值送R2MOVR4, #00H;扫描扫描列号列号送送R4,第第0列列LK4:MOVDPTR, # 7FFCH ;A口地址口地址MOVA, R2MOVXDPTR, A;扫描初值送扫描初值送A口口INCDPTRINCDPTR;C口地址口地址MOVXA, DPTR;读读C口口有闭合键,有闭合键,则则(A)0无闭合,无闭合, 则则(A)=

21、00 1 1 1 1 1 1 1uCCh81键盘显示sxj课件JBACC.0, LONE;ACC.0=1,第,第0行无键闭合,转行无键闭合,转LONEMOVA, #00H;装第装第0行值行值AJMPLKPLONE: JBACC.1, LTWO ;ACC.1=1,第,第1行无键闭合,转行无键闭合,转LTWOMOVA, #08H;装第装第1行值行值AJMPLKPLTWO: JBACC.2, LTHR;ACC.2=1,第,第2行无键闭合,转行无键闭合,转LTHRMOVA, #10H;装第装第2行值行值AJMPLKPLTHR: JBACC.3, NEXT;ACC.3=1,第,第3行无键闭合,转行无键闭

22、合,转NEXT MOVA, #18H;装第装第3行值行值LKP:ADDA, R4;计算键码计算键码PUSHACC;保护键码保护键码LK3:ACALL DIR;延时延时6msACALL KSI;检查是否继续闭合,若闭合再延时检查是否继续闭合,若闭合再延时JNZLK3POPACC;若键起,则键码送若键起,则键码送A扫描扫描列号列号:R4uCCh81键盘显示sxj课件NEXT: INCR4;扫描列号加扫描列号加1MOVA, R2JNBACC.7, KEND;若第若第7位位=0,已扫完最高列则转,已扫完最高列则转KNDRLAMOVR2, AAJMPLK4;进行下一列扫描进行下一列扫描KEND: ;扫描

23、完毕扫描完毕扫描扫描列号列号:R4uCCh81键盘显示sxj课件键盘键盘/ /显示一体显示一体 8255 8255接口图接口图uCCh81键盘显示sxj课件小结小结p键盘接口工作原理键盘接口工作原理p相应的程序设计方法相应的程序设计方法uCCh81键盘显示sxj课件uCCh81键盘显示sxj课件实验:键盘扫描显示实验:键盘扫描显示uCCh81键盘显示sxj课件74LS24574LS245p双向总线收发器双向总线收发器 uCCh81键盘显示sxj课件74LS27374LS273p地址锁存器地址锁存器uCCh81键盘显示sxj课件 例例2 2 静态显示两位十进制数静态显示两位十进制数MOV A,

24、#35H;将显示数的将显示数的BCD码送累加器码送累加器AMOV DPTR, #0FEFFH ;取显示口地址取显示口地址MOVX DPTR, A;送显示数送显示数0uCCh81键盘显示sxj课件 例例33uCCh81键盘显示sxj课件DIR1:MOVA,30H;读显示数读显示数 MOVB,#100;置除数置除数 DIVAB;产生百位显示数字产生百位显示数字 MOVDPTR,#TABMOVC A,A+DPTR;读百位显示符读百位显示符(段码段码/字型码字型码) MOVDPTR,#0DFFFH;置置74377(百位百位)地址地址 MOVX DPTR,A;输出百位显示符输出百位显示符(段码段码/字型

25、码字型码) MOVA,B;读余数读余数 MOVB,#10;置除数置除数 DIVAB;产生十位显示数字产生十位显示数字 MOVDPTR,#TAB;置共阳字段码表首址置共阳字段码表首址 MOVC A,A+DPTR ;读十位显示符读十位显示符(段码段码/字型码字型码) MOVDPTR,#0BFFFH;置置74377(十位十位)地址地址 MOVX DPTR,A;输出十位显示符输出十位显示符(段码段码/字型码字型码) 显示存在内显示存在内RAMRAM中中30H30H开始的数据(开始的数据(255255)uCCh81键盘显示sxj课件MOVA,B;读个位显示数字读个位显示数字MOVDPTR,#TAB;置共

26、阳字段码表首址置共阳字段码表首址MOVC A,A+DPTR;读个位显示符读个位显示符MOVDPTR,#7FFFH;置置74377(个位个位)地址地址MOVX DPTR,A;输出个位显示符输出个位显示符RET;共阳字段码表共阳字段码表TAB:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H;uCCh81键盘显示sxj课件 例例2 2 线反转法线反转法uCCh81键盘显示sxj课件KEY:MOVP1, #0F0H;行线置低电平行线置低电平,列线置输入态列线置输入态KEY0: MOVA, P1;读读列列线数据线数据CPLA;数据取反数据取反,“1”有

27、效有效ANLA, #0F0H;屏蔽行线屏蔽行线,保留列线数据保留列线数据MOVR1, A;存列线数据存列线数据(R1高高4位位)JZGRET;全全0,无键按下无键按下,返回返回KEY1: MOVP1, #0FH;行线置输入态行线置输入态,列线置低电平列线置低电平MOVA, P1;读读行行线数据线数据 CPLA;数据取反数据取反,“1”有效有效ANLA, #0FH;屏蔽列线屏蔽列线,保留行线数据保留行线数据MOVR2, A;存行线数据存行线数据(R2低低4位位)JZGRET;全全0,无键按下无键按下,返回返回JBCF0, WAIT;已有消抖标志已有消抖标志,转转SETBF0;无消抖标志无消抖标志

28、,置消抖标志置消抖标志 LCALL DY10ms;调用调用10ms延时子程序消抖延时子程序消抖SJMPKEY0;重读重读行线列线数据行线列线数据GRET: RET参考程序:uCCh81键盘显示sxj课件WAIT:MOVA, P1;等待按键释放等待按键释放CPLA ANLA, #0FHJNZWAIT;按键未释放按键未释放,继续等待继续等待KEY2: MOVA, R1;取列线数据取列线数据(高高4位位)MOVR1, #03H;取取列线编号初值列线编号初值MOVR3, #03H;置循环数置循环数CLRCKEY3: RLCA;依次左移入依次左移入C中中JCKEY4;C=1,该列有键按下该列有键按下,(

29、列线编号存列线编号存R1)DECR1;C=0,无键按下无键按下,修正列编号修正列编号DJNZR3, KEY3;判循环结束否判循环结束否?未结束继续寻找有键按下的列线未结束继续寻找有键按下的列线KEY4: MOVA, R2;取行线数据取行线数据(低低4位位)MOVR2, #00H;置置行线编号初值行线编号初值MOVR3, #03H;置循环数置循环数CLRC KEY5: RRCA;依次右移入依次右移入C中中JCKEY6;C=1,该行有键按下该行有键按下,(行线编号存行线编号存R2)INCR2;C=0,无键按下无键按下,修正行线编号修正行线编号DJNZR3, KEY5;判循环结束否判循环结束否?未结

30、束继续寻找有键按下的行线未结束继续寻找有键按下的行线uCCh81键盘显示sxj课件KEY6: MOVA, R2;取行线编号取行线编号CLRC RLCA;行编号行编号2RLCA;行编号行编号4ADDA, R1;行编号行编号4+列编号列编号=按键编号按键编号KEY7: CLRC RLCA;按键编号按键编号2RLCA;按键编号按键编号4(LCALL+ RET共共4字节字节)MOVDPTR, #TABJ JMPA+DPTR;散转散转,执行相应键功能子程序执行相应键功能子程序TABJ: LCALL WORK0;调用执行调用执行0#键功能子程序键功能子程序RET LCALL WORK1;调用执行调用执行1#键功能子程序键功能子程序RET LCALL WORK15;调用执行调用执行15#键功能子程序键功能子程序RET

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!