您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第7章显示器与键盘接口技术0
非编码键盘接口键盘与显示系统第七章显示器与键盘接口技术LED数码管显示接口LED(发光二极管)是单片机系统的重要外设,用于显示控制过程和运算结果。第七章显示器与键盘接口技术第一节LED数码管显示接口1.LED数码管显示原理◆LED显示器是单片机应用系统常用的输出器件。由若干发光二极管组成。◆控制不同组合的发光二极管导通,就能显示出各种不同的字形。◆这种显示器可分为共阴极和共阳极两种,它们的结构分别如右图。第一节LED数码管显示接口第七章显示器与键盘接口技术GGabcdefgspspgfedcbadp.gfedcbadpcGdegfGab(a)外型(b)共阴极(c)共阳极图7-1LED显示器结构图表7-1八段LED段码表第一节LED数码管显示接口第七章显示器与键盘接口技术显示字符共阴极接法八段状态spgfedcba共阴极接法段码(十六进制)共阳极接法段码(十六进制)0001111113FHC0H10000011006HF9H2010110115BHA4H3010011114FHB0H40110011066H99H5011011016DH92H6011111017DH82H70000011107HF8H8011111117FH80H9011011116FH90HA0111011177H88Hb011111007CH83Hc0011100139HC6Hd010111105EHA1HE0111100179H86HF0111000171H8EH灭(空格)0000000000HFFHP0111001173H8CHH0111011076H89H.1000000080H7FH-0100000040HBFH2.数码管显示器的显示方式◆单片机应用系统,通常由多块LED显示器构成一个N位的LED显示器;◆N位LED显示器有N根位选线和8×N根段选线;◆位选线用于选中一个LED显示器,段选线控制显示的字形。第一节LED数码管显示接口第七章显示器与键盘接口技术显示方式分类静态显示动态显示1).数码管显示器的静态显示方式◆静态显示是指LED显示器显示某一字符时,相应的发光二极管恒定导通或恒定截止。●图7-2所示为单片机AT89C51控制的2位静态LED显示器接口电路,图中显示器为共阳极显示器。第一节LED数码管显示接口第七章显示器与键盘接口技术LED1LED2GGabcdefggfedcba图7-2数码管静态显示实例◆图7-3所示流程图:完成0~99的计数功能。其中LED2显示十位计数值,LED1显示个位计数值。●静态显示唯有当计数值发生改变时,才进行数据的显示更新!第一节LED数码管显示接口第七章显示器与键盘接口技术开始初始化系统延时1S个位计数值加1个位计数值=10?个位计数值清0,且十位计数值加1十位计数值=10?十位计数值清0数据显示结束YYNN图7-3数码管静态显示程序流程图实例7-1:根据如图7-2所示的数码管静态显示实例和图7-3所示的流程图,请列写出实现0~99循环计数静态显示的程序()。第一节LED数码管显示接口第七章显示器与键盘接口技术MHzfosc12解:相应程序如下:CNT_HEQU61H;计数待显示十位数据CNT_LEQU60H;计数待显示个位数据ORG0000HLJMPMAINORG0066HMAIN:MOVSP,#70HMOVCNT_H,#00H;清除RAM61H、60H单元内容MOVCNT_L,#00HLCALLDISPLAY;调用显示子程序第一节LED数码管显示接口第七章显示器与键盘接口技术LOOP:LCALLDELAY1SINCCNT_LMOVA,CNT_LXRLA,#10JNZDSPMOVCNT_L,#00HINCCNT_HMOVA,CNT_HXRLA,#10JNZDSPMOVCNT_H,#00H第一节LED数码管显示接口第七章显示器与键盘接口技术DSP:LCALLDISPLAY;调用显示子程序LJMPLOOP;*********************************************DISPLAY:MOVDPTR,#TABLE;显示子程序MOVA,CNT_HMOVCA,@A+DPTRMOVP3,AMOVDPTR,#TABLEMOVA,CNT_LMOVCA,@A+DPTRMOVP1,ARET第一节LED数码管显示接口第七章显示器与键盘接口技术;*********************************************DELAY1S:MOVR3,#04H;延时1秒子程序LOOP3:MOVR2,#0FAHLOOP2:MOVR1,#0F9HNOPLOOP1:NOPNOPDJNZR1,LOOP1DJNZR2,LOOP2DJNZR3,LOOP3RETTABLE:DBC0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND2).数码管显示器的动态显示方式◆动态显示是一位一位地轮流循环点亮各位显示器。◆每位延时点亮的时间为1~5ms。◆利用人眼的视觉暂留效应,就可以给人同时显示的感觉。●图7-4所示为单片机AT89C51控制的2位动态LED显示器接口电路第一节LED数码管显示接口第七章显示器与键盘接口技术LED1LED2abcdefgdpGAB/BACEA1A2A3A4A5A6A7A0B0GdpgfedcbaB7B6B5B4B3B2B1图7-4数码管动态显示实例◆图7-5所示流程图:完成00~99的计数功能。●共阳极显示器!●为了实现电路的动态扫描,程序采用T0溢出中断方式,实现4ms的动态扫描。第一节LED数码管显示接口第七章显示器与键盘接口技术图7-5数码管动态显示程序流程图开始初始化系统(T0定时器初始化、T0开中断)延时1S个位计数值加1个位计数值=10?个位计数值清0,且十位计数值加1十位计数值=10?十位计数值清0结束YNYN动态显示T0中断服务子程序显示控制位取反显示控制位=1?个位数码管阳极置高电平十位数码管阳极置低电平查找个位数据编码个位数码管阳极置低电平十位数码管阳极置高电平查找十位数据编码数据端口=数据编码恢复现场保护现场中断返回YNT0重装初值实例7-2:根据如图7-4所示的数码管动态显示实例和图7-5所示的流程图,请编写实现0~99循环计数动态显示程序()。第一节LED数码管显示接口第七章显示器与键盘接口技术MHzfosc12解:相应程序如下:H_CEQUP1.0;P1.0控制十位数码管阳极L_CEQUP1.1;P1.1控制个位数码管阳极PORT_GEQUP3;数码管数据端DSP_CEQU20H.0;显示控制位:1-显示个位,0-显示十位CNT_HEQU61H;计数待显示十位数据CNT_LEQU60H;计数待显示个位数据ORG0000HLJMPMAINORG000BHLJMPINT_T0第一节LED数码管显示接口第七章显示器与键盘接口技术ORG0066HMAIN:MOVSP,#70HMOVCNT_H,#00H;清除RAM61H、60H单元内容MOVCNT_L,#00HMOVTMOD,#01HMOVTH0,#0F0H;T0装初值,延时4msMOVTL0,#5FHSETBET0SETBEASETBTR0第一节LED数码管显示接口第七章显示器与键盘接口技术LOOP:LCALLDELAY1S;调用延时1秒子程序INCCNT_LMOVA,CNT_LXRLA,#10JNZLOOPMOVCNT_L,#00HINCCNT_HMOVA,CNT_HXRLA,#10JNZLOOPMOVCNT_H,#00HLJMPLOOP第一节LED数码管显示接口第七章显示器与键盘接口技术;*********************************************INT_T0:PUSHACC;T0中断,实现动态显示PUSHPSWCPLDSP_C;显示子程序JBDSP_C,DSPLCLRL_CSETBH_CMOVDPTR,#TABLEMOVA,CNT_HMOVCA,@A+DPTRLJMPDPS_END第一节LED数码管显示接口第七章显示器与键盘接口技术DSPL:CLRH_CSETBL_CMOVDPTR,#TABLEMOVA,CNT_LMOVCA,@A+DPTRDPS_END:MOVPORT_G,AMOVTH0,#0F0H;T0重装初值MOVTL0,#5FHPOPPSWPOPACCRETI第一节LED数码管显示接口第七章显示器与键盘接口技术;*********************************************DELAY1S:MOVR3,#04H;延时1秒子程序LOOP3:MOVR2,#0FAHLOOP2:MOVR1,#0F9HNOPLOOP1:NOPNOPDJNZR1,LOOP1DJNZR2,LOOP2DJNZR3,LOOP3RETTABLE:DB0C0H,0F9H,0A4H,0B0H,99H,92HDB82H,0F8H,80H,90HEND◆键盘是若干按键的集合,是单片机的常用输入设备,操作人员可以通过键盘输入数据或命令,实现人机通信;◆单片机的键盘通常使用机械触点式按键开关;●图7-6反映了按键触点的机械抖动情况。第七章显示器与键盘接口技术第二节非编码键盘接口图7-6按键触点的机械抖动理想波形实际波形稳定闭合释放抖动按下抖动◆触点去抖动:分软件去抖动(软件延时10ms)和硬件去抖动;◆键盘可以分为独立连接式和行列(矩阵)式两类,每一类又可根据对键盘的译码方法分为编码键盘和非编码键盘两种类型。第七章显示器与键盘接口技术第二节非编码键盘接口◆编码键盘是通过一个编码电路来识别闭合键的键码,具有去抖动功能,但硬件较复杂,PC机所用的标准键盘就属于这种;◆非编码键盘是通过软件来识别键码,需占用CPU一定的时间,但硬件简单,可以方便地增减键的数量,单片机应用系统中得到广泛的应用;◆本节仅介绍非编码键盘的原理和接口电路。第七章显示器与键盘接口技术第二节非编码键盘接口1.独立式按键接口◆独立式键盘是每个按键独立地占用一根数据输入线,图7-7所示。◆通常应用于按键数量较少的场合。第二节非编码键盘接口第七章显示器与键盘接口技术图7-7AT89C51对独立式键盘的接口实例7-3:根据如图7-7所示的AT89C51单片机与独立式键盘的接口电路,请用查询的方式写出其键盘扫描程序。第二节非编码键盘接口第七章显示器与键盘接口技术解:相应程序如下:ORG0100HKEYSCAN:MOVP1,#0FFH;置P1口为输入态MOVA,P1;读入键值LCALLDELAY10ms;延时10ms,去抖动MOVB,P1;再读键值CJNEA,B,GORET;两次键值不一致,直接返回JNBACC.0,KEY0;0号键按下,转0号键功能程序JNBACC.1,KEY1;1号键按下,转1号键功能程序JNBACC.2,KEY2;2号键按下,转2号键功能程序JNBACC.3,KEY3;3号键按下,转3号键功能程序JNBACC.4,KEY4;4号键按下,转4号键功能程序JNBACC.5,KEY5;5号键按下,转5号键功能程序JNBACC.6,KEY6;6号键按下,转6号键功能程序JNBACC.7,KEY7;7号键按下,转7号键功能程序GORET:RET;从键盘服务子程序返回第一节LED数码管显示接口第七章显示器与键盘接口技术KEY0:LCALLFUNC0;执行0号键功能服务程序RET;从键盘服务子程序返回KEY1:LCALLFUNC1;执行1号键功能服务程序RET;从键盘服务子程序返回KEY2:LCALLFUNC2;执行2号键功能服务程序RET;从键盘服务子程序返回KEY3:LCALLFUNC3;执行3号键功能服务程序RET;从键盘服务子程序返回KEY4:LCALLFUNC4;执行4号键功能服务程序RET;从键盘服务子程序返回KEY5:LCALLFUNC5;执行5号键功能服务程序RET;从键盘服务子程序返回KEY6:LCALLFUNC6;执行6号键功能服务程序RET;从键盘服务子
本文标题:第7章显示器与键盘接口技术0
链接地址:https://www.777doc.com/doc-370685 .html