单片机应用技术中级教程7.ppt
《单片机应用技术中级教程7.ppt》由会员分享,可在线阅读,更多相关《单片机应用技术中级教程7.ppt(64页珍藏版)》请在课桌文档上搜索。
1、第七章 单片机的典型外围接口技术,作为单片机应用系统,键盘和显示器作为最常用的输入、输出接口往往是不可缺少的外围部件;另外计算机只能接受和处理数字信号,因此对于大量的模拟信号的处理,往往需要A/D、D/A接口,本章将初步介绍这方面的一些知识。,教学内容:键盘接口、键盘分类:独立联接式和矩阵式,编码键盘 和 非编码键盘,键盘接口电路和工作原理,LED显示器接 口,静态显示电路和动态显示电路及工作原理,并行 DAC接口 和简单编程,并行ADC接口和接口程序。教学重点:简单键盘、LED显示接口电路及工作原理,并行DAC,ADC与80C51单片机接口方法。教学要求:掌握简单键盘、LED显示接口电路及工
2、作原理;掌握并行DAC,ADC与80C51单片机接口方法;了解串DAC、ADC的接口,键盘处理程序任务1)键输入检查键盘是否有键被按下,消除按键抖动。确定被按键的键号,获取键号。硬件电路消除抖动或软件消除抖动。,2)键译码键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键09、字符键0AH0FH、功能键10H。,3)键处理根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示数字和字符的子程序。若键值属于功能键,则进行多分支转移,执行各个功能程序段。,键盘状态的监测方法:中断方式还是查询方式,7.1 键盘接口,1。键盘的工作原理:有独立连接式和矩阵式两类键盘。(1)独立连接式键
3、盘:这是一类最简单的键盘,每个键独立地连接一根数据输入线。如 P222图71 所示。当没有任何键被按下时,所有输入线都为高电平,若某键被按下,该线被拉成低电平。其优点是结构简单、使用方便;但占口线太多。,(2)矩阵式键盘:如 P223图72 a 所示。它包括:键盘开关矩阵;输出(行线)锁存器;输入(列线)缓冲器。,2。矩阵式键盘的工作过程:逐行扫描(使某行为0,其余为高);读入列缓冲器状态,若为全1,则该行无键按下,继续另一行;若有列线为0,则该行该列的键被按下;若已判断有某键被按下,则转该键的键处理子程序。,键盘扫描程序框图见P223图72 b,扫描方式有:程控、定时、中断扫描。,独立式键盘
4、电路,矩阵式键盘,1.键盘扫描方式(1).扫描法列线输出,行线输入。列线逐行输出0,某行有按键,行线输入有0,若无按键,行线输入全部为1。(2).反转法行列线交换输入、输出,两步获取按键键号。,每个按键单独占有一根I/O接口引线。,单键管理程序key:setb p1.0 jb p1.0,key2;有键按下P1.0=0key1:acall dis;延时,防止抖动 setb p1.0 jb p1.0,key2;键是否释放消除了连击功能 jnb p1.0,key1 key2:ret,ORG 0000H AT0:SETB P1.0 SETB P1.1 JB P1.0,AT2 ACALL DIS JB
5、P1.0,AT4 MOV 30H,#00H AT1:JB P1.0,AT4 ACALL DIS AJMP AT1 AT2:JB P1.1,AT4 ACALL DIS JB P1.1,AT4 MOV 30H,#01H AT3:JB P1.1,AT4 ACALL DIS AJMP AT3 AT4:RET DIS:,7.1.2 键盘的接口电路 1。直接使用I/O口的键盘电路 如 P224图73 所示。由于80C51的I/O口具有输出锁存与输入缓冲的功能,可用来组成键盘电路。图中用P1口组成44的16键键盘,列线接低4位并通过与门和/INT0相连;行线串联一个二极管接高4位,串联二极管是为了防止多键同
6、时按下时使输出口短路。,ORG 0000HAT0:ACALL KS1 JNZ AT1 AJMP DISAT1:ACALL DIS ACALL KS1 JNZ AT2 AJMP DISAT2:MOV R2,#0FEH MOV R3,#00H,AT3:MOV P1,R2 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,AT4 MOV A,R2 JNB ACC.3,AT7 RL A MOV R2,A MOV A,R3 ADD A,#04H,MOV R3,A AJMP AT3AT4:MOV B,#04HAT5:JNB ACC.4,AT6 INC R3 RR A DJNZ B,AT5
7、 AJMP AT7AT6:ACALL DIS ACALL KS1 JNZ AT6,AT7:RETKS1:MOV P1,#0F0H MOV A,P1 ORL A,#0FH CPL A RETDIS:RET,2。利用I/O口和译码器的接口 如 P224图74 所示。利用138译码器可由三根口线产生8根列线,节省I/O口线。,3。利用串行口的键盘电路 如 P224图75 所示。,7.2 显示器接口 7.2.1 LED显示器的工作原理 1。发光二极管的控制 P225图76,只有当U1U2 2.8V 亮,2。七段LED的控制 它是由若干发光二极管组合而成的8字形显示块,由a、b、c、d、e、f、g七段及
8、小数点h 组成,有共阳极和共阴极两种结构形式。如 P225图77 所示。共阴极形的字形与字段的关系如P226表71所示。共阴极LED的公共端接地。,(a)外型结构;(b)共阴极;(c)共阳极,数码管字型编码表,7.2.2 显示器的分类与接口 显示电路通常分为静态显示和动态显示两类。,每个LED需要一个8位并行口,多位LED共用一个8位字段口,各位LED公共端用字位口控制,扫描输出显示不同字形。,(1)静态显示电路:静态显示要求每个8字形的显示块都要有段码锁存器(如 P227图78 及 图79 所示)。图78采用软件译段码,273 锁存;图79采用硬件译码,247 译码驱动。,(2)动态显示电路
9、:它和静态显示相比,可以节省显示驱动器,但要求CPU定时对显示器进行刷新,要占用较多的CPU工作时间。其显示电路如 P229图711所示,包括显示块、字形锁存器和字位锁存器。工作过程是:先将显示字形代码送字形锁存器锁存,然后把要显示的位置送字位锁存器锁存,从而使该位点亮。为防止闪烁,显示时间为12ms,且每隔20ms以内要刷新一次。,例1(P230):通过P1口及138译码器的接口电路。这是一个动态显示的例子。接口电路见 P231图713。,工作过程:首先,使P1口的低4位输出字形代码;P1口的高3位输出一个位扫描字(与138译码配合),显示某一位,并保持1ms。各位显示一遍之后,关显示。尔后
10、,使P1口的高4位转为输入方式,P1口的低4位输出键扫描信号,有键按下时,转入键译码和处理程序。其中,要注意在适当的时候进行显示器刷新,以使显示不灭掉。,其它的有关显示与键盘的接口方法将在后续课程中进一步讲解。,7.3 DAC 数/模转换接口,一、D/A转换器的性能指标,1.分辨率(Resolution)分辨率是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。如果数字量的位数为n,则称D/A转换器分辨率为 n位或称为模拟量满量程的1/2n.如8位D/A转换器,转换后的电压满量程是5V,则分辨率为8位或5V/28=20mV.2.转换精度(Conversion Accurac
11、y)指满量程时DAC的实际模拟输出值和理论值的接近程度。转换精度为1/2个最低有效位(常用1/2 LSB表示),如8位D/A转换器的精度为:(1/2)(1/256)=1/5123.偏移量误差(Offset Error)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。4.线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。5.建立时间 建立时间是描述D/A转换速度快慢的一个参数,指从输入数字量变化到输出达到终值误差1/2LSB(最低有效位)时所需的时间,通常以建立时间来表明转换速度.,二、D/A转换原理 n位数字量与模拟量的关系式:VO=VREF/2
12、n D(VREF-参考电压),三、集成D/A转换器DAC0832 DAC0832 是8位双缓冲器结构的D/A转换器。单电源供电,在+5+15V范围内均可正常工作。基准电压的范围为10V,电流建立时间为1s,CMOS工艺,低功耗20mW。DAC0832共有20条引脚,双列直插式封装。引脚连接和命名如图所示。,DAC0832内部结构框图,D7D0:转换数据输入端,:片选信号,输入,低电平有效。ILE:数据锁存允许信号,输入,高电平有效。:写信号1,输入,低电平有效。:写信号2,输入,低电平有效。:数据传送控制信号,输入,低电平有效。IOUT1:电流输出1,当DAC寄存器中各位为全“1”时,电流最大
13、;为全“0”时,电流为0。IOUT2:电流输出2,电路中保证IOUT1+IOUT2=常数)Rfb:反馈电阻端,片内集成的电阻为15k。Vref:参考电压,可正可负,范围为-10+10V。DGND:数字量地。AGND:模拟量地。,四、MCS-51和D/A的接口,1.DAC0832输出电压与输入数字量的关系,2.DAC0832的3种单缓冲连接方式,(a)DAC寄存器直通方式,DAC寄存器控制脚:输入寄存器控制脚:,ILE,例1:D/A转换程序,用DAC 0832输出05V锯齿波,电路为直通方式。设VREF=-5V,DAC 0832地址为7FFFH(CS接P2.7),脉冲周期要求为100ms。,DA
14、CS:MOVDPTR,#7FFFH;0832 I/O地址MOVA,#0;开始输出0VDACL:MOVXDPTR,A;输出模拟量INCA;升压ACALLDELAY;延时100ms/256AJMPDACL;连续输出DELAY:;延时子程序,几点说明:(1)程序每循环1次,A加1,可见锯齿波的上升沿是由256个小阶梯构成的。(2)可通过循环程序段的机器周期数,计算出锯齿波的周期,并可根据需要通过延 时的办法来改变波形周期。(3)通过A加1,可得到正向的锯齿波;如要得到负向的锯齿波,只要将A加1改为A 减1指令即可实现。(4)程序中A的变化范围为0255,所得到的锯齿波为满幅度。,例2:产生矩形波、方
15、波 ORG 0000HMAIN:MOV DPTR,7FFFH;指向0832口地址 SS1:MOV A,00H;取下限值 MOVX DPTR,A;输出 ACALL DMS1;调用延时程序 MOV A,#0FFH;取上限值 MOVX DPTR,A;输出 ACALL DMS2;调用延时程序 SJMP SS1 END,几点说明:(1)以上程序产生的是矩形波,其低电平的宽度由延时子程序DMS1所延时的时间来决定,高电平的宽度则由子程序DMS2所延时的时间来决定。(2)改变延时子程序DMS1和DMS2的延时时间,就可改变矩形波上下沿的宽度。若DMS1=DMS2(两者延时一样),则输出的是方波。(3)改变上
16、限值或下限值便可改变矩形波的幅值:单极性输出时为0-5V或0+5V;双极性输出时为-5+5V。,例3.产生三角波利用DAC0832产生三角波的参考程序如下:MOV A,00H;取下限值 MOV DPTR,7FFFH;指向0832口地址SS1:MOVX DPTR,A;输出 NOP;延时 NOP NOPSS2:INC A;转换值增量 JNZ SS1;未到峰值,则继续SS3:DEC A;已到峰值,则取后沿 MOVX DPTR,A;输出 NOP;延时 NOP NOP JNZ SS3;未到谷值,则继续 SJMP SS2;已到谷值,则反复,几点说明:(1)本程序所产生的三角波谷值为0,峰值为+5V(或-5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用技术 中级 教程
链接地址:https://www.desk33.com/p-726368.html