1 / 75

人机接口 键盘接口 显示器接口 模拟量输入 / 输出接口 D/A 转换接口 A/D 转换接口 通信接口

人机接口 键盘接口 显示器接口 模拟量输入 / 输出接口 D/A 转换接口 A/D 转换接口 通信接口. 第 章 单 片 机 接口技术. Single Chip Microcomputer. 本章内容. PC 机除了主机以外还需要哪些部分呢?. 单片机电路有时候也需要键盘、显示等外设。. 7.1 键盘接口. 按键的特点及输入原理 独立式按键 矩阵式按键. 按键的特点及输入原理. 按键的分类: 触点式:机械;无触点式:电气 键输入原理: 通过按键的接通与断开,产生两种相反的逻辑状态

Download Presentation

人机接口 键盘接口 显示器接口 模拟量输入 / 输出接口 D/A 转换接口 A/D 转换接口 通信接口

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 人机接口 • 键盘接口 • 显示器接口 • 模拟量输入/输出接口 • D/A转换接口 • A/D转换接口 • 通信接口 第章单片机接口技术 Single Chip Microcomputer 本章内容

  2. PC机除了主机以外还需要哪些部分呢? 单片机电路有时候也需要键盘、显示等外设。

  3. 7.1 键盘接口 • 按键的特点及输入原理 • 独立式按键 • 矩阵式按键

  4. 按键的特点及输入原理 • 按键的分类: 触点式:机械;无触点式:电气 • 键输入原理: 通过按键的接通与断开,产生两种相反的逻辑状态 低电平“0”与高电平“1”。 • 键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器ACC,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。

  5. 按键识别: 键抖动及消除: 硬件方案——双稳态去抖电路 键盘接口需要解决的问题 是否有键按下 求键号 机械按键抖动时间在5ms~10ms之间 消除方法: 软件方案——延时10ms~20ms后再次判断

  6. 接口电路: 特点:一线一键,按键识别(编程)简单;但占用较多口线,适合8键以下使用。 独立式按键

  7. 流程图: 例1:用P1口检测三个按键的状态并完成相应的功能 解: 资源分配: 用P1口的低3位检测3个按键的输入,为1则表示按键没有按下,为0则表示相应按键被按下。

  8. 若判断键释放应如何修改? 编程:按三个按键中的任一键都对应一个特定功能。 ORG 0000H KB: 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 KB KB01:CJNE A,#02H,KB02 LCALL PGM2 SJMP KB KB02:CJNE A,#04H,KB LCALL PGM3 SJMP KB END

  9. 接口电路: P1.7 P1.6 P1.5 +5V P1.4 0 1 2 3 P1.3 5 6 7 4 P1.2 8 9 10 11 P1.1 12 13 14 15 P1.0 MCS-51 特点:按键识别应采用扫描法或线路反转法 编程较为复杂,节省口资源,8键以上使用 矩阵式按键 关键:如何判断键号?

  10. 键盘扫描子程序一般包括以下内容: 1.判别有无键按下; 2.扫描获取闭合键的行、列值; 3.用计算法或查表法得到键值; 4.判断闭合键释放否,如没释放则继续等待; 5.保存闭合键号。

  11. 键按下/释放判断 KS: MOV A,#00H MOV P1,A ;全扫描字#00H送P1口 MOV P1,#0FH MOV A,P1 ;读入P1口状态 CPL A ;变正逻辑,高电平表示有键按下 ANL A,#0FH ;取低4位 RET ;返回,A≠0表示有键按下

  12. 原理: 在某一时刻只让一条列线处于低电平,其余列线均处于高电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。 按键识别——扫描法 流程: 当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。 键号=行首键号(0、4、8、12)+列号(0、1、2、3)

  13. 例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 TRYK LINE1: JB ACC.2,LINE2 MOV A,#04H AJMP TRYK LINE2: JB ACC.1,LINE3 MOV A,#08H

  14. 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

  15. 定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如10 ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。

  16. 中断扫描方式 为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。

  17. LED的结构和显示原理 静态显示方式 动态显示方式 动态显示的实现 7.2 显示器接口技术 动态显示方式

  18. com com 问题引入: LED显示器如何显示出指定数字/字符?

  19. 例:模拟产品计数显示电路

  20. ORG 1000H STAR:MOV TMOD,#60H ;定时器T1工作在方式2计数 MOV TH1,#00H ;T1置初值 MOV TL1,#00H MAIN:MOV P1,#0C0H ;数码管显示0 DISP:JB P3.3,DISP ;监测按键信号 ACALL DELAY ;消抖延时 JB P3.3,DISP ;确认低电平信号 DISP1:JNB P3.3,DISP1 ;监测按键信号 ACALL DELAY ;消抖延时 JNB P3.3,DISP1 ;确认高电平信号 SETB TR1 ;启动计数器 DISP2:MOV A,TL1 MOVC A,@A+DPTR ;查表获取数码管显示值 MOV P1,A ;数码管显示计数值 CJNE A,#8E,DISP2 LJMP STAR TAB:0C0H,0F9H,0A4H … … DELAY:MOV R2,#14H DELAY1:MOV R3,#0FAH DJNZ R3,$ DJNZ R2,DELAY1 RET END 编 程

  21. 静态显示方式 • 连接 所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。 • 特点 原理简单;显示亮度强,无闪烁;占用I/O资源较多。

  22. 动态显示方式 • 连接 所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个LED的位选分别由一根相应的I/O口线控制。因此必须采用动态扫描显示方式,每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字型码。

  23. 动态显示基本原理 电路的接法决定了必须采用逐位扫描显示方式。 即从段选口送出某位LED的字型码,然后选通该位LED, 并保持一段延时时间。然后选通下一位,直到所有位扫 描完。 要注意的两个问题: 1.字型码通常通过查表指令MOVC来求得. 2.换位显示时通常要加一段程序使所有的LED全灭.

  24. 动态显示程序流程图 1 指向段选口,送字型码 开 始 采用动态扫描方式依次循环点亮各位数码管,构成多位动态数码管显示电路。 指向位选口,送位选码 显示缓冲区首地址送R0 显示位数送R2 延时 起始显示位送R3 指向显示缓冲区下一个单元 禁止所有位(关显示) 位选码左移 从缓冲区取要显示的数 N 扫描完一遍吗? 查表得字型码 Y 结束 1

  25. 课堂练习 +5V P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 8031 试编制程序,要求当其中某一按键压下时与其对应的二极管将被点亮。

  26. 7.3 D/A转换器接口 • D/A转换器的作用 • 典型芯片DAC0832 • DAC0832的应用

  27. 单片机 控制对象 D/A转换 D/A转换器的作用 • 将数字量转换为模拟量,以便操纵控制对象。 • D/A转换器的主要指标 转换速度:一般几十微秒到几百微秒,快速的可达1微秒。 转换精度(分辨率):决定于输入数字量的位数,位数越多,精度越高。

  28. 典型芯片-DAC0832介绍 输出为模拟电流,可转换为电压。 LE1或LE2=1,当前寄存器的输出跟随输入 LE1或LE2=0,锁存数据 DAC0832是一个八位D/A转换器,转换时间1微秒,结构如下:

  29. XFER,WR2:控制DAC寄存器 XFER=0,WR2=0时:直通 XFER=1 or WR2=1时:锁存 ILE,WR1:控制输入寄存器 ILE=1,WR1=0时:直通 ILE=1,WR1=1时:锁存 DAC0832功能分析 DI0-DI7:转换数据输入 CS:片选信号 因此,DAC0832可以有三种工作形式:直通、单级锁存、两级锁存。

  30. 译码器输出 单缓冲方式的接口(1) ——一个处于直通方式,另一个处于受控的锁存方式

  31. 单缓冲方式的接口(2) ——两个输入寄存器同时受控的方式 “同时”做何解释?

  32. 单缓冲方式的应用——产生锯齿波 假定采用接口(1)方式,即输入寄存器受控,而DAC寄存器直通,输入寄存器地址为E000H,产生锯齿波。 源程序清单如下: ORG 0200 MOV DPTR,#0E000H ;指向输入寄存器地址 MOV A,#00H ;转换初值 WW: MOVX @DPTR,A ;WR1有效,启动D/A转换 INC A NOP ;延时 NOP AJMP WW

  33. 产生的锯齿波的过程 255/28 254/28 3/28 2/28 1/28 0

  34. D/A转换产生的锯齿波 用同样的方法也可以产生三角波、矩形波、梯形波。 若将A的初值改为FF INC改为DEC? ORG 0200 MOV DPTR,#0E000H ;指向输入寄存器地址 MOV A,#0FFH ;转换初值 WW: MOVX @DPTR,A ;WR1有效,启动D/A转换 A NOP ;延时 NOP AJMP WW DEC INC

  35. 74LS138 A7A6A5 CBA Y7 Y7 Y6 Y6 双缓冲方式的接口和应用 ——两个锁存器都接成受控锁存方式。 你知道它与第二种单缓冲方式的区别吗? 输入寄存器地址:00E0H DAC寄存器地址:00C0H 对一个数字量的转换,需两步完成,程序如下: MOV DPTR,#00E0H MOVX @DPTR,A MOV DPTR,#00C0H MOVX @DPTR,A

  36. 7.4 A/D转换器接口 • A/D转换器的作用 • 典型芯片ADC0809 • ADC0809的应用

  37. A/D转换 A/D转换器的作用 将模拟量转换为数字量,以便计算机接收处理 传感器 单片机 • 双积分式A/D转换器 • 逐次逼近式A/D转换器。

  38. A/D转换器概述 逐次逼近式典型A/D转换器芯片有: (1)ADC0801~ADC0805型8位MOS型A/D转换器 (2)ADC0808 / 0809型8位MOS型A/D转换器 (3) ADC0816 / 0817

  39. 典型芯片—ADC0809介绍 ADC0809是一个8位8通道的AD转换器。

  40. ADC0809功能分析 转换有以下几步: • ALE信号上升沿有效,锁存地址并选中相应通道。 • ST信号有效,开始转换。A/D转换期间ST为低电平。 • EOC信号输出高电平,表示转换结束。 • OE信号有效,允许输出转换结果。 CLK:时钟信号,可由单片机ALE信号分频得到。

  41. 转换时钟由ALE分频得到。 P 0 A 0 - A 7 7 4 L S 3 7 3 A 0 A 1 A 2 A L E G 写信号、P2.0有效时,启动AD转换。 ÷ 2 A B C L K 转换结束后,输出高电平,向CPU发出中断请求 C 8 0 3 1 D 0 - D 7 V R ( + ) + 5 V 转换结果由此输出 V R ( - ) G N D 1 I N T 1 E O C I N 0 A D C 0 8 0 9 I N 1 I N 2 I N 3 读信号、P2.0有效时,允许输出AD转换结果。 W R I N 4 1 S T 1 ≥ I N 5 P 2 . 0 I N 6 A L E I N 7 1 O E 1 ≥ R D ADC0809和单片机的连接

  42. 8031 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0809 × × × × × × × ST × × × × × C B A C B A 选择的通道 × × × × × × × 0 × × × × × 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 … … × × × × × × × 0 × × × × × 1 1 1 1. 首先分析各个通道的地址。(IN0到IN7的地址为0000H到0007H) 通道选择表

  43. 编程应用—中断方式 中断方式: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG OO13H ;中断入口地址 AJMP INT1 ;跳转中断服务程序 MAIN:SETB IT1 ;边沿触发 SETB EA ;开中断 SETB EX1 ;允许中断 MOV DPTR,#0007H ;指向0809 IN7通道地址 • 编程:可采用中断、查询两种方式。

  44. MOVX @DPTR,A ;启动A/D转换 SJMP $ ;等待中断 INT1: MOVX A,@DPTR ;读A/D转换结果 MOV B,A ;存数 RETI ;返回

  45. 查询方式: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG 1000H ;中断入口地址 MAIN: MOV DPTR,#0007H ;指向0809 IN7通道地址 MOVX @DPTR,A ;启动A/D转换 L1: JB P3.3 L1 ;查询 MOVX A,@DPTR ;读A/D转换结果 MOV B,A ;存数 SJMP $

  46. 实训练习 • 分析实训电路板中0809的连接,确定各通道地址。 • 对通道0输入模拟电压,运行转换程序,用动态显示方式在最右边两个LED显示转换结果。

  47. 7.4 单片机与LCD 接 口 设 计

  48. 任务1:如何在LCD的指定位置显示出 指定的字符。 A b 2行×16列

  49. 任务2:如何在LCD的指定位置显示字 符串。 Shenzhen Polytechnic 2行×16列

  50. 基本内容 • 字符型LCD模块的使用方法 • 单片机与字符型LCD模块接口电路 • LCD接口程序设计** ≈≈≈≈NOTICE≈≈≈≈ LCD: Liquid Crystal Display

More Related