C7第七章单片机接口技术

上传人:飞*** 文档编号:7519606 上传时间:2017-08-10 格式:PPT 页数:75 大小:1.84MB
返回 下载 相关 举报
C7第七章单片机接口技术_第1页
第1页 / 共75页
C7第七章单片机接口技术_第2页
第2页 / 共75页
C7第七章单片机接口技术_第3页
第3页 / 共75页
C7第七章单片机接口技术_第4页
第4页 / 共75页
C7第七章单片机接口技术_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《C7第七章单片机接口技术》由会员分享,可在线阅读,更多相关《C7第七章单片机接口技术(75页珍藏版)》请在金锄头文库上搜索。

1、人机接口键盘接口显示器接口模拟量输入/输出接口D/A转换接口A/D转换接口通信接口,第章单片机接口技术,本章内容,Single Chip Microcomputer,PC机除了主机以外还需要哪些部分呢?,单片机电路有时候也需要键盘、显示等外设。,7.1 键盘接口,按键的特点及输入原理独立式按键矩阵式按键,按键的特点及输入原理,按键的分类: 触点式:机械;无触点式:电气键输入原理: 通过按键的接通与断开,产生两种相反的逻辑状态 低电平“0”与高电平“1”。 键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加

2、器ACC,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。,键盘接口需要解决的问题,是否有键按下,按键识别:,键抖动及消除:,机械按键抖动时间在5ms10ms之间,硬件方案双稳态去抖电路,软件方案延时10ms20ms后再次判断,消除方法:,求键号,独立式按键,接口电路:,特点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。,例1:用P1口检测三个按键的状态并完成相应的功能,解:,资源分配:用P1口的低3位检测3个按键的输入,为1则表示按键没有按下,为0则表示相应按键被按下。

3、,流程图:,ORG 0000HKB: MOV P1,#0FFH MOV A,P1 CPL A ANL A,#0FH JZ KB LCALL D10MS MOV A,P1 CPL A ANL A,#0FH JZ KB CJNE A,#01H,KB01 LCALL PGM1 SJMP KBKB01:CJNE A,#02H,KB02 LCALL PGM2 SJMP KBKB02:CJNE A,#04H,KB LCALL PGM3 SJMP KB END,编程:按三个按键中的任一键都对应一个特定功能。,矩阵式按键,关键:如何判断键号?,接口电路:,特点:按键识别应采用扫描法或线路反转法 编程较为复杂,

4、节省口资源,8键以上使用,键盘扫描子程序一般包括以下内容: 1.判别有无键按下; 2.扫描获取闭合键的行、列值; 3.用计算法或查表法得到键值; 4.判断闭合键释放否,如没释放则继续等待; 5.保存闭合键号。,键按下/释放判断,KS: MOV A,#00H MOV P1,A ;全扫描字#00H送P1口 MOV P1,#0FH MOV A,P1 ;读入P1口状态 CPL A ;变正逻辑,高电平表示有键按下 ANL A,#0FH ;取低4位 RET ;返回,A0表示有键按下,按键识别扫描法,流程: 当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0

5、列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。 键号=行首键号(0、4、8、12)+列号(0、1、2、3),原理: 在某一时刻只让一条列线处于低电平,其余列线均处于高电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。,例2:键盘扫描程序,SERCH: MOV R2,#0EFH MOV R3,#00H LINE0: MOV A,R2 MOV P1,A MOV A,P1 JB ACC.3,LINE1 MOV A,#00H AJMP TRYKLINE1: JB ACC.2,LINE2 MOV A,#04H AJMP TRYK LINE

6、2: JB ACC.1,LINE3 MOV A,#08H,AJMP TRYKLINE3: JB ACC.3,LINE4 MOV A,#0CH AJMP TRYKLINE4: INC R3 MOV A,R2 RL A JNB ACC.0,BACK MOV R2,A AJMP LINE0 TRYK: ADD A,R3BACK: RET,定时扫描方式,定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10 ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。,中断扫描方式,为提高CPU工作

7、效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。,7.2 显示器接口技术,LED的结构和显示原理静态显示方式动态显示方式动态显示的实现,动态显示方式,问题引入:,LED显示器如何显示出指定数字/字符?,例:模拟产品计数显示电路,编程,ORG1000HSTAR:MOVTMOD,#60H;定时器T1工作在方式2计数 MOVTH1,#00H ;T1置初值 MOVTL1,#00HMAIN:MOVP1,#0C0H;数码管显示0 DISP:JB P3.3,DISP ;监测按键信号 ACALLDELAY;

8、消抖延时 JB P3.3,DISP ;确认低电平信号DISP1:JNB P3.3,DISP1;监测按键信号 ACALLDELAY;消抖延时 JNBP3.3,DISP1;确认高电平信号 SETB TR1 ;启动计数器DISP2:MOV A,TL1 MOVC A,A+DPTR ;查表获取数码管显示值 MOVP1,A ;数码管显示计数值 CJNE A,#8E,DISP2 LJMPSTAR TAB:0C0H,0F9H,0A4H DELAY:MOV R2,#14HDELAY1:MOV R3,#0FAH DJNZ R3,$ DJNZ R2,DELAY1 RET END,静态显示方式,连接 所有LED的位选

9、均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。 特点 原理简单;显示亮度强,无闪烁;占用I/O资源较多。,动态显示方式,连接 所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个LED的位选分别由一根相应的I/O口线控制。因此必须采用动态扫描显示方式,每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字型码。,动态显示基本原理,电路的接法决定了必须采用逐位扫描显示方式。即从段选口送出某位LED的字型码,然后选通该位LED, 并保持一段延时时间。然后选通下一位,直到所有位扫 描完。,要注意的两个问题:,

10、1.字型码通常通过查表指令MOVC来求得.,2.换位显示时通常要加一段程序使所有的LED全灭.,动态显示程序流程图,采用动态扫描方式依次循环点亮各位数码管,构成多位动态数码管显示电路。,开 始,显示缓冲区首地址送R0显示位数送R2,起始显示位送R3,禁止所有位(关显示),从缓冲区取要显示的数,查表得字型码,指向段选口,送字型码,指向位选口,送位选码,延时,指向显示缓冲区下一个单元,位选码左移,结束,1,1,扫描完一遍吗?,Y,N,试编制程序,要求当其中某一按键压下时与其对应的二极管将被点亮。,课堂练习,7.3 D/A转换器接口,D/A转换器的作用典型芯片DAC0832DAC0832的应用,D/

11、A转换器的作用,将数字量转换为模拟量,以便操纵控制对象。,D/A转换器的主要指标 转换速度:一般几十微秒到几百微秒,快速的可达1微秒。转换精度(分辨率):决定于输入数字量的位数,位数越多,精度越高。,典型芯片-DAC0832介绍,DAC0832是一个八位D/A转换器,转换时间1微秒,结构如下:,DAC0832功能分析,DI0-DI7:转换数据输入CS:片选信号,因此,DAC0832可以有三种工作形式:直通、单级锁存、两级锁存。,单缓冲方式的接口(1),一个处于直通方式,另一个处于受控的锁存方式,“同时”做何解释?,单缓冲方式的接口(2),两个输入寄存器同时受控的方式,单缓冲方式的应用 产生锯齿波,假定采用接口(1)方式,即输入寄存器受控,而DAC寄存器直通,输入寄存器地址为E000H,产生锯齿波。,源程序清单如下: ORG 0200 MOV DPTR,#0E000H ;指向输入寄存器地址 MOV A,#00H ;转换初值 WW: MOVX DPTR,A ;WR1有效,启动D/A转换 INC A NOP ;延时 NOPAJMP WW,1/28,2/28,3/28,254/28,255/28,0,产生的锯齿波的过程,D/A转换产生的锯齿波,

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

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号