《微计算机技术7.ppt》由会员分享,可在线阅读,更多相关《微计算机技术7.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第7 7章章 常用的简单外部设备与接口技术常用的简单外部设备与接口技术第第7章章 常用的简单外部设备与接口技术常用的简单外部设备与接口技术数码管显示与接口技术数码管显示与接口技术小键盘与接口技术小键盘与接口技术数模转换数模转换 /模数转换模数转换 在一些小规模的系统(如单片机、单板机)中,在一些小规模的系统(如单片机、单板机)中,常使用一些结构简单、成本低廉的外设,如常使用一些结构简单、成本低廉的外设,如LED数码数码管、小键盘、数模转换器和模数转换器等,本章介绍管、小键盘、数模转换器和模数转换器等,本章介绍有关的接口技术。有关的接口技术。7.1 7.1 数码管显示与接口技术数码管显示与接口
2、技术1.1.数码管显示原理数码管显示原理由由8只发光二极管只发光二极管LED构成数码显示器,内部有构成数码显示器,内部有7个杆状个杆状LED和一个圆形和一个圆形LED。根据连接方式的不同,分为共阴极和共阳极两种。根据连接方式的不同,分为共阴极和共阳极两种。7.1.2 7.1.2 多位数码管显示电路多位数码管显示电路共阴极数码管显示电路的逻辑框图与字形编码表共阴极数码管显示电路的逻辑框图与字形编码表寄存字形编码寄存字形编码寄存位选代码寄存位选代码D0D5分别对应分别对应6个数码管个数码管6个数码管的同名个数码管的同名阳极段已复接阳极段已复接 D0对应对应6个数码管的个数码管的a段段D7对应对应6
3、个数码管的个数码管的h段段在在CS和和IOW有效的前提下,有效的前提下,A0置置1,字形编码写入,字形编码写入断选锁存器;断选锁存器;A0置置0锁存位选代码,若位选代码为锁存位选代码,若位选代码为01H则第则第1位数码管显示位数码管显示 若代码为若代码为FFH则则6个数个数码管显示相同的字形。码管显示相同的字形。如何使如何使6个数码管显示不同字形?个数码管显示不同字形?利用人眼的视觉暂留现象,可以用扫描显示利用人眼的视觉暂留现象,可以用扫描显示的方法使的方法使6个数码管同时显示不同的内容。个数码管同时显示不同的内容。以以6位共阴极位共阴极LED数码管显示接口电路为例:数码管显示接口电路为例:控
4、制控制6个数码管的阴极电平,使其每次只有一个个数码管的阴极电平,使其每次只有一个数码管被点亮数码管被点亮1ms时间,时间,6个数码管轮流显示不同个数码管轮流显示不同的内容。由于人眼的视觉暂留现象,看起来就像的内容。由于人眼的视觉暂留现象,看起来就像是是6个数码管同时显示不同的内容。个数码管同时显示不同的内容。例例7.17.2 7.2 小键盘与接口技术小键盘与接口技术在小规模的系统中只需键入简单的命令和数字,不在小规模的系统中只需键入简单的命令和数字,不需要标准需要标准ASCII键盘。这时使用小键盘就很实用,例如键盘。这时使用小键盘就很实用,例如实验箱上的键盘、楼宇对讲门铃的键盘等等。实验箱上的
5、键盘、楼宇对讲门铃的键盘等等。为了节省并行端口的为了节省并行端口的IO资源,资源,通常小键盘采用矩通常小键盘采用矩阵开关的结构,微处理器通过并行端口读取开关的通断阵开关的结构,微处理器通过并行端口读取开关的通断情况,用软件来判断是否有键按下,以及按下的是什么情况,用软件来判断是否有键按下,以及按下的是什么键等信息。键等信息。在软件编制中,要解决在软件编制中,要解决按键识别按键识别、处理重键处理重键和和消除消除按键抖动按键抖动等问题。等问题。按键识别的方法主要有按键识别的方法主要有逐行扫描法逐行扫描法和和行翻转法行翻转法两大两大类。不同的按键识别方法,对重键的处理方式也不同。类。不同的按键识别方
6、法,对重键的处理方式也不同。按键抖动的消除,有硬件和软件两类方式。硬件方按键抖动的消除,有硬件和软件两类方式。硬件方式需要除抖动电路,成本高;所以在小系统中通常采式需要除抖动电路,成本高;所以在小系统中通常采用成本低的软件用成本低的软件延迟延迟除抖动的方法。除抖动的方法。7.2.1 7.2.1 逐行扫描法逐行扫描法首先判断是否有键按下:向首先判断是否有键按下:向PA7PA0输出全输出全0,然后,然后读取读取PB2PB0,如果不为全,如果不为全1,则有按键。,则有按键。如果有键按下,则逐位向如果有键按下,则逐位向PA7PA0输出输出0,然后读取,然后读取PB2PB0,便可知按键的情况。,便可知按
7、键的情况。同行的重键很好识别;不同行的重键,依扫描顺序识别。同行的重键很好识别;不同行的重键,依扫描顺序识别。以右图为例,采用以右图为例,采用8255的的A端端口、部分口、部分B口作为并行端口,设口作为并行端口,设置置PA7PA0为输出端口,为输出端口,PB2PB0为输入端口。为输入端口。行扫描按键识别程序框图行扫描按键识别程序框图 例例 7.2用逐行扫描法设计按用逐行扫描法设计按键识别程序,当小键键识别程序,当小键盘按下一个键时,主盘按下一个键时,主机屏幕显示该键的键机屏幕显示该键的键名,按下名,按下“R“键时键时程序结束。程序结束。LED显示与小键盘接口实例显示与小键盘接口实例利用利用In
8、tel 8255的的A端口和端口和C端口,端口,读取读取44键盘矩阵键盘矩阵和显示和显示4位位16进制进制数。数。在读取键盘时,在读取键盘时,关闭关闭LED显示显示,以免相互干扰。以免相互干扰。TABLE定义定义数码管的字形数码管的字形编码表。编码表。该程序没有设置程序出口,该程序没有设置程序出口,是一个死循环程序是一个死循环程序。7.2.27.2.2行翻转法行翻转法仍以仍以83的开关矩阵为例。的开关矩阵为例。设置设置PA7PA0为输出端口,为输出端口,PB2PB0为输入端口。为输入端口。(1)首先判断是否有键按下:向)首先判断是否有键按下:向PA7PA0输出全输出全0,然后读,然后读取取PB
9、2PB0,如果不为全,如果不为全1,则有按键。,则有按键。(2)如果有键按下,则)如果有键按下,则设置设置PA7PA0为输入端口为输入端口,PB2PB0为为输出端口输出端口。再向。再向PB2PB0 输出刚才读取的列值,然后读取输出刚才读取的列值,然后读取PA7PA0 的行值,将的行值,将行列值组合构成行列值组合构成“键值键值”,查表得对应按键。查表得对应按键。(3)不同的重键对应不同的键值,键值表中查不到按键,从而)不同的重键对应不同的键值,键值表中查不到按键,从而解决重键问题。解决重键问题。键值键值“A”键闭合:键闭合:PA5=0,PB0=0。键值键值110,11011111。即。即6DFH
10、。“R”键:键:若若“9”“X”同时闭合:同时闭合:键值键值011,11101111。即。即3EFH。键值键值010,10111011。即。即2BBH。0 1 1 1 1 1 1 1 1 1 0 3FE0 1 1 1 1 1 1 1 1 0 1 3FD0 1 1 1 1 1 1 1 0 1 1 3FB0 1 1 1 1 1 1 0 1 1 1 3F70 1 1 1 1 1 0 1 1 1 13EF0 1 1 1 1 0 1 1 1 1 13DF0 1 1 1 0 1 1 1 1 1 13BF0 1 1 0 1 1 1 1 1 1 137F行翻转按键识别程序设计行翻转按键识别程序设计模数转换器与
11、数模转换器模数转换器与数模转换器自然界中的物理量通常都是连续变化的,通过各种自然界中的物理量通常都是连续变化的,通过各种传感器转变成的电量,也是连续变化的,为模拟量。传感器转变成的电量,也是连续变化的,为模拟量。计算机只能处理数字量,需要通过计算机只能处理数字量,需要通过模数模数(A/D)转换转换将模拟电量转换为数字量,再送至计算机处理。将模拟电量转换为数字量,再送至计算机处理。经过计算机处理后的数字量,需要通过经过计算机处理后的数字量,需要通过数模数模(D/A)转换转换将数字量转换成为模拟量。将数字量转换成为模拟量。完成上述转换的器件,就是完成上述转换的器件,就是模数转换器模数转换器ADC和
12、和数数模转换器模转换器DAC。7.37.3数模转换数模转换 7.3.1 7.3.1 数模转换原理数模转换原理数模转换的器件核心是数模转换的器件核心是“解码网络解码网络”,以,以T型解码网络为例型解码网络为例介绍数模转换原理。介绍数模转换原理。T型解码网络型解码网络D/A转换器转换器 1000II=VREF/3R待转换数字量的二待转换数字量的二进制代码进制代码1000I各支路电流向求和元件提供的总电流分量是不同的。各支路电流向求和元件提供的总电流分量是不同的。当当S7接接VREF,其他开关接地,其他开关接地,S7支路电流提供的总电流分量是支路电流提供的总电流分量是I/2。当当S6接接VREF,其
13、他开关接地,其他开关接地,S6支路电流提供的总电流分量是支路电流提供的总电流分量是I/4。当当S0接接VREF,其他开关接地,其他开关接地,S0支路电流提供的总电流分量是支路电流提供的总电流分量是I/256。所以:所以:总电流总电流=D7I2-1+D6I2-2+D0I2-8 =I2-8(D727+D626+D020)=N2-8(VREF/3R)只和输入的二进制数只和输入的二进制数N N有关有关 通过通过T T型解码网络之后,型解码网络之后,得到一个与输入的数字量成得到一个与输入的数字量成比例关系的电流。比例关系的电流。输入数值越大,则输出电输入数值越大,则输出电流越大。流越大。7.3.2 DA
14、C08327.3.2 DAC0832简介简介 只有电阻网络和运算放大器,还不能使只有电阻网络和运算放大器,还不能使DAC正常工正常工作。因为要保持输出电压不变,必须保持输入的数字量作。因为要保持输出电压不变,必须保持输入的数字量也不变,这就需要用寄存器将数字量也不变,这就需要用寄存器将数字量Bn锁存住。锁存住。如果如果DAC中只有电阻网络,就需要外加寄存器和运中只有电阻网络,就需要外加寄存器和运算放大器,才能共同完成数模转换任务。算放大器,才能共同完成数模转换任务。为了便于与微处理器相连,很多为了便于与微处理器相连,很多DAC芯片内部设置芯片内部设置有寄存器,有寄存器,8位位DAC芯片芯片DA
15、C0832就是一个典型的两级就是一个典型的两级寄存寄存DAC。8位位DAC芯片芯片DAC0832内部设置有输入和内部设置有输入和DAC两级寄存器,两级寄存器,1个个T型电阻网络和反馈电阻。两级寄存器分别由型电阻网络和反馈电阻。两级寄存器分别由LE1和和LE2信号信号有效锁存。有效锁存。下降沿锁存信息下降沿锁存信息DAC0832引脚功能与内部结构引脚功能与内部结构DI7DI0:8位数字量输入信号,位数字量输入信号,DI7为最高位。为最高位。CS:片选信号,低电平有效;:片选信号,低电平有效;WR1:输入寄存器写信号,低电平有效;:输入寄存器写信号,低电平有效;ILE:允许输入寄存器锁存信号,高电
16、平有效。:允许输入寄存器锁存信号,高电平有效。上述上述3个控制信号共同作用选通个控制信号共同作用选通输入寄存器输入寄存器。WR2:DAC寄存器写信号,低电平有效;寄存器写信号,低电平有效;XFER:传送控制信号,低电平有效;:传送控制信号,低电平有效;上述上述2个控制信号共同作用选通个控制信号共同作用选通DAC寄存器寄存器。IOUT1:模拟电流输出:模拟电流输出1,电流的大小与,电流的大小与DI7DI0成正比。成正比。IOUT2:模拟电流输出:模拟电流输出2,IOUT1+IOUT2=常数。常数。RFB:反馈电阻引出端,直接连接运算放大器的输出端。:反馈电阻引出端,直接连接运算放大器的输出端。V
17、REF:参考电压输入,:参考电压输入,-10V+10V。VCC:芯片工作电压,芯片工作电压,+5V+15V。AGND:模拟信号地;:模拟信号地;DGND:数字信号地。:数字信号地。在模拟量与数字量并存的系统中,模拟信号地和数在模拟量与数字量并存的系统中,模拟信号地和数字信号地要分别单独连接:将各个模拟地连接在一起,字信号地要分别单独连接:将各个模拟地连接在一起,各个数字地连接在一起,然后在一个点上连接模拟地各个数字地连接在一起,然后在一个点上连接模拟地与数字地。这样可以避免数字信号通过数字地与模拟与数字地。这样可以避免数字信号通过数字地与模拟地的回路干扰模拟信号。地的回路干扰模拟信号。2.工作
18、方式工作方式(1 1)双缓冲方式)双缓冲方式ILE接接+5V,CS作作为为输输入入寄寄存存器器的的“片片选选”,XFER作作为为DAC寄存器的寄存器的“片选片选”;两两次次写写操操作作:第第一一次次对对输输入入寄寄存存器器写写入入待待转转换换的的数数字字量量;第二次对第二次对DAC执行一次写操作。执行一次写操作。(2 2)单缓冲方式)单缓冲方式两两个个寄寄存存器器中中的的一一个个处处于于直直通通状状态态,只只对对一一个个寄寄存存器器执执行行一次写操作。一次写操作。(3 3)直通方式)直通方式CS、WR1、WR2、XFER都都接接地地,DAC0832处处于于直直通通方方式,不使用缓冲寄存器,不能
19、直接和系统数据线相连。式,不使用缓冲寄存器,不能直接和系统数据线相连。利用利用DAC0832产生锯齿波产生锯齿波使用使用DAC0832的一级锁存器锁存数字量,构成下图所示电的一级锁存器锁存数字量,构成下图所示电路。假设路。假设IO地址为地址为DA_PORT时选通时选通CS,产生锯齿波的程序如下,产生锯齿波的程序如下,锯齿波的周期由延迟子程序控制。锯齿波的周期由延迟子程序控制。利用利用DAC0832产生方波和三角波产生方波和三角波7.4 7.4 模数转换模数转换 7.4.1 7.4.1 模数转换原理模数转换原理 1.计数式计数式A/D转换原理转换原理 计数器计数计数器计数 2.逐次逼近式逐次逼近
20、式A/D转换转换 逐次逼近寄存器逐位置逐次逼近寄存器逐位置11.1.计数式计数式A/DA/D转换原理转换原理 由启动信号有效启动一次由启动信号有效启动一次A/D转换过程:启动信号清除计数转换过程:启动信号清除计数器,并启动计数器对器,并启动计数器对CLK计数,计数,DAC的输出电压的输出电压VO随着计数器随着计数器输出值的增加而增大,当输出值的增加而增大,当VO增加至增加至VI时,比较器输出为时,比较器输出为0,计数,计数器停止计数。此时计数器的输出值即为模拟输入电压器停止计数。此时计数器的输出值即为模拟输入电压VI对应的数对应的数字量。字量。计数式计数式ADC的缺的缺点是转换速度慢。点是转换
21、速度慢。1000I各支路电流向求和元件提供的总电流分量是不同的。各支路电流向求和元件提供的总电流分量是不同的。当当S7接接VREF,其他开关接地,其他开关接地,S7支路电流提供的总电流分量是支路电流提供的总电流分量是I/2。当当S6接接VREF,其他开关接地,其他开关接地,S6支路电流提供的总电流分量是支路电流提供的总电流分量是I/4。当当S0接接VREF,其他开关接地,其他开关接地,S0支路电流提供的总电流分量是支路电流提供的总电流分量是I/256。所以:所以:总电流总电流=D7I2-1+D6I2-2+D0I2-8 =I2-8(D727+D626+D020)=N2-8(VREF/3R)只和输
22、入的二进制数只和输入的二进制数N N有关有关2.2.逐次逼近式逐次逼近式A/DA/D转换转换由启动信号有效启动一次由启动信号有效启动一次A/D转换过程:启动信号清除逐次逼近寄转换过程:启动信号清除逐次逼近寄存器,并在每个存器,并在每个CLK周期逐位将该寄存器从周期逐位将该寄存器从高位高位开始置开始置1,DAC的输的输出电压出电压VO随着寄存器输出值的变化而改变。随着寄存器输出值的变化而改变。当当VOVI时,保留所置的时,保留所置的1,反之将所置的,反之将所置的1清除,直至逐次逼近寄清除,直至逐次逼近寄存器的最低位完成为止。此时存器的最低位完成为止。此时D7D0即为即为VI对应的数字量。微处理器
23、对应的数字量。微处理器可以通过缓冲寄存器读取该数字量。可以通过缓冲寄存器读取该数字量。逐次逼近式逐次逼近式ADC的转换速度的转换速度比计数式要快,比计数式要快,N位位ADC的一次的一次A/D转换只用转换只用N个个CLK周期。周期。7.4.2 ADC0809简介简介 ADC0809芯片是CMOS型单片双列直插式模数转换器件,采用逐次逼近式转换方式,可对8路模拟电压分时进行转换。3位地址译码器,控位地址译码器,控制制8路模拟开关。路模拟开关。ADC0809一次一次A/D转换的时间取决于转换的时间取决于CLK的频率,的频率,CLK频频率典型值为率典型值为640kHz,对应的典型转换时间为,对应的典型
24、转换时间为100s。ADC0809引脚功能CLK(I):时钟信号,其频率决定转换速度。:时钟信号,其频率决定转换速度。IN7IN0(I):8路模拟量输入信号。路模拟量输入信号。ADDC、ADDB、ADDA(I):通道选择信号。:通道选择信号。ALE(I):通道地址锁存允许信号,高电平有效。:通道地址锁存允许信号,高电平有效。START(I):A/D转换启动信号,高电平有效。转换启动信号,高电平有效。EOC(O):A/D转换结束信号,高电平有效。转换结束信号,高电平有效。D7D0(O):数字量输出信号。:数字量输出信号。OE(I):允许数字量输出信号,高电平有效。:允许数字量输出信号,高电平有效
25、。VREF+(I):参考电平:参考电平+,典型值为,典型值为Vcc。VREF-(I):参考电平:参考电平-,典型值为,典型值为GND。Vcc(I):供电引脚,:供电引脚,+5V。ADC0809转换举例ADC0809与与8086微处理器的连接示意图如下。占用微处理器的连接示意图如下。占用2个个IO地址,假设为地址,假设为210H和和211H。210H是数据端口,是数据端口,211H是状态端口:是状态端口:第第7章章 常用的简单外部设备与接口技术常用的简单外部设备与接口技术数码管显示与接口技术数码管显示与接口技术小键盘与接口技术小键盘与接口技术数模转换数模转换 /模数转换模数转换 共阴极数码管显示
26、电路共阴极数码管显示电路 数码管显示与接口技术数码管显示与接口技术小键盘与接口技术小键盘与接口技术逐行扫描法逐行扫描法逐行逐位扫描逐行逐位扫描 行翻转法行翻转法列列+行组合构成键行组合构成键值值采用采用8255的的PA7PA0为输出端口,为输出端口,PB2PB0为输入端口。为输入端口。要求掌握键盘识别的编程技术(难点)要求掌握键盘识别的编程技术(难点)数码管数码管F ED CB A9876543210模数转换器与数模转换器模数转换器与数模转换器数模转换数模转换总电流总电流 =N2-8(VREF/3R)DAC0832DAC0832工作方式工作方式:双缓冲方式、单缓冲方式、直通方式。双缓冲方式、单缓冲方式、直通方式。1000I利用利用DAC0832产生锯齿波产生锯齿波