第七章 单片机应用系统接口技术_第1页
第七章 单片机应用系统接口技术_第2页
第七章 单片机应用系统接口技术_第3页
第七章 单片机应用系统接口技术_第4页
第七章 单片机应用系统接口技术_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章单片机应用系统接口技术,主要内容1.接口技术的基本概念及控制方式2.显示器接口技术3.键盘接口技术*4.LCD显示器及其接口5.应用举例与问题讨论,重点:1.I/O控制方式的编程方法2.显示器接口电路及应用编程(难点)3.键盘接口电路及应用编程(难点),一、单片机系统接口的基本功能,接口技术是研究CPU如何与外设实现最佳耦合和匹配,以实现双方高效、可靠地交换信息的一门技术。,(1)I/O设备工作速度不同;(2)I/O设备的数据字长多样;(3)I/O设备处理的信号不同(模拟或数字信号、并行或串行);(4)I/O设备所需的控制信号不同。,为了实现单片机与外部设备可靠通信,接口一般应具备的功能

2、:(1)数据的寄存和缓冲功能;(输入时?输出时?)(2)设备选择功能;(3)信号转换功能;(4)对外部设备的控制和联络功能;(5)中断管理功能;*(6)可编程功能。,第一节单片机接口技术的基本概念,二、单片机与I/O设备间的接口信息,1)数据信息2)状态信息3)控制信息,三、I/O信息传递方式,1)并行I/O2)串行I/O,四、I/O的传递控制方式,1)无条件传送方式(演示)2)查询传送方式3)中断传送方式,三种控制方式的编程有什么不同?,第一节单片机接口技术的基本概念,1)无条件传送方式ORG0000HLPP:ORLP2,#0FHMOVA,P2MOVP1,AMOVR1,#0FFHLP:MOV

3、R2,#0FFHDJNZR2,$DJNZR1,LPSJMPLPP,2)查询传送方式ORG0000HLPP:JBP3.3,$LP:MOVR2,#0FFH;DJNZR2,$JBP3.3,LPP;ORLP2,#0FHMOVA,P2MOVP1,AJNBP3.3,$;SJMPLPP,第一节单片机接口技术的基本概念,3)中断传送方式ORG0000HSJMPMAINORG0013HAJMPINT11;转入服务程序ORG0030HMAIN:SETBIT1;设INT1为边沿触发SETBEX1;允许INT1中断SETBEA;开放总允许SJMP$,中断服务程序:INT11:ORLP2,#0FH;MOVA,P2;从P

4、1口输入开关状态MOVP1,A;输出RETI,P3.3,如图示输入接口口电路1)电路分析,五、查询I/O方式举例,3)查询程序的编写MOVR0,#0FEH;TE:MOVXA,R0;输入状态JNBACC.1,TEDECR0MOVXA,R0;输入数据,2)I/O端口地址分析数据口:11111101BFDH状态口:11111110BFEH,1,0,LOOP:MOVR0,#0FEH;TE:MOVXA,R0;输入状态JNBACC.1,TEDECR0MOVXA,R0;输入数据,从该端口输入50个数存入内部RAM30H开始的区域,MOVR1,#30HMOVR2,#50LOOP:MOVR0,#0FEH;TE:

5、MOVXA,R0;输入状态JNBACC.1,TEDECR0MOVXA,R0;输入数据MOVR1,AINCR1DJNZR2,LOOPSJMP$,第二节显示器接口技术,1.本节主要内容LED7段的显示器原理、字型码编码方法LED显示器静态显示控制方式LED显示器动态显示控制方式动态显示的接口电路与编程方法(重点、难点)实例分析,回忆第三章的例题由P1口控制的8个LED指示灯的电路,第二节显示器接口技术,P1口接到7段显示器,复习:7段LED显示器结构与原理,第二节显示器接口技术,LED显示器7段、16段米字型、点阵式,一、单片机应用系统中常用的显示器及显示控制方式1.常用的显示器,(2)LCD液晶

6、显示器件,液晶显示器具有体积小、质量轻,低电压、微功耗、抗干扰能力强等优点,因此被广泛应用于各种便携式电子信息产品。,第二节显示器接口技术,与液晶显示器相比,更适于在光线暗的环中使用。它的主要缺点是工作电流较大,(3)LED7段显示器常用的字符编码表,思考:若某系统显示器引脚采用下列连接方式,字符编码又是怎样的?,00010100,LED显示器的字符编码方法,问题:为什么会有不同的接线方式呢?,2.LED显示器显示控制方式显示器显示接口按驱动方式可分成静态显示和动态显示两种显示方式,LED静态显示接口,静态显示方式每位的段码需要一个8位的锁存器锁存,只要对每个显示字符输出一次,相应锁存器锁存的

7、段码输出将维持不变。,优点:显示稳定,亮度高,编程简单;缺点:占用硬件资源多(IO口、驱动器等).,动态显示方式将所有显示位的段码线相应段并联在一起,由一个I/O口控制,形成段码线的多路复用,每个LED的位选分别由一根相应的I/O口线控制,各位显示器的分时选通。采用扫描工作方式。,优点:节省硬件电路(如IO口、驱动器等);缺点:是采用软件扫描时占用CPU时间多,当动态显示位数较多时,显示器亮度将受到影响。,LED动态显示接口,演示,位一体的LED显示器,3.显示器接口的数据输出方式与电路形式,在单片机和显示器之间的接口电路一般是根据显示器的位数、电流大小、译码要求来确定接口电路的形式。,(1)

8、译码显示数据方式一般为专用显示器接口器件,接口包含锁存器/译码器/驱动器等,可以把一位BCD码或十六进制数锁存、译码为相应的字形代码并有足够的功率驱动显示。,(2)非译码显示数据方式显示器接口只包含锁存器和驱动器,必须由软件将BCD码或十六进制数通过软件查表转换为相应的字形代码输出。,各自有什么特点?应用于什么场合?,二、LED显示器及接口电路实例分析,LED静态显示器接口常用的LED静态驱动接口器件有:驱动共阴极LED可选用CD4511、CD4513、CD14495驱动共阳极LED可选用74LS74、74LS274,例:用CD4513驱动4位共阴极LED静态显示,接口电路如图。,(1)电路分

9、析:,工作过程?,端口地址?,(2)编程练习:编写显示子程序:利用上述显示接口,把内存RAM40H43H单元中四个非压缩BCD码送显示器显示。(端口地址80H83H)。,DISP:MOVR0,#80H;R0指向显示端口MOVR1,#40H;R1指向显示数据地址MOVR2,#04H;置显示字符数DISP1:MOVA,R1;取待显示BCD码MOVXR0,A;送出显示INCR1;修改显示显示端口地址INCR0;修改显示显示数据地址DJNZR2,DISP1RET,(3)特点?,编程简单、硬件较复杂、译码缺乏灵活性,.动态显示接口电路,例2:利用单片机并行I/O口作显示器接口,3.动态显示控制时的编程方

10、法,;-主程序-:ORG0000MOVSP,#60HMOV7AH,#01H;置显示缓冲区初值MOV7BH,#02HMOV7CH,#03HMOV7DH,#04HLP:ACALLDISPLAY;调显示子程序SJMPLP,1)在内存区建立一个显示缓冲区,2)建立一个待显示的字形编码表,3)编写显示子程序分时循环输出,动态显示子程序流程图,;-显示子程序-DISPLAY:MOVDPTR,#TAB;取字型表首地址DISPLAY1:MOVR0,#7AH;取显示缓冲区首地址MOVR1,#0EFH;取位选控制码初值NEXTT:MOVA,R0;取待显示字符MOVCA,A+DPTR;查表取得字型码MOVP0,A;

11、送字型码MOVA,R1MOVP2,A;送位选码LCALLDAY;延时INCR0;指向下一位RLA;修改选码MOVR1,A;CJNER1,#0FEH,NEXTT;4位没循环完继续RET;-延时子程序-DAY:MOVR6,#4D1:MOVR7,#248DJNZR7,$DJNZR6,D1RET,TAB:DB28H;0DB0EBH;1DB32H;2DB0A2H;3DB0E1H;4DB0A4H;5DB24H;6DB0EAH;7DB20H;8DB0A0H;9DB60H;ADB25H;BDB3CH;CDB23H;DDB34H;EDB74H;FDB0D7H;-.DB61H;HDB70H;PDB0DFH;.DB

12、27H;ODB0FFH;全黑,(演示),利用可编程接口8255作显示器接口,4.其他形式的显示器接口电路,利用单片机串行口与显示器连接,串行口工作于方式0(移位寄存器输入输出方式)输出字形代码,图中4片74LSl64作为4位LED显示器的连接端口,74LSl64的低电平输出电流8mA,可直接驱动共极阳极LED。,用串行口做4位LED与显示器接口,显示器工作是静态/动态?,DIR:SETBP3.3;开放显示器传送控制MOVR7,#04HMOVR0,#79H;79H7CH为显示缓冲器DL0:MOVA,R0;取出要显示的数ADDA,#0DH;加上查表偏移量MOVCA,A+PC;取出字形MOVSBUF

13、,A(2);送出显示DL1:JNBTI,DL1(3);输出完否CLRTI(2);完,清中断标志INCR0(1);再取下一个数DJNZR7,DL0(2)CLRP3.3(2);关闭显示器传送RET(1);返回SEGTABDBC0H,0F9H,0A4H,0B0H,99H,92H;定义字型段码表DB82H,0F8H,80H,90H,88H,83HDB0C6H,0A1H,86H,8EH,0FFH,用串行接口芯片如PS7219做接口,小结:(1)显示器显示接口按驱动方式可分成静态显示和动态显示两种显示方式,动态显示的扫描可由单片机软件或专门的硬件完成;(2)按显示器接口是否带译码器可分成译码和非译码两种显

14、示数据方式;(3)按CPU向显示器接口传送数据的方式则可分成并行传送和串行传送两种显示数据传送方式;,(4)动态显示的编程方法:建立一个显示缓冲区,编制字型表,编写显示子程序,反复调用。,图为某8255A扩展电路,试分析各端口地址。编程实现在如图示接口电路的两个LED显示器(共阴极接法)上显示自己的学号。A口输出字形码,C口输出位控码。,综合练习:,课间休息,第三节键盘接口技术,一、键盘的特点和接口任务1.键盘的构成一般应用时有两类键盘:编码键盘和非编码键盘。编码键盘能自动提供对应于被按键的编码信息,如ASCII码,并能同时产生一个选通脉冲通知微处理器,还具有处理抖动和多键串键的保护电路。非编

15、码键盘所需要的硬件较少,其中按键的识别、按键代码的产生、防止串键和消去抖动等问题,都靠程序来实现。价格也便宜。不同的组合方式可构成很多种不同的键盘接口方式。当按键较少时,一般采用独立方式,而当按键较多时采用矩阵(行列)方式时。键盘状态的监测方法中断方式还是查询方式。从按一个键到键的功能被执行主要包括两项工作:键的识别,键功能的实现。,2按键引起的弹跳(抖动)现象,1)硬件去抖2)软件去抖(教材第三章),a)按健抖动现象b)硬件去抖动电路,单片机常用的键盘结构形式有独立式和矩阵式两种,单片机实现键盘接口的常用方法和接口芯片有:使用单片机本身的并行口;使用单片机本身的串行口;使用通用接口芯片(例如

16、8255、8155等);使用专用接口芯片(例如8279、ZLG7289A等)。,3.单片机常用的键盘结构形式,1)检测是否有键按下;2)若有键按下,判定是哪一个键;3)确定被按键的含义;4)反弹跳(去抖动);5)不管一次按键持续的时间有多长,仅采用一个数据;6)防止串键,对多健按下时有三种处理办法:,“n键同时按下”的情况:只认为最后一个键按下为为有效;将按键的信息存入键盘输入缓冲器,逐个处理。,4键的确认及接口硬件、软件任务,“两键同时按下”的情况:只有一个键按下时才读取键盘的输出,最后仍被按下的键有效;当第一个键未松开时,按第二个键不起作用(硬件实现)。,“n键锁定”技术只处理一个健。,二

17、、简易键盘接口,1.简单开关接口开关主要用于向单片机输入一个固定不变的电平信号,开关信号可通过机械式开关、电子式开关等产生。,开关输入电路,光电传感器开关接口电路,独立式按键是指直接用I/O口线构成的单个按键电路。每根I/O口线上按键的工作状态不会影响其他I/O口线的工作状态。,2独立式按键结构,独立式按键可直接由单片机的I/O口接入,也可由扩展I/O口接入。,可编程I/O接口输入,三、矩阵式键盘接口,使所有列为低电平,检查各行线电平是否有变化,有变化则有健按下;使某列为低电平,其余各列为高电平,再依次检查各行线电平的变化,某行线电平变低,则此行、列交点处按键按下。,矩阵式键盘用于按键数目较多

18、的场合,它由行线和列线组成。,1.矩阵式键盘的工作原理无健按下时,行线处于高电平状态;当有健按下时行线电平由将由与此行线相连的列线的电平确定。,2.矩阵式键盘按键的识别方法采用扫描法,例1由8255和单片机组成矩阵式键盘接口,(1)键盘扫描程序功能1)判断键盘上有无键按下2)去键的机械抖动影响。3)求按下键的键号。4)等待键释放5)转相应的键处理子程序,健号的确定通常都以键的排列顺序安排键号。这样,各行的首号依次是00H、04H、08H、0CH,如列号按03顺序则键号的计算为:键码=行首号+列号。,(2)键扫描子程序设计,设8255的A口地址为200H,B口地址为201H。1)判定有无闭合键的

19、子程序设子程序为KS1,程序段如下:KS1:MOVDPTR,#201H;指向B口MOVA,#00H;B口送00HMOVXDPTR,ADECDPL;指向A口MOVXA,DPTR;读A口CPLA;A取反,无键按下则全“0”ANLA,0FH;屏蔽A高半字节RET执行KS1子程序的出口参数是:有闭合键则(A)0,无闭合键则(A)=0。,2)键盘扫描程序单片机应用系统中键盘和显示器一般同时存在,把显示程序作为键盘扫描的延时子程序,实现软件去抖动。,KEY1:ACALLKS1;检查是否有键闭合JNZLK1;A非“0”则有健按下,转移LK1ACALLDIR;显示一次(延时10ms)AJMPKEY1LK1:A

20、CALLDIR;有键闭合二次软件去抖动延时,共20msACALLDIRACALLKS1;再检查有键闭合否JNZLK2;有键闭合,转LK2ACALLDIRAJMPKEY1;去抖动确认无键闭合,延时后转KEY1在查健LK2:MOVR2,#0EH;确定健号,扫描初值送R2MOVR4,#00H;扫描列号送R4,LK4:MOVDPTR,#201H;建立B口地址MOVA,R2MOVXDPTR,A;扫描初值送B口DECDPL;指向A口MOVXA,DPTR;读A口JBACC.0,LONE;ACC.0=1,第0行无键闭合,转LONEMOVA,#00H;0行有键闭合,装第0行行值AJMPLKP;转LKP计算健号L

21、ONE:JBACC.1,LTWO;ACC.1=1,第1行无键闭合,转LTWOMOVA,#04H;1行有键闭合,装第1行行值AJMPLKPLTWO:JBACC.2,LTHR;ACC.2=1,第2行无闭合,转LTHRMOVA,#08H;2行有健闭合,装第2行行值AJMPLKPLTHR:JBCC.3,NEXT;ACC.3=1,第3行无键闭合转NEXTMOVA,#0CH;3行有键闭合,装第3行行值,LKP:ADDA,R4;计算键码PUSHACC;保护键码LK3:ACALLDIR;延时10msACALLKS1;查键是否松开,若还闭合再延时JNZLK3POPACC;若键松开,则键码送ARET;返回NEXT

22、:INCR4;扫描列号加1,准备下列扫描MOVA,R2JNBACC.3,KEND;笫3位为“0”,已扫完最高列则转KNDRLAA;循环左移一位MOVR2,AAJMPLK4;转LK4进行下一列扫描KEND:AJMPKEY1;扫描完毕,开始新的一轮,程序的运行结果:闭合键的键号放在累加器A中。,例2:利用单片机并行I/O做矩阵式键盘,;判有无键按下子程序,有键按下代码0FH,无键按下代码0EH,存在R4中key1:ORLP2,#0F8HANLP2,#0F8hmova,p2cplaswapaanla,#0fhjzNkeymovR4,#0EhSJMPKEYONNkey:movR4,#0fhKEYON:

23、RET,;-键盘扫描子程序,键值在A中-key:pushpswsetbrs0ACALLkey1;判有无键按下MOVA,R4XRLA,#0FHjzRETT;无键按下返回ACALLDISPLAY;延时去抖ACALLKEY2;读键值MOVR2,A;键值暂存于R2W1:ACALLDISPLAYACALLkey1;等待键释放MOVA,R4XRLA,#0FH;JZRET1;SJMPW1;键未释放继续等待ret1:mova,R2;取键值返回SJMPRETT1RETT:MOVA,R4;无键按下取0FHRETT1:CLRRS0POPPSWret,;-读键值子程序,键值在A中-KEY2:movR4,#0BHMOVR3,#0FBh;行扫描初值KE

温馨提示

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

评论

0/150

提交评论