您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 单片机应用技术中级教程7
第七章单片机的典型外围接口技术作为单片机应用系统,键盘和显示器作为最常用的输入、输出接口往往是不可缺少的外围部件;另外计算机只能接受和处理数字信号,因此对于大量的模拟信号的处理,往往需要A/D、D/A接口,本章将初步介绍这方面的一些知识。1.教学内容:键盘接口、键盘分类:独立联接式和矩阵式,编码键盘和非编码键盘,键盘接口电路和工作原理,LED显示器接口,静态显示电路和动态显示电路及工作原理,并行DAC接口和简单编程,并行ADC接口和接口程序。2.教学重点:简单键盘、LED显示接口电路及工作原理,并行DAC,ADC与80C51单片机接口方法。3.教学要求:掌握简单键盘、LED显示接口电路及工作原理;掌握并行DAC,ADC与80C51单片机接口方法;了解串DAC、ADC的接口键盘处理程序任务1)键输入检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。硬件电路消除抖动或软件消除抖动。2)键译码键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键0~9、字符键0AH~0FH、功能键10H~。延时等待10ms仍有按键信号?Y有按键信号?NYN键盘处理按键释放?NY3)键处理根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。抖动时间<10ms开关动作时间>100ms“1”“0”<10ms&I/O接口&+5v+5v消除抖动电路开关单片机键盘状态的监测方法:中断方式还是查询方式7.1键盘接口1。键盘的工作原理:有独立连接式和矩阵式两类键盘。(1)独立连接式键盘:这是一类最简单的键盘,每个键独立地连接一根数据输入线。如P222图7-1所示。当没有任何键被按下时,所有输入线都为高电平,若某键被按下,该线被拉成低电平。其优点是结构简单、使用方便;但占口线太多。(2)矩阵式键盘:如P223图7-2a所示。它包括:键盘开关矩阵;输出(行线)锁存器;输入(列线)缓冲器。2。矩阵式键盘的工作过程:①逐行扫描(使某行为0,其余为高);②读入列缓冲器状态,若为全1,则该行无键按下,继续另一行;若有列线为0,则该行该列的键被按下;③若已判断有某键被按下,则转该键的键处理子程序。键盘扫描程序框图见P223图7-2b,扫描方式有:程控、定时、中断扫描。独立式键盘电路矩阵式键盘01+5vC0C1R0R1键盘I/O接口1.键盘扫描方式(1).扫描法列线输出,行线输入。列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。(2).反转法行列线交换输入、输出,两步获取按键键号。P1.0P1.1P1.7+5v每个按键单独占有一根I/O接口引线。单键管理程序key:setbp1.0jbp1.0,key2;有键按下P1.0=0key1:acalldis;延时,防止抖动setbp1.0jbp1.0,key2;键是否释放消除了连击功能jnbp1.0,key1key2:retORG0000HAT0:SETBP1.0SETBP1.1JBP1.0,AT2ACALLDISJBP1.0,AT4MOV30H,#00HAT1:JBP1.0,AT4ACALLDISAJMPAT1AT2:JBP1.1,AT4ACALLDISJBP1.1,AT4MOV30H,#01HAT3:JBP1.1,AT4ACALLDISAJMPAT3AT4:RETDIS:开始置P1.0,P1.1为1P1.0=1?调显示子程序P1.0=1?键值送30HP1.0=0?P1.1=1?P1.1=1?P1.1=0?调显示子程序调显示子程序调显示子程序返回YYYYNYYNNNN7.1.2键盘的接口电路1。直接使用I/O口的键盘电路如P224图7-3所示。由于80C51的I/O口具有输出锁存与输入缓冲的功能,可用来组成键盘电路。图中用P1口组成4×4的16键键盘,列线接低4位并通过与门和/INT0相连;行线串联一个二极管接高4位,串联二极管是为了防止多键同时按下时使输出口短路。开始返回输出全扫描码调用显示子程序转显示子程序置行扫描码初值键值寄存器清零置列计数器初值输出行扫描码检测有键按下?所有行均扫描完?该键释放?该列有键按下?该行有键按下?检测有键按下?修改行扫描码键值寄存器内容加列数键值寄存器加1列码右移1位列计数器计数被按之键=(键值寄存器)列计数器为零?YYYYYYYNNNNNNNORG0000HAT0:ACALLKS1JNZAT1AJMPDISAT1:ACALLDISACALLKS1JNZAT2AJMPDISAT2:MOVR2,#0FEHMOVR3,#00HAT3:MOVP1,R2MOVA,P1ANLA,#0F0HCJNEA,#0F0H,AT4MOVA,R2JNBACC.3,AT7RLAMOVR2,AMOVA,R3ADDA,#04HMOVR3,AAJMPAT3AT4:MOVB,#04HAT5:JNBACC.4,AT6INCR3RRADJNZB,AT5AJMPAT7AT6:ACALLDISACALLKS1JNZAT6AT7:RETKS1:MOVP1,#0F0HMOVA,P1ORLA,#0FHCPLARETDIS:RET2。利用I/O口和译码器的接口如P224图7-4所示。利用138译码器可由三根口线产生8根列线,节省I/O口线。3。利用串行口的键盘电路如P224图7-5所示。7.2显示器接口7.2.1LED显示器的工作原理1。发光二极管的控制P225图7-6,只有当U1-U2≥2.8V亮2。七段LED的控制它是由若干发光二极管组合而成的8字形显示块,由a、b、c、d、e、f、g七段及小数点h组成,有共阳极和共阴极两种结构形式。如P225图7-7所示。共阴极形的字形与字段的关系如P226表7-1所示。共阴极LED的公共端接地。agdfecb109876gfGNDabedGNDcdp12345VDVD+5V(a)(b)(c)dp(a)外型结构;(b)共阴极;(c)共阳极数码管字型编码表显示字符字型共阳极共阴极dpgfedcba字型码dpGfedcba字型码0011000000C0H001111113FH1111111001F9H0000011006H2210100100A4H010110115BH3310110000B0H010011114FH441001100199H0110011066H551001001092H011011016DH661000001082H011111017DH7711111000F8H0000011107H881000000080H011111117FH991001000090H011011116FHAA1000100088H0111011177HBB1000001183H011111007CHCC11000110C6H0011100139H显示字符字型共阳极共阴极dpgfedcba字型码dpGfedcba字型码DD10100001A1H010111105EHEE1000011086H0111100179HFF100011108EH0111000171HHH1000100189H0111011076HLL11000111C7H0011100038HPP100011008CH0111001173HRR11001110CEH0011000131HUU11000001C1H001111103EHYY1001000191H011011106EH10111111BFH0100000040H..011111117FH1000000080H熄灭灭11111111FFH0000000000H7.2.2显示器的分类与接口显示电路通常分为静态显示和动态显示两类。abhCOMafbgecdhabhCOMabhCOM每个LED需要一个8位并行口COMhCOMD7…D1D0D0D1D2hbbhCOMafbgecdhaaba多位LED共用一个8位字段口,各位LED公共端用字位口控制,扫描输出显示不同字形。(1)静态显示电路:静态显示要求每个8字形的显示块都要有段码锁存器(如P227图7-8及图7-9所示)。图7-8采用软件译段码,273锁存;图7-9采用硬件译码,247译码驱动。(2)动态显示电路:它和静态显示相比,可以节省显示驱动器,但要求CPU定时对显示器进行刷新,要占用较多的CPU工作时间。其显示电路如P229图7-11所示,包括显示块、字形锁存器和字位锁存器。工作过程是:先将显示字形代码送字形锁存器锁存,然后把要显示的位置送字位锁存器锁存,从而使该位点亮。为防止闪烁,显示时间为1~2ms,且每隔20ms以内要刷新一次。例1(P230):通过P1口及138译码器的接口电路。这是一个动态显示的例子。接口电路见P231图7-13。工作过程:首先,使P1口的低4位输出字形代码;P1口的高3位输出一个位扫描字(与138译码配合),显示某一位,并保持1ms。各位显示一遍之后,关显示。尔后,使P1口的高4位转为输入方式,P1口的低4位输出键扫描信号,有键按下时,转入键译码和处理程序。其中,要注意在适当的时候进行显示器刷新,以使显示不灭掉。其它的有关显示与键盘的接口方法将在后续课程中进一步讲解。7.3DAC数/模转换接口一、D/A转换器的性能指标1.分辨率(Resolution)分辨率是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。如果数字量的位数为n,则称D/A转换器分辨率为n位或称为模拟量满量程的1/2n.如8位D/A转换器,转换后的电压满量程是5V,则分辨率为8位或5V/28=20mV.2.转换精度(ConversionAccuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。转换精度为1/2个最低有效位(常用±1/2LSB表示),如8位D/A转换器的精度为:±(1/2)×(1/256)=±1/5123.偏移量误差(OffsetError)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。4.线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。5.建立时间建立时间是描述D/A转换速度快慢的一个参数,指从输入数字量变化到输出达到终值误差±1/2LSB(最低有效位)时所需的时间,通常以建立时间来表明转换速度.二、D/A转换原理n位数字量与模拟量的关系式:VO=VREF/2n×D(VREF-参考电压)三、集成D/A转换器DAC0832DAC0832是8位双缓冲器结构的D/A转换器。单电源供电,在+5~+15V范围内均可正常工作。基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。DAC0832共有20条引脚,双列直插式封装。引脚连接和命名如图所示。DAC0832内部结构框图D7~D0:转换数据输入端,:片选信号,输入,低电平有效。ILE:数据锁存允许信号,输入,高电平有效。:写信号1,输入,低电平有效。:写信号2,输入,低电平有效。:数据传送控制信号,输入,低电平有效。IOUT1:电流输出1,当DAC寄存器中各位为全“1”时,电流最大;为全“0”时,电流为0。IOUT2:电流输出2,电路中保证IOUT1+IOUT2=常数)Rfb:反馈电阻端,片内集成的电阻为15kΩ。Vref:参考电压,可正可负,范围为-10~+10V。DGND:数字量地。AGND:模拟量地。CS1WR2WRXFER四、MCS-51和D/A的接口1.DAC0832输出电压与输入数字量的关系输入数字量Bb7b6b5b4b3b2b1b0单极性Vout(理想值)双极性Vout(理想值)+VREF时+VREF时11111111-VREF(255/256)|VREF(127/128)┆┆┆11000000-VREF(192/256)VREF(64/128)┆┆┆10000000-VREF(128/256)0┆┆┆01111111-VREF(127/256)-VREF(1/128)┆┆┆00111111-VREF(63/256)-VREF(64/
本文标题:单片机应用技术中级教程7
链接地址:https://www.777doc.com/doc-4848650 .html