[精选]第五章单片机的输入输出设备接口9408.pptx

上传人:muj****520 文档编号:87137339 上传时间:2023-04-16 格式:PPTX 页数:35 大小:591.88KB
返回 下载 相关 举报
[精选]第五章单片机的输入输出设备接口9408.pptx_第1页
第1页 / 共35页
[精选]第五章单片机的输入输出设备接口9408.pptx_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《[精选]第五章单片机的输入输出设备接口9408.pptx》由会员分享,可在线阅读,更多相关《[精选]第五章单片机的输入输出设备接口9408.pptx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第五章 单片机的输入/输出设备接口第一节 键盘接口编码键盘:编码键盘:硬件方式产生编码非编码键盘:非编码键盘:软件方式产生编码非编码键盘:结构简单、成本低廉 键按行列构成矩阵,每一个交叉点对应一个键,实际是一个机械开关。非编码键盘的接口技术的主要内容是如何确定被按键的行列位置。一、键盘接口概述一、键盘接口概述1单片机实现键盘接口的常用方法独立式键盘独立式键盘:由一组相互独立的按键组成,每个按键与一位I/O口相连,接口简单,但是占用I/O口较多。矩阵式按键矩阵式按键:键按行列组成矩阵,行和列相交处安放一个按键,每条行线或列线与一位I/O相连,节省I/O资源。2键盘输入接口解决的任务键盘扫描和去抖

2、动按键开关在电路中的连接图按键未按下时,A点的电平位+5V;按下时,A点的电平位低电平;由于按键是机械的弹性开关,在按下和断开时,触点在闭合和断开时,会引起A点电位的不稳定,一般有510ms的抖动,导致误信号,使CPU产生错误的处理。硬件去抖动方法:R-S触发器消抖电路触发器消抖电路+5V 闭合 断开 滤波消抖电路滤波消抖电路软件去抖方法:采用延迟躲过抖动,待信号稳定后,再进行键扫描。延迟时间1020ms。键值或键号的计算 当确定有键按下时,需进一步根据行线和列线的状态确定按下键的值或键号,以实现键功能的程序。等待键释放 获得键值后在以延时或查询的方法等待键释放,以保证键的一次闭合只进行一次键

3、功能的实现。确定键盘的监控方法 中断方式执行。当有键被按下时,向单片机发出中断请求,中断响应后执行键盘扫描工作。定时方式执行。利用内部定时计数器完成一段时间的重复定时,每次定时完成执行一次键盘扫描工作。二、独立式按键二、独立式按键独立式按键:每个按键单独占有一根I/O资源,当按键较多时,I/O资源占用较多。其优点是程序设计简单。eg、三个按键与8031的连接电路,试编制按键扫描子程序。KEY:MOV P1,#07HMOV A,P1CPL AANL A,#07HJZ GRETJB ACC.0,KEY1JB ACC.1,KEY2JB ACC.2,KEY3GRET:RETKEY1:LCALL WOR

4、K1KEY2:LCALL WORK2KEY3:LCALL WORK3 RET三、矩阵式按键三、矩阵式按键1矩阵式键盘的工作原理 X0X3为键盘的行线,通过电阻接+5V;Y0Y3为键盘的列线,由单片机控制其输入信号。每条行线和列线处有一个按键结构,当所有键未被按下时,行线与列线断开,每条行线都呈现高电平。当有键被按下时,按键所在行线与列线短路,此时行线的电平由列线的电位所决定。2矩阵式键盘接口 48键盘、6位显示器和803l的接口逻辑。图中8031外接一片8155,8155的RAM地址为7E007EFFH,IO口地址为7F007F05H,8155的PA口为输出口,控制键盘的列线Y0Y7的电位作为

5、键扫描口,同时又是6位显示器的扫描口,PB口作为显示器的段数据口,8155的C口作为输入口,PC0PC3接行线Y0Y3,称为键输入口。3键盘扫描程序键输入程序的功能:(1)判别键盘上有无键闭合:其方法为扫描口PA0PA7输出全“0”,读PC口的状态,若PC0PC3,为全“1”(键盘上行线全为高电平),则键盘上没有闭合键;若PC0PC3不为全“1”,则有键处于闭合状态。(2)去除键的机械抖动:其方法为判别到键盘上有键闭合后,延迟一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合期,否则,认为是键的抖动。(3)判别闭合键的键号:方法为对键盘的列线进行扫描,扫描口PA0PA7

6、依次输出:PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 :0 1 1 1 1 1 1 1 相应地顺次读出PC口的状态,若PC0PC3为全“1”,则列线输出为“0”的这一列上没有键闭合;否则,这一列上有键闭合。闭合键的键号等于为低电平的列号加上为低电平的行的首键号。eg、PA口的输出为11111101时,读出PC0PC3为1101,则1行1列相交的键处于闭合状态,第一行的首键号为8,列号为1,闭合键的键号为:N:行首键号+列号8+19(4)使CPU对键的一次闭合仅作一次处理:采用的方法为等待闭合键释放以后再作处理。

7、程序中把显示子程序作为去抖动延时子程序,这可使得进入键输入子程序后,显示器始终是亮的。该程序返回后输入键的键号在A。键输入子程序的框图:键盘扫描程序如下:KEY1:ACALL KS1 ;调用判别有无键闭合子程序 JNZ LK1 ACALL DIR ;调用显示子程序,延迟6ms AJMP KEY1 LK1:ACALL DIR ACALL DIR ACALL KS1 ;调用判别有无闭合键子程序 JNZ LK2 ACALL DIR AJMP KEY1 LK2:MOV R2,#0FEH ;扫描初值送R2 MOV R4,#00H ;扫描列号送R4 LK4:MOV DPTR,#7F01H ;指向A口 MO

8、V A,R2 MOVX DPTR,A ;扫描初值送A口 INC DPTR INC DPTR MOVX A,DPTR ;读8155C口 JB ACC.0,LONE ;ACC.01,第0行无键按 下,转LONE MOV A,#00H ;装第0行行值 AJMP LKP ;转去计算键值LONE:JB ACC.1,LTWO ;ACC.11,第1行无键按下,转TWO MOV A,#08H ;装第1行行值 AJMP LKP ;转去计算键值LTWO:JB ACC.2,LTHR ;ACC.21,第2行无键按下,转THR MOV A,#10H ;装第2行行值 AJMP LKP ;转去计算键值LTHR:JB ACC

9、.3,NEXT ;ACC.31,第3行无键按下,转NEXT MOV A,#18H ;装第3行值 LKP:ADD A,R4 ;计算键值 PUSH ACC ;保护键值 LK3:ACALL DIR ;延时6ms ACALL KS1 ;查键是否继续闭合,若闭合再延时 JNZ LK3 POP ACC ;若键起,则键码送A RET NEXT:INC R4 MOV A,R2 JNB ACC.7,KND RL A MOV R2,A AJMP LK4KND:AJMP KEY1KS1:MOV DPTR,#7F01H ;指向A口 MOV A,#00H MOVX DPTR,A ;全“0”扫描 INC DPTR INC

10、 DPTR ;指向C口 MOVX A,DPTR ;读键入状态 CPL A ANL A,#0FH ;屏蔽高位 RET DIR:;显示子程序,延迟6ms第二节 LED显示器接口一、显示器的结构一、显示器的结构管脚配置及外形图管脚配置及外形图 共阴极共阴极 共阳极共阳极七段LED显示器的显示码(段选码)二、显示方式二、显示方式1LED静态显示方式静态显示方式:当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。优点:显示稳定,节省CPU时间。缺点:I/O口线多。利用串行口扩展两片静态显示电路利用串行口扩展两片静态显示电路 设显示缓冲区为30H、31H,由R1作显示缓冲区的地址指针,74LS1

11、64的清零端CLR由P1.0控制,低电平有效。程序设计如下:DISP:MOV R6,#02H ;显示位数 MOV R1,#30H ;设显示区指针 MOV SCON,#00H ;设串行口控制寄存器,方式0LOOP:MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR ;查表,获得显示码 MOV SBUF,A ;送去显示 JNB TI,$;等待发送完毕 CLR TI INC R1 ;取下一个数 DJNZ R6,LOOP RET TAB:DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H2LED动态显示方式动态显示方式:一位一位地轮流点亮各位显示

12、器(扫描)。LED动态接口电路显示缓冲区显示缓冲区 在RAM中设置,用于存放要显示的数字或字符。位控口地址0FF20H(PA口),段控口地址0FF21H(PB口),控制口地址0FF23H。数码管为共阴极,驱动74LS240为反相器,段码取用“共阳极段选码”;位驱动75451为同相。字位表字位表 20H 10H 08H 04H 02H 01H ORG 2000HDISUP:MOV P2,#0FFH MOV A,#081H ;定义8155工作方式 MOV DPTR,#0FF23H MOVX DPTR,A MOV R0,#79H ;显示缓冲区首地址 MOV R3,#01H ;位选码 MOV A,R3

13、DISUP1:CPL A MOV R1,#20H ;指向A口 MOVX R1,A INC R1 ;指向B口 MOV A,R0 ;取显示数据 MOV DPTR,#2100H MOVC A,A+DPTR ;查表取段数据 MOVX R1,A LCALL DL1 ;延时1ms INC R0 MOV A,R3 JB ACC.5,DISUP RL A MOV R3,A SJMP DISUP1 ORG 2100H DB 0C0H,0F9H,0A4H,0B0H,99H 92H,82H,0F8H,80H,90H ORG 2200HDL1:MOV R7,#02HDL:MOV R6,#0FFHDL6:DJNZ R6

14、,DL6 DJNZ R7,DL RET电脑时钟(定时、中断、显示综合实验)电脑时钟(定时、中断、显示综合实验)以秒、分、时为单位实现时钟计时。1实现时钟计时的基本方法(1)计数初值计算定时器的定时时间定为125ms,计数溢出8次即得到时钟计时的最小单位秒,而8次计数用软件方法实现。T0,方式1,fosc=6MHz,计数初值为X,则:(216-X)2125000 X6070,二进制表示为1011110110110,十六进制表示为17B6H。(2)采用中断方式进行溢出次数的累计。计满8次即得到秒计时。(3)从秒到分和从分到时的计时是通过累加和数值比较实现。(4)时钟显示及显示缓冲区 2程序流程及程

15、序清单(1)主程序(MAIN)主程序的主要功能是进行定时器计数器的初始化编程,然后通过反复调用显示子程序的方法,等待125ms定时中断的到来。(2)显示子程序(DISUP)ORG 0000HSTART:LJMP MAIN ORG 000BH LJMP PITO ORG 1000H ;主程序 MAIN:MOV SP,#60H ;定义堆栈 MOV R0,#79H ;显示单元清0 MOV R7,#06H ML1:MOV R0,#00H INC R0 DJNZ R7,ML1 MOV TMOD,#01H MOV TL0,#B6H MOV TH0,#17H SETB TR0 SETB EA SETB ET

16、0 MOV 30H,#08H ;设置循环次数 ML0:LCALL DISUP ;调用显示子程序 SJMP ML0(3)中断服务程序(PITO)中断服务程序的主要功能是进行计时操作。程序开始先判断计数溢出是否满了8次,不满8次表明还没达到最小计时单位秒,中断返回;如满8次则表明已达到最小计时单位秒,程序继续向下执行,进行计时操作。ORG 1200H ;中断服务程序PITO:PUSH PSW ;现场保护 PUSH ACC SETB PSW.3 MOV TL0,#0B6H ;置定时器初值 MOV TH0,#17H MOV A,30H DEC A MOV 30H,A JNZ RET0 MOV 30H,

17、#08H MOV R0,#7AH ACALL DAADl ;秒+1 MOV A,R2 XRL A,#60H JNZ RET0 ACALL CLR0 ;秒单元清0 MOV R0,#7CH ACALL DAAD1 ;分+1 MOV A,R2 XRL A,#60H JNZ RET0 ACALL CLR0 ;分单元清0 MOV R0,#7EH ACALL DAAD1 ;时+1 MOV A,R2 XRL A,#24H JNZ RT0 ACALL CLR0 ;时单元清0RET0:POP ACC POP PSW RETI(4)加1子程序(DAAD1)加1子程序用于完成对秒、分和时的加1操作。中断服务程序中在秒、分、时加1时共有三处调用此子程序。ORG 1400H ;加1子程序DAAD1:MOV A,R0 DEC R0 SWAP A ORL A,R0 ADD A,#01H DA A MOV R2,A ANL A,#0FH MOV R0,A MOV A,R2 INC R0 ANL A,#0F0H SWAP A MOV R0,A RET(5)显示单元清0子程序(CLR0)ORG 1500HCLR0:CLR A MOV R0,A DEC R0 MOV R0,A RET

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 一级建造

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁