您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第七章 单片机应用系统接口技术
第七章单片机应用系统接口技术主要内容1.接口技术的基本概念及控制方式2.显示器接口技术3.键盘接口技术*4.LCD显示器及其接口5)应用举例与问题讨论重点:1)I/O控制方式的编程方法2显示器接口电路及应用编程(难点)3)键盘接口电路及应用编程(难点)一、单片机系统接口的基本功能接口技术是研究CPU如何与外设实现最佳耦合和匹配,以实现双方高效、可靠地交换信息的一门技术。单片机与I/O设备交换信息比其与存储器之间交换信息更为复杂:1)I/O设备工作速度不同;2)I/O设备的数据字长多样;3)I/O设备处理的信号不同(模拟或数字信号、并行或串行);4)I/O设备所需的控制信号不同。为了实现单片机与外部设备可靠通信,接口一般应具备的功能:1)数据的寄存和缓冲功能;(输入时?输出时?)2)设备选择功能;3)信号转换功能;4)对外部设备的控制和联络功能;5)中断管理功能;*6)可编程功能。第一节单片机接口技术的基本概念二、单片机与I/O设备间的接口信息1)数据信息2)状态信息3)控制信息三、I/O信息传递方式1)并行I/O2)串行I/O四、I/O的传递控制方式1)无条件传送方式(演示)2)查询传送方式3)中断传送方式三种控制方式的编程有什么不同?LED0REDLED1REDLED2REDLED3REDLED4REDLED5REDLED6REDLED7RED123456789排阻102VCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.712跳线帽2.54跳线I/O口输入输出实验EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10STC89C52RC8051(晶振电路、电源电路省略)123654拨码开关SWITCHSWDIP-3P2.0P2.1P2.21)无条件传送方式ORG0000HLPP:ORLP2,#0FHMOVA,P2MOVP1,AMOVR1,#0FFHLP:MOVR2,#0FFHDJNZR2,$DJNZR1,LPSJMPLPP2)查询传送方式ORG0000HLPP:JBP3.3,$LP:MOVR2,#0FFH;DJNZR2,$JBP3.3,LPP;ORLP2,#0FHMOVA,P2MOVP1,AJNBP3.3,$;SJMPLPP3)中断传送方式ORG0000HSJMPMAINORG0013HAJMPINT11;转入服务程序ORG0030HMAIN:SETBIT1;设INT1为边沿触发SETBEX1;允许INT1中断SETBEA;开放总允许SJMP$中断服务程序:INT11:ORLP2,#0FH;MOVA,P2;从P1口输入开关状态MOVP1,A;输出RETIP3.3如图示输入接口口电路1)电路分析4)思考:从该端口输入50个数存入内部RAM30H开始的区域,应如何编程?五、查询I/O方式举例3)查询程序的编写MOVR0,#0FEH;TE:MOVXA,@R0;输入状态JNBACC.1,TEDECR0MOVXA,@R0;输入数据…………2)I/O端口地址分析数据口:11111101B——FDH状态口:11111110B——FEH10第二节显示器接口技术例如:要求设计按键计数显示电路,需要7段显示器本节主要内容:LED的结构和显示原理静态显示控制方式动态显示控制方式动态显示的接口电路与编程实现(1)LED发光二极管显示器——与液晶显示器相比,更适于在光线暗的环中使用。它的主要缺点是工作电流较大。第二节显示器接口技术一、单片机应用系统中常用的显示器1.常用的显示器代码位D7D6D5D4D3D2D1D0显示段dpgfedCba(2)LCD液晶显示器件液晶显示器具有体积小、质量轻,低电压、微功耗、抗干扰能力强等优点,因此被广泛应用于各种便携式电子信息产品。VDD12345678910111213141516VSSVORSR/WEDB0DB1ADB3DB2DB5DB4DB7DB6KLCD1602模块Vss:+5V电源管脚(Vcc)VDD:地管脚(GND)Vo:液晶显示驱动电源(0V~5V)A:背光源正极K:背光源负极2.LED显示器显示控制方式1)显示器显示接口按驱动方式可分成静态显示和动态显示两种显示方式,动态显示的扫描可由单片机软件或专门的硬件完成;2)按CPU向显示器接口传送数据的方式则可分成并行传送和串行传送两种显示数据传送方式;3)按显示器接口是否带译码器可分成译码和非译码两种显示数据方式。GND/+5VGND/+5VGND/+5VGND/+5VGND/+5VI/O(1)I/O(2)I/O(3)I/O(4)LED静态显示器接口静态显示方式——每位的段码需要一个8位的锁存器锁存,CPU只要对每个显示字符输出一次,相应锁存器锁存的段码输出将维持不变。静态显示时,除变更显示数据期间外,各显示器均处于通电显示状态,每个显示器通电占空比约为100%。静态显示的优点是显示稳定,亮度高;缺点是占用硬件电路(如I/O口、驱动器等)多,N个显示器共占用N个显示数据驱动器。LED动态显示器接口I/O(1)DDDDDDDDI/O(2)75643210动态显示方式——将所有显示位的段码线相应段并联在一起,由一个I/O口控制,形成段码线的多路复用,每个LED的位选分别由一根相应的I/O口线控制,各位显示器的分时选通。在某一时刻,只让某位的位选线处于选通状态显示字符,其他的位是熄灭的,采用扫描工作方式。由于N个显示器共占用一个显示数据驱动器,每个显示器通电占空比时间为1/N。动态显示的优点是节省硬件电路(如I/O口、驱动器等);缺点是采用软件扫描时占用CPU时间多,当动态显示位数较多时,显示器亮度将受到影响。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52问题:显示器接口电路如何设计?怎样编写应用程序?(仿真演示)4位一体的LED显示器3.显示器接口的数据输出方式与电路形式按显示器接口电路的功能可分为:(1)译码显示数据方式一般为专用显示器接口器件,接口包含锁存器/译码器/驱动器等,可以把一位BCD码或十六进制数锁存、译码为相应的字形代码并有足够的功率驱动显示。(2)非译码显示数据方式显示器接口只包含锁存器和驱动器,必须由软件将BCD码或十六进制转换为相应的字形代码输出,一般为通用I/O接口或器件。一般的单片机I/O接口不能直接驱动显示器,需要在单片机和显示器之间加接口电路实现译码和驱动。应根据显示器的位数、电流大小(通过每个发光二极管的平均电流为5~20mA)来确定接口电路的形式。四位锁存驱动七段译码74ABCDabc…g二、LED显示器及接口电路实例1.LED静态显示器接口常用的LED静态驱动接口器件有:驱动共阴极LED——可选用CD4511、CD4513、CD14495驱动共阳极LED——可选用74LS74、74LS274驱动LCD——可选用CD14543、CD14544123456789181716151413121110CD4513fgabcdeGNDVCCBCLTBILEDARBIRBO四位锁存驱动七段译码74ABCDabc…g例1:用CD4513驱动4位共阴极LED静态显示,接口电路如图。P0.0~P0.7ALE8031EA373AY0BY1CY2Y3Y4Y5Y6Y774LS138DCBALE4513a…gDCBALE4513a…gDCBALE4513a…gDCBALE4513a…g877774D0~D3G1G2AG2BA0A1A2A77R7R7R7R图中四位显示端口地址为:80H~83H(?),要求把内存RAM40H~43H单元中四个非压缩BCD码送显示器显示。程序段如下:MOVR0,#80H;R0指向显示端口MOVR1,#40H;R1指向显示数据地址MOVR2,#04H;置显示字符数DISP:MOVA,@R1;取待显示BCD码MOVX@R0,A;送出显示INCR1;修改显示显示端口地址INCR0;修改显示显示数据地址DJNZR2,DISPRET12345678123456781234567899排阻102P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCC123456781615141312111091KΩ8×1KΩ9015PNP9015PNP9015PNP9015PNP1KΩR1KΩR1KΩR1KΩRP2.7P2.6P2.5P2.4VCC四合一七段数码管显示实验电路EDDPCGS4S1AFS2S3B四合一七段显示器5461BH共阳数码管P0.0P0.1P0.7P0.2P0.6P0.5P0.4P0.3P2.7P2.6P2.5P2.4例2:利用单片机并行I/O口作显示器接口灯位控制与驱动P2.4=02.动态显示接口电路3.动态显示控制时的编程方法缓冲区TAB‘0’‘1’‘2’‘3’..‘-’黑;------------主程序----------------:ORG0000MOVSP,#60HMOV7AH,#01H;置显示缓冲区初值MOV7BH,#02HMOV7CH,#03HMOV7DH,#04HLP:ACALLDISPLAY;调显示子程序SJMPLP1)在内存区建立一个显示缓冲区2)建立一个待显示的字形编码表3)编写显示子程序分时循环输出动态显示子程序流程图MOVCA,@A+DPTR共阴极位选:P2.4=0开始取字型表首地址→DPTRR1.0=0?YN位选初值11101111B→R1取待显示字符→A取显示字符查表转换为字形码→P0口延时1ms(可调)显示缓冲区指针R0加1修改选码R1左移1位返回显示缓冲区初值→R0送位选码→P2口已显示完最后一位吗?;------------显示子程序----------------DISPLAY:MOVDPTR,#TAB;取字型表首地址DISPLAY1:MOVR0,#7AH;取显示缓冲区首地址MOVR1,#0EFH;取位选控制码初值NEXTT:MOVA,@R0;取待显示字符MOVCA,@A+DPTR;查表取得字型码MOVP0,A;送字型码MOVA,R1MOVP2,A;送位选码LCALLDAY;延时INCR0;指向下一位RLA;修改选码MOVR1,A;CJNER1,#0FEH,NEXTT;4位没循环完继续RET;------------延时子程序----------------DAY:MOVR6,#4D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETTAB:DB28H;0DB0EBH;1DB32H;2DB0A2H;3DB0E1H;4DB0A4H;5DB24H;6DB0EAH;7DB20H;8DB0A0H;9DB60H;ADB25H;BDB3CH;CDB23H;DDB34H;EDB74H;FDB0D7H;-.DB61H;HDB70H;PDB0DFH;.DB27H;ODB0FFH;全黑(演示)例3:用8255作接口1)8255的A口为段控口,输出8位字形代码。段控线的负载电流约为8mA,为提高显示亮度,通常加74LS244进行段控输出驱动。2)
本文标题:第七章 单片机应用系统接口技术
链接地址:https://www.777doc.com/doc-3220258 .html