第九章接口技术LED键盘ADDA20146_第1页
第九章接口技术LED键盘ADDA20146_第2页
第九章接口技术LED键盘ADDA20146_第3页
第九章接口技术LED键盘ADDA20146_第4页
第九章接口技术LED键盘ADDA20146_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 计算机与计算机之间,计算机与外设之间的数据交换称为通信。 计算机与外部设备的通信有两种基本方式:并行通信和串行通信。 一个信息的各位数据被同时传送的通信方法称为并行通信。并行通信依靠并行I/O接口实现。并行通信速度快,但传输线根数多,成本高,适合近距离通信,通常传送距离小于30米。 一条信息的各位数据被逐位顺序传输的通信方式称为串行通信。串行通信通过串行接口实现。串行通信速度慢,但传输线少,适宜长距离传输。61 串行通信基础 异步通信是以字符为单位传送的,数据传送可靠性高,适合低速通信的场合。 同步通信方式是以多个字符组成的数据块为单位的方式传送的,数据传输率高,适合高速率、大容量的数据通信

2、。串行通信的两种基本方式:根据信息传送的格式分为:异步通信和同步通信。 异步通信用起始位“0”表示字符的开始,然后从低位到高位逐位传送数据,最后用停止位“1”表示字符的结束。一个字符又称为一贞信息。图a中,一贞信息包括一位起始位、8位数据位和1位停止位;图b中,数据位增加到9位。在MCS-51单片机系统中,第九位数据D8可以用作奇偶效验位,也可以用作地址/数据贞标志,D8=1表示该贞信息传送的是地址,D8=0表示传送的是数据。两贞信息之间可以有间隔,也可以无间隔,且间隔时间可以任意改变,间隔用空闲位“1”填充。异步通信方式:异步通信中,计算机与外设之间必须约定:(1)字符格式约定好字符的编码形

3、式、奇偶效验位形式以及起始位和停止位的规定。(2)波特率是每秒数据传输的位数。 1波特=1bps(位/秒) 异步通信要求发送与接收以相同的波特率进行。异步通信方式: 同步通信在数据开始处用12个同步字符来指示。 同步通信中,由同步时钟来实现发送和接收的同步。在发送时要插入同步字符,接收端在检测到同步字符后,就开始接收串行数据。可见,同步通信具有较高的传输速率,通常在几十至几百千波特,但在硬件上要求较高。同步通信方式: 分为:单工、半双工、全双工串行通信中数据传输方向:ABABBA单工半双工全双工9.2 键盘接口键盘是微机系统中最常用的人机对话输入设备。键盘有两种基本类型:编码键盘和非编码键盘。

4、编码键盘本身除了按键以外,还包括产生键码的硬件电路。这种键盘使用十分方便,但价格较高,一般的单片机应用系统较少采用。非编码键盘是靠软件识别键盘上的闭合键,由此计算出键码。非编码键盘几乎不需要附加的硬件逻辑。 非编码键盘又分为独立式和行列式键盘。消除键抖动键闭合和释放过程呈现一串抖动脉冲波,其时间由按键的机械特性有关,一般为510毫秒;键闭合稳定期一般为几百毫秒到几秒。为确保CPU对键的一次闭合仅做一次处理,必须去除抖动。硬件方法是加RS触发器消抖动电路,从根本避免抖动的产生。软件方法是通过延时的方法躲过抖动,待信号稳定之后,在进行状态的输入。图 消除键抖动电路 独立式按键1独立式按键接口结构独

5、立式按键的接口电路示意图(a) 中断方式;(b) 查询方式 org 00START:mov sp,#60hMOV P3,#0FFH ;;置P1口为输入状态PAN: MOV A,P3 ;;键状态输入CPL A JZ PAN ACALL DEALAY10MS MOV A,P3 ; ;键状态输入 CPL A JZ PAN JB ACC.0,K0 ;检测0号键是否按下,按下转 JB ACC.1,K1 ; 检测1号键是否按下,按下转 JB ACC.2,K2 ;检测2号键是否按下,按下转 JB ACC.3,K3 ;检测3号键是否按下,按下转 sJMP START ;;无键按下返回,再顺次检测K0:AJMP

6、 PROM0K1:AJMP PROM1K2:AJMP PROM2K3:AJMP PROM3 2独立式按键的软件结构PROM0:MOV 40H,#1 ;0号键功能程序 SJMP START1 ;0号键功能程序执行完返回PROM1:MOV 40H,#2 SJMP START1 PROM2:MOV 40H,#3 SJMP START1 PROM3: MOV 40H,#4START1: MOVA,40H;取要显示的数 ANLA,#0FHMOVDPTR,#TAB;徊楸淼玫阶中吐?MOVCA,A+DPTRMOVP0,A ;从P0口送要显示的字型码MOVP1,#0FFH ;;从P1口送要显示的位信息MOVR

7、7,#0;延时得到每位显示的时间 DJNZR7,$ LJMP STARTTAB:DB0C0H,0F9H,0A4H,0B0H,99H;1,2,3,4DB92H,82H,0F8H,80H,90H,88H ;5,6,7,8,9,-DB 83H,0C6H,0A1H,86H,8EH ,00HDEALAY10MS:MOV R6,#10 DELAY2:MOV R5,#125DJNZ R5,$DJNZ R6,DELAY2RETEND 行列式键盘键盘识别过程:(1)测试是否有键按下单片机I/O口向所有列线(D0D3)输出低电平,即向列口写入00H;然后输入各行线状态(D4D7),即读入输入口的字;比较:若行线状

8、态全为高电平,则表明无键按下,若行线状态中有低电平,则表明有键按下。(2)消抖动(3)扫描键盘以确定被按键的物理位置键盘识别过程:(4)计算键码根据被按下键的行线号和列线号,按照一定的算法,可以求出被按下键的键码。键码实际上是键在矩阵中按从左到右、从上到下的序号。按这种编排规律,本键盘32个键的键码为00H1FH。各行的首键号是00H、08H、10H、18H,如列线按07编号,则键码的计算公式为:键码=首键号+列号图 行列式键盘的编码与键值 (a) 二进制组合编码;(b) 顺序排列编码 键盘识别过程:(5)等待键释放计算完键码后,再以延时和扫描的方法等待和判定键释放。键释放之后就可以根据得到的

9、键码,转到相应的键处理子程序,进行数据的输入或命令的处理。9.3 单片机与LED显示器接口技术9.3.1 LED显示器结构与原理图9.8 七段显示块管脚与结构图 表9-2 七段LED的段选码显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“灭”00HFFHA77H88HB7CH83H9.3.2 LED显示器接口及显示

10、程序图 N位LED显示器 1LED静态显示方式 LED工作在静态显示方式下,共阴极接地或共阳极接+5 V;每一位的段选线(ag、dp)与一个8位并行I/O口相连,如图所示。该图表示了一个4位静态LED显示器电路,显示器的每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时刻各位可以显示不同的字符。 N位静态显示器要求有N8根I/O口线,占用I/O口线较多。故在位数较多时往往采用动态显示方式。 静态显示的亮度大,软件较为简单,不占用CPU时间,但由于每位LED都需要一个并行接口输出字形代码,故占用I/O资源较多。2LE

11、D动态显示方式动态显示接口是对多位LED显示器采用动态扫描的方法进行显示,即逐个循环的点亮各位显示器。这样,虽然在任一时刻只有一位显示器被点亮,但由于人眼的视觉残留效应,实际上看起来与全部显示器持续点亮的效果一样。动态显示器可简化电路,常用在智能仪表中。动态显示除了要给显示器提供字形代码外,还要对显示器提供位码。因此多位LED动态显示接口电路需要有两个输出口,一个用于输出8位字形码,另一个用于输出位控码,位控码的位数等于LED显示器的位数。2LED动态显示方式图 8位LED动态显示器电路 例 8255A用作6位共阴极显示器的接口电路。8255的A口作为段码数据口(字型码),B口作为位控制端口。

12、74LS06集电极开路的反相高压驱动器, 74LS07集电极开路的正相高压驱动器。在显示器上显示一位。在最右边0010,0000H位显示1(字型码06H)ORG0000HSTART:MOV DPTR,#8003H;设置8255的工作方式MOVA,#80HMOVX DPTR, A ;MOV DPTR,#8000H;从8255的A口送要显示的字型码MOVA,#06HMOVXDPTR,A MOVDPTR,#8001H;从8255的B口送要显示的位信息MOVA,#20HMOVXDPTR,ASJMPSTARTEND在显示器上显示123456。要显示多位要采用动态显示方式,先设置显示缓冲区,要显示的字形先

13、存入内部RAM的40H45H单。ORG0000HMOV DPTR,#8003H;设置8255的工作方式MOVA,#80HMOVX DPTR, A ;DISP1:MOVR0,#40HMOVR2,#20HDISP2:MOVAR0;取要显示的数ANLA,#0FHMOVDPTR,#TAB;查表得到字型码MOVCA,A+DPTRMOV DPTR,#8000H;从8255的A口送要显示的字型码MOVXDPTR,A MOVDPTR,#8001H;从8255的B口送要显示的位信息MOVA,R2MOVXDPTR,AMOVR7,#0;延时得到每位显示的时间DJNZR7,$INCR0;调整指针指向下一个显示数据单元

14、CLRC;调整位指向右边的下一位MOVA,R2RRCAMOVR2,AJNZDISP2;6位没显示返回继续显示SJMPDISP1;6位显示一遍则重新从头开始显示TABLE:DB3FH,06H,5BH,4FH,66H;1,2,3,4DB6DH,7DH,07H,7FH,6FH,40H;5,6,7,8,9,-ENDMOV R1,#40HMOV A,#1MOVR6,#6LOOP:MOVR1,AINCAINCR1DJNZR6,LOOPEND字形口:8004H,位控制口8002H9.4 A/D转换器接口9.4.1 A/D转换器概述 在设计A/D转换器与单片机接口之前,往往要根据A/D转换器的技术指标选择A/

15、D转换器。为此,先介绍一下A/D转换器的主要技术指标。 量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔可用下式表示。其中n为A/D转换器的位数。 量化误差有两种表示方法:一种是绝对误差,另一种是相对误差。 A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、计数式和并行式A/D转换器;按其分辨率可分为816位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。逐次比较式:转换速度快,最常用。双重积分式:转换精度高,速度慢。计数式:速度慢,硬件需要元件精度不高。并行式A/D转换器:转换速度最快,但由于硬件要求高,不易实行。9.4.2 A/D转换器ADC0809

16、与单片机的接口1ADC0809芯片简介表9.10 ADC0809通道地址选择表 ADDC ADDB ADDA选通的通道0 0 0IN00 0 1IN10 1 0IN20 1 1IN31 0 0IN41 0 1IN51 1 0IN61 1 1IN7图5.17 ADC0809转换工作时序 2ADC0809与单片机接口转换结果数据的传送方式:定时传送方式:根据转换时间在转换开始后延时一段时间,读取转换结果。查询传送方式:查询转换完成信号,在转换完成后进行数据传送。中断方式:把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。图9-16中ADC0809的地址码为:0FEF8H0

17、FEFFH.例1.欲对IN1通道进行A/D转换,采用的是定时方式进行转换结果数据的传送。假设fosc为12MHz,则机器周期为1微妙,ADC0809的转换时间为100微秒。ORG0000HMAIN:MOVDPTR,#0FEF9H;设置通道1地址MOVA,#00HMOVX DPTR,A;启动通道1转JBP3.3,$;查询转换是否结束MOVX A,DPTR;读取转换结果MOV40H,AEND例2. 采用的是查询方式。ORG0000HMAIN:MOVDPTR,#0FEF9H;设置通道1地址MOVA,#00HMOVX DPTR,A;启动通道1转MOV R7,#35H;延时超过100微秒等待转换结束DJ

18、NZR7,$MOVX A,DPTR;读取转换结果MOV40H,AEND实验时ADC0809的片选线接CS0,ADC0809的8路模拟量输入端的地址为8000H8007H;IN1的地址为8001H,IN1接可变电位器的输出端,P1口接8个发光二极管。A/D转换结果在8个发光二极管上以二进制数的形式显示。ORG0000HMAIN:MOVDPTR,#8001H;设置通道1地址MOVA,#00HMOVX DPTR,A;启动通道1转MOV R7,#35H;延时超过100微秒等待转换结束DJNZR7,$MOVX A,DPTR;读取转换结果MOVP1,ASJMPMAINEND例9-7.设图9.16接口电路用

19、于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内RAM的30H37H单元中。采样完一遍后停止采集。 ORG2000HMAIN:MOV R0,#30H ;设立数据存储区指针 MOV R2,#08H ;设置8路采样计数值 SETB IT1 ;设置外部中断0为边沿触发方式 SETB EA ;CPU开放中断SETB EX1 ;允许外部中断0中断 MOV DPTR,#FEF8H ;送入口地址并指向IN0 MOVX DPTR,A ;启动A/D转换,A的值无意义 HERE: SJMP HERE ;等待中断ORG2100H MOVX A,DPTR ;读取转换后的数字

20、量 MOV R0,A ;存入片内RAM单元 INC DPTR ;指向下一模拟通道 INC R0 ;指向下一个数据存储单元 DJNZ R2,INT0 ;8路未转换完,则继续 CLR EA ;已转换完,则关中断 CLR EX0 ;禁止外部中断0中断 RETI ;中断返回INT0: MOVX DPTR,A ;再次启动A/D转换 RETI ;中断返回9.5 D/A转换器接口9.5.1 D/A 转换器概述 按转换数字量的位数可分为8位、10位、12位等;按数据传送方式分为并行和串行两种;按转换输出的模拟量分为电压和电流输出型。 在设计D/A转换器与单片机接口之前,一般要根据D/A转换器的技术指标选择D/

21、A转换器芯片。 (1) 分辨率。分辨率是D/A转换器对输入量变化敏感程度的描述。D/A转换器的分辨率定义为:当输入数字量发生单位数码变化时,即LSB位产生一次变化时所对应输出模拟量的变化量。对于线性D/A转换器来说,其分辨率与输入数字量输出的位数n呈现下列关系 (2) 建立时间。建立时间是描述D/A转换速率快慢的一个重要参数。一般所指的建立时间是输入数字量变化后,模拟输出量达到终值误差LSB/2(最低有效位)时所经历的时间。根据建立时间的长短,把D/A转换器分成以下几挡: 超高速 100 ns 较高速 100 ns1 s 高 速 110 s 中 速 10100 s 低 速 100 s9.5.2 8位D/A转换器与单片机的接口1 DAC0832的结构与引脚功能2DAC0832 D/A转换器与单片机接口 根据对DAC0832的输入寄存器和DAC寄存器的不同控制方式,可有三种工作方式:(1)直通方式:使WR1*=WR2*=0,数据可以经输入端经两个寄存器直接进入D/A转换器。(2)单缓冲方式:两个寄存器之一处于直通,WR1*=0或WR2*=0,另一个寄存器处于受控状态。(3)双缓冲方式:两个寄存器均处于受控状态。2DAC0832 D/A转换器与单片机接口 设分配给 DAC0832

温馨提示

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

评论

0/150

提交评论