资源描述
,*,*,.,浙江师范大学,*,.,浙江师范大学,*,单片机接口技术及应用,2025/11/23 周日,.浙江师范大学,单片机接口技术及应用,第七章 单片机实用接口技术,(,一,),万旭,M.T.,:,13757980109,(,660109,),QQ,:,854310174,*,应用电子系,3,第七章 单片机实用接口技术,本章目录,一、,LED,显示接口,二、键盘接口,三、,LCD,显示接口,四、,A/D,与,D/A,接口,五、开关量驱动输出接口电路,*,应用电子系,4,LED,数码管显示接口,一、,LED,数码管,*,应用电子系,5,LED,显示器的扩展,(,结构,),LED,数码管的,结构,:共阳与共阴,公共,阳,极,h g f e d c b a,a,b,c,d,g,e,f,h,公共,阴,极,h g f e d c b a,a,b,c,d,g,e,f,h,h g f a,h g f a,高电平点亮,低电平点亮,接高电平,接地,*,应用电子系,6,单片机系统扩展,LED,数码管时多用,共阳,LED,:,共阳数码管每个段笔画是用低电平,(,“,0,”,),点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平,(,“,0,”,),点亮的,要求驱动功率较大。,通常每个段笔画要串一个数百欧姆的,降压电阻,。,*,应用电子系,7,LED,数码管的软件译码,八段,LED,数码管段代码编码表,(,连线不同可有多种表,):,字形,0,1,2,3,4,5,6,7,8,9,黑,共阳,0C0,0F9,0A4,0B0,99,92,82,0F8,80,90,0FF,共阴,3F,06,5B,4F,66,6D,7D,07,7F,6F,00,*,应用电子系,8,LED,数码管分类:,按,其内部结构可分为,共阴型,和,共阳型,;,按,其外形尺寸有多种形式,使用较多的是,0.5,和,0.8,;,按,显示颜色也有多种形式,主要有,红色,和,绿色,;,正向压降一般为,1.5,2V,,额定电流为,10mA,,最大电流为,40mA,。,静态显示,时取,10mA,为宜,,动态扫描显示,,可加大脉冲电流,但一般不超过,40mA,。,按,亮度强弱可分为,超亮,、,高亮,和,普亮,。,*,应用电子系,9,二、,LED,数码管编码方式,共阴和共阳,LED,数码管几种八段编码表,显示,数字,共阴顺序小数点暗,共阴逆序小数点暗,共阳顺序,小数点亮,共阳顺序,小数点暗,Dp g f e d c b a,16,进制,a b c d e f g Dp,16,进制,0,0 0 1 1 1 1 1 1,3FH,1 1 1 1 1 1 0 0,FCH,40H,C0H,1,0 0 0 0 0 1 1 0,06H,0 1 1 0 0 0 0 0,60H,79H,F9H,2,0 1 0 1 1 0 1 1,5BH,1 1 0 1 1 0 1 0,DAH,24H,A4H,3,0 1 0 0 1 1 1 1,4FH,1 1 1 1 0 0 1 0,F2H,30H,B0H,4,0 1 1 0 0 1 1 0,66H,0 1 1 0 0 1 1 0,66H,19H,99H,5,0 1 1 0 1 1 0 1,6DH,1 0 1 1 0 1 1 0,B6H,12H,92H,6,0 1 1 1 1 1 0 1,7DH,1 0 1 1 1 1 1 0,BEH,02H,82H,7,0 0 0 0 0 1 1 1,07H,1 1 1 0 0 0 0 0,E0H,78H,F8H,8,0 1 1 1 1 1 1 1,7FH,1 1 1 1 1 1 1 0,FEH,00H,80H,9,0 1 1 0 1 1 1 1,6FH,1 1 1 1 0 1 1 0,F6H,10H,90H,*,应用电子系,10,从显示数中分离出显示的每一位数字,方法是将显示数除以十进制的权,显示数,转换,为显示字段码的,步骤,:,将分离出的显示数字转换为显示字段码,方法是查表,*,应用电子系,11,【,例,】,已知显示数存在内,RAM 30H,(高位)、,31H,中,试将其转换为,5,位共阴字段码(顺序),存在以,30H,(高位)为首址的内,RAM,中。,解:连续调用下列二个子程序即可。,分离显示数字子程序,说明,:,SUM,是,16,位除以,16,位子程序,:(A,、,B)(R6,、,R5)=,商,R0,余数,(A,、,B),。,*,应用电子系,12,SPRT:MOV R0,#30H,;,置万位,BCD,码间址,MOV A,30H,;,置被除数,MOV B,31H,;,MOV R6,#27H,;,置除数,10000=2710H,MOV R5,#10H,;,LCALL SUM,;,除以,10000,万位商存,30H,余数存,A,、,B,MOV R6,#03H,;,置除数,1000=03E8H,MOV R5,#0E8H ;,INC R0,;,指向千位商间址,(31H),LCALL SUM,;,除以,1000,千位商存,31H,余数存,A,、,B,MOV R6,#0,;,置除数,100,MOV R5,#100,;,INC R0,;,指向百位商间址,(32H),LCALL SUM,;,除以,100,百位商存,32H,余数存,A(B=0),MOV B,#10,;,置除数,10,DIV AB,;,除以,10,INC R0,;,指向十位商间址,(33H),MOV R0,A,;,十位商存,33H,XCH A,B ;,读个位数,INC R0,;,指向个位间址,(34H),MOV R0,A,;,个位存,34H,RET,;,*,应用电子系,13,转换显示字段码子程序,CHAG:MOV DPTR,#TAB,;,置共阴字段码表首址,MOV R0,#30H,;,置显示数据区首址,CGLP:MOV A,R0,;,取显示数字,MOVC A,A+DPTR,;,读相应显示字段码,MOV R0,A,;,存显示字段码,INC R0,;,指向下一显示数字,CJNE R0,#35H,CGLP,;,判,5,个显示数字转换完否,?,RET,;,转换完毕,结束,TAB:DB 3FH,06H,5BH,4FH,66H,;,共阴字段码表,DB 6DH,7DH,07H,7FH,6FH,;,*,应用电子系,14,三、,静态显示方式及其典型应用电路,LED,数码管显示分类:静态显示方式和动态显示方式。,动态显示方式,:在某一瞬时显示一位,依次循环扫描,轮流显示。,特点,:占用,I/O,端线少,电路较简单,编程较复杂,,CPU,要定时扫描刷新显示。一般适用于显示位数较多的场合。,静态显示方式,:每一位字段码分别从,I/O,控制口输出,保持不变直至,CPU,刷新。,特点,:编程较简单,但占用,I/O,口线多,一般适用于显示位数较少的场合。,*,应用电子系,15,1,、,并行扩展静态显示电路,*,应用电子系,16,【,例,】,按图编制显示子程序,显示数(,255,)存在内,RAM 30H,中。,DIR1:MOV A,30H,;,读显示数,MOV B,#100,;,置除数,DIV AB,;,产生百位显示数字,MOVC A,A+DPTR,;,读百位显示符,MOV DPTR,#0DFFFH,;,置,74377(,百位,),地址,MOVX DPTR,A,;,输出百位显示符,MOV A,B,;,读余数,MOV B,#10,;,置除数,DIV AB,;,产生十位显示数字,MOV DPTR,#TAB,;,置共阳字段码表首址,MOVC A,A+DPTR,;,读十位显示符,MOV DPTR,#0BFFFH,;,置,74377(,十位,),地址,MOVX DPTR,A,;,输出十位显示符,*,应用电子系,17,MOV A,B,;,读个位显示数字,MOV DPTR,#TAB,;,置共阳字段码表首址,MOVC A,A+DPTR,;,读个位显示符,MOV DPTR,#7FFFH,;,置,74377(,个位,),地址,MOVX DPTR,A,;,输出个位显示符,RET,;,TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,;,共阳字段码表,DB 92H,82H,0F8H,80H,90H;,*,应用电子系,18,2,、,串行,扩展静态显示电路,*,应用电子系,19,【,例,】,按图编制显示子程序,显示字段码已分别存在,32H,30H,内,RAM,中。,DIR2:MOV SCON,#00H,;,置串口方式,0,CLR ES,;,串口禁中,SETB P1.0,;,“,与,”,门开,允许,TXD,发移位脉冲,MOV SBUF,30H,;,串行输出个位显示字段码,JNB TI,$,;,等待串行发送完毕,CLR TI,;,清串行中断标志,MOV SBUF,31H,;,串行输出十位显示字段码,JNB TI,$,;,等待串行发送完毕,CLR TI,;,清串行中断标志,MOV SBUF,32H,;,串行输出百位显示字段码,JNB TI,$,;,等待串行发送完毕,CLR TI,;,清串行中断标志,CLR P1.0,;“,与”门关,禁止,TXD,发移位脉冲,RET,*,应用电子系,20,要求:根据上图编写通过串行口和,74LS164,驱动,共阳,LED,数码管,查表显示的子程序。,条件:系统有,6,个,LED,数码管,待显数据,(00H,09H),已放在,35H,30H,单元中,(,分别对应十万位个位,),,,DSPLY:MOV DPTR,#TABLE,;,共阳,LED,数码管译码表首址,MOV R0,,,#30H,;,待显数据缓冲区的个位地址,REDO,:,MOV A,,,R0,;,通过,R0,实现寄存器间接寻址,MOVC A,A+DPTR,;,查表,MOV SBUF,A,;,经串行口发送到,74LS164,JNB TI,$,;,查询送完一个字节的第,8,位?,CLR TI,;,为下一字节发送作准备,INC R0,;R0,指向下一个数据缓冲单元,CJNE R0,,,#36H,,,REDO ;,判断是否发完,6,个数?,RET ;,发完,6,个数就返回,*,应用电子系,21,3,、,BCD,码输出静态显示电路,*,应用电子系,22,利用,4511,实现静态显示与一般静态显示电路不同:,一是,节省,I,0,端线,段码输出只需,4,根;,二是,不需专用驱动电路,可直接输出;,三是,不需译码,直接输出二进制数,编程简单;,缺点是,只能显示数字,不能显示各种符号。,*,应用电子系,23,【,例,】,按图试编制显示子程序(小数点固定在第二位),已知显示数存在内,RAM 30H,32H,中。,解:编程:,DIR3:MOV P1,#111,0,0000B,;,选通个位,ORL P1,30H,;,输出个位显示数,MOV P1,#11,0,10000B,;,选通十位,ORL P1,31H,;,输出十位显示数,MOV P1,#1,0,110000B,;,选通百位,ORL P1,32H,;,输出百位显示数,RET,;,*,应用电子系,24,四、,动态显示方式及其典型应用电路,*,应用电子系,25,*,应用电子系,26,LED,数码管动态显示举例,工作原理,:从,P0,口送段代码,P1,口送位选信号。段码虽同时到达,6,个,LED,,但一次仅一个,LED,被选中。利用,“,视觉暂留,”,,每送一个字符并选中相应位线,延时一会儿,再送,/,选下一个,循环扫描即可。,*,应用电子系,27,要求,:,共阴数码管,,P0,口送段代码,,P1,口送位选信号。通过查表实现动态显示。,条件,:,待显数据,(00H,09H),已放在,:7FH,7AH,单元中,(,分别对应十万位个位,),说明,:,由于用了反相驱动器,7406,,要用共阳译码表。,*,应用电子系,28,7406 OC,门,X 3,+5V,(7FH)(7EH)(7DH)(7CH)(7BH)(7AH),十万 万位 千位 百位 十位 个位,数据缓冲区,/,显示缓冲区,P0,口,送段代码,,P1,口,送位选信号。,待显数据,已经放在,:,7FH,7AH,单元,(,分别对应,十万位,个位,),使用共阳译码表,。,*,应用电子系,29,P0,口,送段代码,,P1,口,送位选信号。,待显数据,已经放在,:,7FH,7AH,单元,(,分别对应,十万位,个位,),使用共阳译码表,。,DIR,:MOV DPTR,#DSEG,;,数码管译码,表首址,MOV R0,,,#7AH,;,待显缓冲区,个位,地址,MOV R3,,,#01H,;,个位的,位选信号,=01H,LD1,:,MOV A,,,R0,;,通过,R0,间接寻址,MOVC A,A+DPTR,;,查表,MOV P0,A,;,字段码送到,P0,口,MOV P1,,,R3,;,字位选择送到,P1,口,LCALL DELY,;,调延时,1ms,子程序,INC R0,;R0,指向下一字节,MOV A,,,R3,JB ACC.5,,,LD2,;,判,是否发完,6,个数?,RL A,;R1,指向下一个位,MOV R3,,,A,;,位选信号存回,R1,SJMP,LD1,;,跳去再显示下一个数,LD2,:,RET,;,发完,6,个数就,返回,DSEG,:,DB 0C0H,0F9H,0A4H,0B0H,99H,;,共阳译码表,DB 92H,82H,0F8H,80H,90H,*,应用电子系,30,动态,显示实例,(,循环显示,“,8,”,的实验,),实验箱,从,P0,口扩展了两个,8,位的简单,I/O,口,:,一个送段代码,(,字形状,),,地址是,0DCH,;,一个送位选信号,(,字位置,),,地址是,0DDH,。,*,应用电子系,31,1,、,共阴型,8,位动态显示电路,*,应用电子系,32,【,例,】,按图,试编制循环扫描(,10,次)显示子程序,已知显示字段码存在以,30H,(低位)为首址的,8,字节内,RAM,中。,解:编程如下:,DIR4:MOV R2,#10,;,置循环扫描次数,MOV DPTR,#7FFFH,;,置,74377,口地址,DLP1:ANL P1,#11111000B,;,第,0,位先显示,MOV R0,#30H,;,置显示字段码首址,DLP2:MOV A,R0,;,读显示字段码,MOVX DPTR,A,;,输出显示字段码,LCALL DY2ms,;,调用延时,2ms,子程序,INC R0,;,指向下一位字段码,INC P1,;,选通下一位显示,*,应用电子系,33,CJNE R0,#38H,DLP2,;,判,8,位扫描显示完否,?,未完继续,DJNZ R2,DLP1,;8,位扫描显示完毕,CLR A,;10,次循环完毕,显示暗,MOVX DPTR,A,;,RET,;,子程序返回,*,应用电子系,34,2,、,共阳型,3,位动态显示电路,*,应用电子系,35,【,例,】,根据图电路,编制,3,位动态扫描显示程序,(,循环,100,次,),已知显示字段码存在以,40H(,低位,),为首址的,3,字节内,RAM,中。,解:编程如下:,DIR5:MOV DPTR,#0BFFFH,;,置,74377,地址,MOV R2,#100,;,置循环显示次数,DIR50:SETB P1.2,;,百位停显示,MOV A,40H,;,取个位字段码,MOVX DPTR,A,;,输出个位字段码,CLR P1.0,;,个位显示,LCALL DY2ms,;,调用延时,2ms,子程序,*,应用电子系,36,DIR51:SETB P1.0,;,个位停显示,MOV A,41H,;,取十位字段码,MOVX DPTR,A,;,输出十位字段码,CLR P1.1,;,十位显示,LCALL DY2ms,;,延时,2ms,DIR52:SETB P1.1,;,十位停显示,MOV A,42H,;,取百位字段码,MOVX DPTR,A,;,输出百位字段码,CLR P1.2,;,百位显示,LCALL DY2ms,;,延时,2ms,DJNZ R2,DIR50,;,判循环显示结束否,?,未完继续,ORL P1,#00000111B,;3,位灭显示,RET,;,*,应用电子系,37,思考,与实践,1.,根据电路图,编制,8,位动态扫描显示程序,1,)内存为内部,RAM,的,40H(,高位,)47H,(低位),2,)给内存送数据(自己选择),3,)从内存取数据,4,)根据数据取段码(从低位到高位),5,)取位码(对应数据位置),6,)设计循环显示,100,次,7,)更改显存数据再显示,8,)验证设计结果,*,应用电子系,38,思考,与实践,*,应用电子系,39,思考,与实践,*,应用电子系,40,键盘接口,一、,键盘接口概述,1,、,按键开关去抖动问题,键盘的抖动时间一般为,5,10ms,,,抖动现象会引起,CPU,对一次键操作进行多次处理,从而可能产生错误,。,*,应用电子系,41,消抖方法:,其中,RC,滤波电路去抖动电路简单实用,效果较好,。,软件去抖动,检测到按键按下后,执行,延时,10ms,子程序后再确认,该键是否确实按下,消除抖动影响。,硬件去抖动,*,应用电子系,42,2,、,按键连接方式,独立式按键,独立式按键是每个按键占用一根,I/O,端线,。特点:,各按键相互独立,电路配置灵活;,按键数量较多时,,I/O,端线耗费较多,电路结构繁杂;,软件结构简单。,适用于按键数量较少的场合,。,*,应用电子系,43,矩阵式键盘,I/O,端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路,。,特点:占用,I/O,端线较少;软件结构教复杂。,适用于按键较多的场合,。,*,应用电子系,44,3,、,键盘扫描控制方式,程序控制扫描方式,键处理程序固定在主程序的某个程序段。,特点,:对,CPU,工作影响小,键盘处理程序的运行间隔周期不能太长,影响对键输入响应的及时性。,定时控制扫描方式,利用定时,/,计数器每隔一段时间产生定时中断,响应中断后对键盘进行扫描。,特点,:扫描方式的区别是,用定时,/,计数器定时控制。应考虑定时时间不能太长,会影响对键输入响应的及时性。,*,应用电子系,45,中断控制方式,利用外部中断源,响应键输入信号。,特点,:克服了可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高,CPU,运行效率,但要占用一个宝贵的中断资源。,*,应用电子系,46,二、,独立式按键及其接口电路,1,、,按键直接与,I/O,口连接,*,应用电子系,47,【,例,】,按图,(a),、,(b),,分别编制按键扫描子程序。,按图,(b),编程如下,:,KEYB:ORL P1,#07H,;,置,P1.0,P1.2,为输入态,MOV A,P1,;,读键值,键闭合相应位为,1,ANL A,#00000111B,;,屏蔽高,5,位,保留有键值信息的低,3,位,JZ GRET,;,全,0,无键闭合,返回,LCALL DY10ms,;,非全,0,有键闭合,延时,10ms,软件去抖动,MOV A,P1,;,重读键值,键闭合相应位为,1,ANL A,#00000111B,;,屏蔽高,5,位,保留有键值信息的低,3,位,JZ GRET,;,全,0,无键闭合,返回,;,非全,0,确认有键闭合,JB Acc.0,KB0,;,转,0#,键功能程序,JB Acc.1,KB1,;,转,1#,键功能程序,JB Acc.2,KB2,;,转,2#,键功能程序,GRET:RET,KB0:LCALL WORK0,;,执行,0#,键功能子程序,RET,KB1:LCALL WORK1,;,执行,1#,键功能子程序,RET,KB2:LCALL WORK2,;,执行,2#,键功能子程序,RET,*,应用电子系,48,2,、,按键与并行扩展,I/O,口连接,*,应用电子系,49,【,例,】,按图编制按键扫描子程序,将键信号存入内,RAM 30H,。,解:编程如下:,KEY99:MOV DPTR,#7FFFH,;,置,74373,口地址,MOVX A,DPTR,;,输入键信号,(“0”,有效,),MOV 30H,A,;,存键信号数据,RET,;,*,应用电子系,50,三、,矩阵式键盘及其接口电路,*,应用电子系,51,【,例,】,按图,试编制矩阵式键盘扫描程序。解:,KEY:MOV P1,#0F0H,;,行线置低电平,列线置输入,KEY0:MOV A,P1,;,读列线数据,CPL A,;,数据取反,“,1,”,有效,ANL A,#0F0H,;,屏蔽行线,保留列线数据,MOV R1,A,;,存列线数据,(R1,高,4,位,),JZ GRET,;,全,0,无键按下,返回,KEY1:MOV P1,#0FH,;,行线置输入,列线置低电平,MOV A,P1,;,读行线数据,CPL A,;,数据取反,“,1,”,有效,ANL A,#0FH,;,屏蔽列线,保留行线数据,MOV R2,A,;,存行线数据,(R2,低,4,位,),JZ GRET,;,全,0,无键按下,返回,JBC F0,WAIT,;,已有消抖标志,转,SETB F0,;,无消抖标志,置消抖标志,LCALL DY10ms,;10ms,延时子程序,消抖,SJMP KEY0,;,重读行线列线数据,GRET:RET,;,*,应用电子系,52,WAIT:MOV A,P1,;,等待按键释放,CPL A,;,ANL A,#0FH,;,JNZ WAIT,;,按键未释放,继续等待,KEY2:MOV A,R1,;,取列线数据,(,高,4,位,),MOV R1,#03H,;,取列线编号初值,MOV R3,#03H,;,置循环数,CLR C,;,KEY3:RLC A,;,依次左移入,C,中,JC KEY4,;C=1,该列有键按下,编号存,R1),DEC R1,;C=0,无键按下,修正列编号,DJNZ R3,KEY3,;,判循环结束否,?,*,应用电子系,53,KEY4:MOV A,R2,;,取行线数据,(,低,4,位,),MOV R2,#00H,;,置行线编号初值,MOV R3,#03H,;,置循环数,CLR C,;,KEY5:RRC A,;,依次右移入,C,中,JC KEY6,;C=1,该行有键按下,编号存,R2,INC R2,;C=0,无键按下,修正行线编号,DJNZ R3,KEY5,;,判循环结束否,?,*,应用电子系,54,KEY6:MOV A,R2,;,取行线编号,CLR C,;,RLC A,;,行编号,2,RLC A,;,行编号,4,ADD A,R1,;,行编号,4+,列编号,=,按键编号,KEY7:CLR C,;,RLC A,;,按键编号,2,RLC A,;,按键编号,4(LCALL+RET,共,4,字节,),MOV DPTR,#TABJ,;,JMP A+DPTR,;,散转,执行相应键功能子程序,TABJ:LCALL WORK0,;,调用执行,0#,键功能子程序,RET,;,LCALL WORK1,;,调用执行,1#,键功能子程序,RET,;,LCALL WORK15,;,调用执行,15#,键功能子程序,RET,;,*,应用电子系,55,【,例,】,按如图编制中断方式键盘扫描程序,将键盘序号存入内,RAM 30H,。,*,应用电子系,56,ORG 0000H,;,复位地址,LJMP STAT,;,转初始化,ORG 0003H,;,中断入口地址,LJMP PINT0,;,转中断服务程序,ORG 0100H,;,初始化程序首地址,STAT:MOV SP,#60H,;,置堆栈指针,SETB IT0,;,置为边沿触发方式,MOV IP,#00000001B,;,置为高优先级中断,MOV P1,#0FH,;,置行为输入,置列输出,SETB EA,;CPU,开中,SETB EX0,;,开中,LJMP$,;,转主程序,并等待有键按下时中断,*,应用电子系,57,OGR 2000H,;,中断服务程序首地址,PINT0:PUSH Acc,;,保护现场,PUSH PSW,;,MOV A,P1,;,读行线,(P1.0,P1.3),数据,CPL A,;,数据取反,“,1,”,有效,ANL A,#0FH,;,屏蔽列线,保留行线数据,MOV R2,A,;,存行线,(P1.0,P1.3),数据,(R2,低,4,位,),MOV P1,#0F0H,;,行线置低电平,列线置输入态,MOV A,P1,;,读列线,(P1.4,P1.7),数据,CPL A,;,数据取反,“,1,”,有效,ANL A,#0F0H,;,屏蔽行线,保留列线数据,(A,中高,4,位,),MOV R1,#03H,;,取列线编号初值,MOV R3,#03H,;,置循环数,CLR C,;,PINT01:RLC A,;,依次左移入,C,中,JC PINT02,;C=1,该列有键按下,(,列线编号存,R1),DEC R1,;C=0,无键按下,修正列编号,DJNZ R3,PINT01,;,判循环结束否,?,未结束继续寻找有键按下列线,*,应用电子系,58,PINT02:MOV A,R2,;,取行线数据,(,低,4,位,),MOV R2,#00H,;,置行线编号初值,MOV R3,#03H,;,置循环数,PINT03:RRC A,;,依次右移入,C,中,JC PINT04,;C=1,该行有键按下,(,行线编号存,R2),INC R2,;C=0,无键按下,修正行线编号,DJNZ R3,PINT03,;,判循环结束否,?,未结束继续寻找有键按下行线,PINT04:MOV A,R2,;,取行线编号,CLR C,;,RLC A,;,行编号,2,RLC A,;,行编号,4,ADD A,R1,;,行编号,4+,列编号,=,按键编号,MOV 30H,A,;,存按键编号,POP PSW,;,POP Acc,;,RETI,;,*,应用电子系,59,思考,与实践,1.,根据电路图,编制,44,扫描键盘程序,1,)获取按键编码,(P1,口作为按键接口),2,)用动态显示程序显示当前的按下的键值(,P0,口与,P2.7,、,P2.6,、,P3.6,),3,)用外中断重新设计按键电路与程序,4,)扩展键盘控制显示的程序(功能自定义),*,应用电子系,60,思考,与实践,1.,完成以下任务之一,1,)脉冲宽度测量与显示的硬件电路与汇编程序设计,(,难度系数,100),2,)数字频率计的硬件电路与汇编程序设计,(,难度系数,90),3,)数字秒表的硬件电路与汇编程序设计,(,难度系数,90),4,)带,5,秒倒计时三色交通灯控制器(难度系数,90,),概 述,在微机过程控制和数据采集等系统中,经常要对,过程参数,进行测量和控制。,连续变化的物理量,如:温度、压力、流量、速度、位移 等等,物理过程,微 机,传感器,A/D,D/A,执行机构,物理过程,v/i,Data,Data,过程控制示意图,模拟量:,*,应用电子系,61,模拟量与数字量,模拟量连续变化的物理量,数字量,时间和数值上都离散的量,模拟,/,数字转换器,ADC,DAC,数字,/,模拟转换器,*,应用电子系,62,模拟输入输出系统,数字信号,模拟信号,现场信号,1,现场信号,2,现场信号,n,微型,计算机,放大器,放大器,放大器,多,路,开,关,低通滤波,传感器,低通滤波,传感器,低通滤波,传感器,A/D,转换器,采样保持器,数字信号,受控对象,控制信号,模拟信号,D/A,转换器,放大驱动电路,传感器,将各种现场的物理量测量出来,并转换成电信号(模拟电压或电流),放大器,把传感器输出的信号放大到,ADC,所需,的量程范围,低通滤波器,用于降低噪声、滤去高频干扰,,以增加信噪比,多路开关,把多个现场信号分时地接通到,A/D,转换器,采样保持器,周期性地采样连续信号,,并在,A/D,转换期间保持不变,*,应用电子系,63,A/D,和,D/A,接口,D/A,转换器:可将数字量转换成为模拟量的电子器件。,A/D,转换器:可将模拟量转换成为数字量的电子器件。,D/A,、,A/D,转换器在系统中的位置及作用:,*,应用电子系,64,D/A,转换器,DAC,数字,/,模拟转换器,模拟量,数字量,*,应用电子系,65,D/A,转换器的原理,数字量,按权相加,模拟量,1101B,12,3,12,2,02,1,12,0,13,D/A,转换器,D/A,转换器的原理,D/A,转换器的输入量为数字信号,输出量为模拟信号。图中输入的数字量是二进制编码信号。,*,应用电子系,67,D/A,转换器,实现这种转换的电路主要有两种解码网络:二进制权电阻网络、,T,型电阻网络。,1,、二进制权电阻网络,因为数字量是用二进代码按位组合起来的,每一位代码都有一定的,“,权,”,。因此,,D/A,转换就是要将每一位代码按其,“,权,”,的数值转换成为模拟量,然后相加,所得的总和就是与数字量成正比的模拟量。,简化的,4,位权电阻译码网络,D/A,转换器电路,?,*,应用电子系,68,D/A,转换器,说明:图中的开关,S0,S3,受输入的数据控制。当某位为,1,时,该位开关接至,Vref,。否则接地。,电路特点:精度高、参考电压稳定;但是网络电阻规格差距大,制造难。,*,应用电子系,69,工作原理,:,I,O1,I,O,+U,R,R,S,2,S,3,S,1,0,0,1,R,R,2R,2R,2R,2R,2R,S,0,0,0,1,1,1,I,R,d,0,d,1,d,2,d,3,d,i,为,1,S,i,与运放的反相输入端连接,u,o,=,-,I,O1,R,F,d,i,为,0,S,i,与地连接,+,+,-,A,uo,R,F,2,、,D/A,转换原理(,T,形解码网络),*,应用电子系,70,倒梯形电阻网络,R,I,2,I,3,I,1,R,R,2R,2R,2R,2R,2R,I,0,+U,R,I,R,0,0,1,1,2,2,3,3,R,R,R,R,I,R,=,U,R,/R,I,3,=,I,R,2,1,=,2,1,U,R,R,I,2,=,I,R,4,1,=,2,2,U,R,R,I,1,=,I,R,8,1,=,2,3,U,R,R,I,0,=,I,R,16,1,=,2,4,U,R,R,I,O1,I,O1,=d,3,I,3,+d,2,I,2,+d,1,I,1,+d,0,I,0,*,应用电子系,71,+,+,-,A,uo,R,F,I,O,I,O1,+UR,R,S2,S3,S1,0,0,1,R,R,2R,2R,2R,2R,2R,S0,0,0,1,1,1,I,R,d0,d1,d2,d3,I,O1,=d,3,I,3,+d,2,I,2,+d,1,I,1,+d,0,I,0,I,1,I,2,I,3,I,0,=,(,d,3,2,3,+d,2,2,2,+d,1,2,1,+d,0,2,0,),2,4,U,R,R,U,O1,=-I,O1,R,F,=,(,d,3,2,3,+d,2,2,2,+d,1,2,1,+d,0,2,0,),2,4,-U,R,R,F,R,*,应用电子系,72,U,O1,=-I,O1,R,F,=,(,d,3,2,3,+d,2,2,2,+d,1,2,1,+d,0,2,0,),2,4,-U,R,R,F,R,若为,n,位二进制数,则,U,O1,=,(,d,n-1,2,n-1,+d,n-2,2,n-2,+d,0,2,0,),2,n,-U,R,R,F,R,若,R,F,=R,,则,U,O1,=,(,d,n-1,2,n-1,+d,n-2,2,n-2,+d,0,2,0,),2,n,-U,R,即输出电压的大小正比于输入二进制数的大小,实现了数字量和模拟量的转换,*,应用电子系,73,二、,DA,转换器的性能参数,是,D/A,转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。如果数字量的位数为,n,则,D/A,转换器的分辨率为,2,-n,。有时也用输入数字量的有效位数来表示分辨率。,(,1,)分辨率,如,:,十位,DAC,分辨率:,2,10,1,=,1024,1,(,2,)偏移误差,它是指输入数字量为,0,时,输出模拟量对,0,的偏移值,(,3,)线性度,指,D/A,转换器的实际转移特性与理想直线之间的最大误差或最大偏移,*,应用电子系,74,(,4,)精度,输出模拟电压的实际值与理想值之差。即最大静态转换误差。参考电压波动是影响因素之一。,(,5,)转换速度,即每秒钟可以转换的次数,其倒数为转换时间,。,*,应用电子系,75,DAC0832,芯片,DAC0832是典型的8位电流输出型通用DAC芯片,0832,的技术指标,分辨率,8,位;,电流稳定时间,1,s,;,可双缓冲,单缓冲,或直接数字输入;,只需在满量程下调整,其线性度;,单一电源供电,(+5V,+15V),;,低功耗,,20mW,;,*,应用电子系,76,DAC0832,的内部结构,LE2,LE1,Rfb,AGND,DAC0832,Vcc,ILE,V,REF,输入,寄,存,器,DGND,DI0,DI7,D/A,转,换,器,DAC,寄,存,器,Iout2,Iout1,CS,WR1,WR2,XFER,*,应用电子系,77,1.DAC0832,的数字接口,8,位数字输入端,DI0,DI7,(,DI0,为最低位),输入寄存器(第,1,级锁存)的控制端,ILE,、,CS*,、,WR1*,DAC,寄存器(第,2,级锁存)的控制端,XFER*,、,WR2*,*,应用电子系,78,DAC0832,工作方式,:,直通锁存器,两级缓冲寄存器都是直通锁存器,LE,1,,直通(输出等于输入),LE,0,,锁存(输出保持不变),LE2,LE1,DAC0832,输入,寄,存,器,DI0,DI7,D/A,转,换,器,DAC,寄,存,器,Iout1,*,应用电子系,79,DAC0832,的工作方式:直通方式,LE1LE21,输入的数字数据直接进入D/A转换器,LE2,LE1,DAC0832,输入,寄,存,器,DI0,DI7,D/A,转,换,器,DAC,寄,存,器,Iout1,*,应用电子系,80,DAC0832,的工作方式:单缓冲方式,LE1,1,,或者,LE2,1,两个寄存器之一始终处于直通状态,另一个寄存器处于受控状态(缓冲状态),LE2,LE1,DAC0832,输入,寄,存,器,DI0,DI7,D/A,转,换,器,DAC,寄,存,器,Iout1,*,应用电子系,81,DAC0832,的工作方式:双缓冲方式,两个寄存器都处于受控(缓冲)状态,能够对一个数据进行,D/A,转换的同时;输入另一个数据,LE2,LE1,DAC0832,输入,寄,存,器,DI0,DI7,D/A,转,换,器,DAC,寄,存,器,Iout1,*,应用电子系,82,2.DAC0832,的模拟输出,Iout1,、,Iout2,电流输出端,Rfb,反馈电阻引出端(电阻在芯片内),V,REF,参考电压输入端,10V,10V,AGND,模拟信号地,V,CC,电源电压输入端,5V,15V,DGND,数字信号地,*,应用电子系,83,单极性电压输出,Vout,Iout1Rfb,(,D/2,8,),V,REF,Rfb,Iout2,Iout1,Vout,+,_,AGND,A,DI,V,REF,*,应用电子系,84,单极性电压输出:例子,例,1:,设,V,REF,5V,D,FFH,255,时,最大输出电压:,Vmax,(,255/256,),5V,4.98V,D,00H,时,最小输出电压:,Vmin,(,0/256,),5V,0V,D,01H,时,一个最低有效位(,LSB,)电压:,VLSB,(,1/256,),5V,0.02V,Vout,(,D/2,n,),V,REF,*,应用电子系,85,双极性电压输出:电路,R,1,(,R,),R,3,(,2R,),R,2,(,2R,),Rfb,Iout2,Iout1,AGND,DI,V,REF,Vout1,+,_,A1,Vout2,+,_,A2,I,1,I,2,I1,I2,0,*,应用电子系,86,双极性电压输出:公式,取,R2,R3,2R1,得,Vout2,(,2Vout1,V,REF,),因,Vout1,(,
展开阅读全文