---人机交互技术与模拟接口-微机基础与接口技术-教学课件

上传人:痛*** 文档编号:241756521 上传时间:2024-07-21 格式:PPT 页数:71 大小:1.17MB
返回 下载 相关 举报
---人机交互技术与模拟接口-微机基础与接口技术-教学课件_第1页
第1页 / 共71页
---人机交互技术与模拟接口-微机基础与接口技术-教学课件_第2页
第2页 / 共71页
---人机交互技术与模拟接口-微机基础与接口技术-教学课件_第3页
第3页 / 共71页
点击查看更多>>
资源描述
第十二章第十二章 人机交互技术与模拟接口人机交互技术与模拟接口12.1 人机交互技术人机交互技术12.2 D/A转换与转换与DAC083212.3 A/D转换与转换与ADC0809 微型计算机系统中,根据外部设备在计算机系统微型计算机系统中,根据外部设备在计算机系统中的作用,将其大致分为中的作用,将其大致分为4 4类:输入输出设备、外类:输入输出设备、外存储器、终端设备、脱机设备。存储器、终端设备、脱机设备。输入输出设备是计算机系统的重要组成部分。输入输出设备是计算机系统的重要组成部分。输入设备把程序、原始数据、操作命令传送给输入设备把程序、原始数据、操作命令传送给CPUCPU。输出设备则将输出设备则将CPUCPU处理的中间数据和最终结果以人们处理的中间数据和最终结果以人们可以接受的数字、可以接受的数字、字符、图形等形式记录或显示出字符、图形等形式记录或显示出来。来。12.1 人机交互技术人机交互技术一、键盘一、键盘 编码式键盘和编码式键盘和非编码式键盘非编码式键盘 12.1编码键盘:使用这种键盘时,当有键按下,系统编码键盘:使用这种键盘时,当有键按下,系统的单片机可以自动检测,的单片机可以自动检测,并能提供按键对应的键并能提供按键对应的键值。这种键盘接口简单,使用方便,但价格较贵。值。这种键盘接口简单,使用方便,但价格较贵。非编码键盘:非编码键盘:这种键盘只简单提供键的行列位置这种键盘只简单提供键的行列位置(位置码或称扫描码),按键的识别和键值的确定(位置码或称扫描码),按键的识别和键值的确定等工作由软件完成。等工作由软件完成。12.11PC机的编码键盘机的编码键盘 PC PC系列微机的键盘是计算机系统的标准输入系列微机的键盘是计算机系统的标准输入设备,它由排列成矩阵形式的按键组成。设备,它由排列成矩阵形式的按键组成。按键开关均为无触点的电容开关。它通过按键按键开关均为无触点的电容开关。它通过按键的上下动作,使电容量发生变化,来检测按键的的上下动作,使电容量发生变化,来检测按键的断开与接通。断开与接通。PC PC系列键盘是由单片机扫描程序,并识别按系列键盘是由单片机扫描程序,并识别按键的当前位置,然后再向键盘接口输出该键的键的当前位置,然后再向键盘接口输出该键的扫描码。按键的识别、键值的确定以及键代码扫描码。按键的识别、键值的确定以及键代码存入键缓冲区等工作全部由软件完成。存入键缓冲区等工作全部由软件完成。12.1键盘的识别采用的是行列扫描法键盘的识别采用的是行列扫描法12.1行列扫描法工作过程:行列扫描法工作过程:7 7位计数器处于定时工作方式,位计数器处于定时工作方式,每每96 96 ss加加1 1。计。计数器输出分别送至两个译码器(行译码和列译码),数器输出分别送至两个译码器(行译码和列译码),高高4 4位译码形成位译码形成Y0Y0Y15Y15共共1616行扫描驱动线;低行扫描驱动线;低3 3位译位译码形成码形成X0X0X7X7共共8 8列扫描驱动线。由于计数器的特点,列扫描驱动线。由于计数器的特点,列扫描驱动线随着时钟而步进列扫描驱动线随着时钟而步进1 1列;行扫描驱动线是列;行扫描驱动线是经过经过8 8个时钟而步进个时钟而步进1 1行。行。12.1 假设计数器初值为假设计数器初值为0 0,则行译码则行译码Y0Y0为高电平,为高电平,经反向为低电平。此时,随着计数器的步进,列经反向为低电平。此时,随着计数器的步进,列扫描驱动线也随之步进扫描驱动线也随之步进1 1列,依次检查列,依次检查X0X0X7X7这这8 8列有无键按下。如果无键按下,列有无键按下。如果无键按下,经过经过8 8个时钟之个时钟之后,行译码后,行译码Y1Y1成为低电平,则检查成为低电平,则检查Y1Y1行的行的X0X0X7X7这这8 8列有无键按下。列有无键按下。重复上述过程。一旦发现有键按下,检测器便重复上述过程。一旦发现有键按下,检测器便有信号输出,此时,计数器的值即为键扫描码的有信号输出,此时,计数器的值即为键扫描码的值。值。12.1PC系列键盘主要由系列键盘主要由8048单片机、单片机、译码器和译码器和16行行8列的键开关阵列三部分组成。列的键开关阵列三部分组成。12.1 8048 8048单片机承担了键盘扫描、消抖并生成键扫描码、单片机承担了键盘扫描、消抖并生成键扫描码、对扫描码进行并串转换,并将串行的键扫描码和时钟对扫描码进行并串转换,并将串行的键扫描码和时钟送到主机。送到主机。单片机中的计数器用于定时工作方式,每单片机中的计数器用于定时工作方式,每96 96 ss计计数器增数器增1 1。P20P20输出一个选通信号时,则行、列译码电输出一个选通信号时,则行、列译码电路开始工作。路开始工作。8 8位计数器的位计数器的b6b6b3b3位和位和b2b2b0b0位,经位,经DBDB总线送至键盘阵列的行扫描、总线送至键盘阵列的行扫描、列扫描译码电路,进行列扫描译码电路,进行行列扫描。行列扫描。12.1 检测电路检测有无键按下,并将检测信号送至检测电路检测有无键按下,并将检测信号送至80488048的的T1T1脚。脚。若有键按下,此时计数器的低若有键按下,此时计数器的低7 7位的值为键位的值为键扫描码,计数器最高位输出为扫描码,计数器最高位输出为0 0,8 8位键扫描码经位键扫描码经P22P22串串行输出。由行输出。由DATADATA线以异步串行方式,将按键的扫描码线以异步串行方式,将按键的扫描码送至键盘接口,在扫描码输出的同时,送至键盘接口,在扫描码输出的同时,P20P20输出时钟输出时钟信号。信号。8048 8048最多可存最多可存2020个键扫描码,个键扫描码,P11P11、P10P10分别用于请分别用于请求输入和命令输入。当键按下时,键盘向接口发送的求输入和命令输入。当键按下时,键盘向接口发送的是是1 1字节的扫描码。字节的扫描码。当键抬起时,键盘向接口发送的当键抬起时,键盘向接口发送的断开的扫描码是断开的扫描码是2 2字节,也就是在接通扫描码前,再加字节,也就是在接通扫描码前,再加F0F0字节。字节。12.1 PC PC键盘接口安装在系统板上,通过五芯插键盘接口安装在系统板上,通过五芯插头座与键盘相连:头座与键盘相连:12.1 PC PC键盘接口采用键盘接口采用80428042作为键盘的智能接口。作为键盘的智能接口。Intel Intel 80428042是个有是个有4040引脚的单片微处理器,它包括引脚的单片微处理器,它包括8 8位位CPUCPU、2 KB2 KB的的ROMROM、128 B128 B的的RAMRAM、两个、两个8 8位位I IO O端口、一个端口、一个8 8位定时计数器和时钟发生器。位定时计数器和时钟发生器。计算机系统通过两个中断与键盘发生联系计算机系统通过两个中断与键盘发生联系:一个一个是硬件中断是硬件中断09H,另一个是软中断,另一个是软中断16H。12.12非编码键盘非编码键盘 键盘采用键盘采用65矩阵,共有矩阵,共有30个按键。微处理器通个按键。微处理器通过对行和列的扫描来确定是否有键按下,以及是哪过对行和列的扫描来确定是否有键按下,以及是哪个键按下。然后将按下键的行列进行编码送处理器个键按下。然后将按下键的行列进行编码送处理器处理。处理。键盘的按键矩阵连接并行器件键盘的按键矩阵连接并行器件 其工作的重点是如何识别按键其工作的重点是如何识别按键12.112.1如何识别按键?如何识别按键?逐行扫描法逐行扫描法 初始状态下,所有行线均为高电平。初始状态下,所有行线均为高电平。扫描开始后,先给第扫描开始后,先给第0 0行赋值为低电平(即扫描第行赋值为低电平(即扫描第0 0行),然后检查各列信号电平,若该行上有键按下,行),然后检查各列信号电平,若该行上有键按下,则对应列与该行接通,对应列将变成低电平。则对应列与该行接通,对应列将变成低电平。若未发现低电平的列,即说明该行没有按键按下,若未发现低电平的列,即说明该行没有按键按下,则继续扫描下一行。则继续扫描下一行。如此循环扫描下去,若有按键按下,总可以发现其如此循环扫描下去,若有按键按下,总可以发现其所对应的行号和列号。所对应的行号和列号。线路反向法线路反向法 二次扫描法二次扫描法 12.1扫描按键注意的问题:扫描按键注意的问题:1)消除抖动)消除抖动 硬件消抖和软件消抖硬件消抖和软件消抖 MC14490六路消抖电路;软件延时消除抖动六路消抖电路;软件延时消除抖动 2)多键值输入和串键)多键值输入和串键 12.13非编码矩阵键盘接口系统的设计非编码矩阵键盘接口系统的设计1)设计硬件接口电路)设计硬件接口电路 确定按键个数、硬件接口器件。如可以采用接确定按键个数、硬件接口器件。如可以采用接口芯片口芯片82558255来实现,也可以采用锁存器行输出,来实现,也可以采用锁存器行输出,三态门列输入。三态门列输入。2)确定键值表)确定键值表 键的行列坐标键的行列坐标 查表值查表值=(FFH行号)行号)16列值列值12.1查表值键值查表值键值FF0D78EF1DB9F72DDAFB3EDBDF4FDCE750DDEB60BECF707F查表值建立与键值的关系查表值建立与键值的关系 12.13)编写键盘扫描程序)编写键盘扫描程序 扫描过程的基本思想:扫描过程的基本思想:CPU CPU进入键盘扫描程序,使所有各行赋值为低电进入键盘扫描程序,使所有各行赋值为低电平,判断是否有键按下,若有,则列值肯定不是平,判断是否有键按下,若有,则列值肯定不是1FH1FH,若没有,则本次扫描结束。若有键按下,则,若没有,则本次扫描结束。若有键按下,则进一步判断是哪一个键按下,首先延时进一步判断是哪一个键按下,首先延时20ms20ms消除消除抖动,然后使各行依次变为低电平进行逐行扫描,抖动,然后使各行依次变为低电平进行逐行扫描,确定按下的键是在哪一行上并读出此时的列值,确定按下的键是在哪一行上并读出此时的列值,计算查表值,查键值表即可获得按下键的键值。计算查表值,查键值表即可获得按下键的键值。12.1首先向行寄存器送首先向行寄存器送3FH3FH,由于,由于8D8D锁存器输出加有锁存器输出加有反相器,故使所有行线置为低电平。反相器,故使所有行线置为低电平。然后读取列输入端口,只要有键按下,总会有一然后读取列输入端口,只要有键按下,总会有一条列线为低电平,即列输入口的条列线为低电平,即列输入口的B0B0B4B4位中必然位中必然有一位为有一位为0 0。如果有键按下,则进行键盘扫描;否则跳过键盘如果有键按下,则进行键盘扫描;否则跳过键盘扫描程序。扫描程序。12.1键盘扫描识别流程图:键盘扫描识别流程图:12.1说明:说明:进行逐行扫描时首先使进行逐行扫描时首先使L0行线置成低电平(行线置成低电平(B0位置位置1),其余各行均为高电平(),其余各行均为高电平(B1B5位置位置0)。然)。然后读取列输入口,若有键按下,则对应该列为低电平,后读取列输入口,若有键按下,则对应该列为低电平,此时可根据该行列号从键值表中查的对应的键值。如此时可根据该行列号从键值表中查的对应的键值。如果所有列线均为高电平,说明该行没有键按下,继续果所有列线均为高电平,说明该行没有键按下,继续扫描下一行,如此循环,最终可对所有键扫描一遍。扫描下一行,如此循环,最终可对所有键扫描一遍。为了消除抖动,当判断有键按下后,应先延时为了消除抖动,当判断有键按下后,应先延时20ms,然后再进行键盘扫描。然后再进行键盘扫描。12.1键盘扫描程序:键盘扫描程序:DECKY:MOV AL,3FHMOVDX,DIGLHOUTDX,AL;行线全部置低电平行线全部置低电平MOVDX,KBSELINAL,DXANDAL,DXCMPAL,1FH;判断有无键闭合判断有无键闭合JZDISUP;无键闭合则转出无键闭合则转出CALLD20MS;消除键抖动消除键抖动MOVBL,01H;初始化行扫描值初始化行扫描值KEYDN1:MOV DX,DIGLHMOVAL,BLOUTDX,AL;行扫描行扫描MOVDX,KBSELINAL,DX;该行是否有键闭合该行是否有键闭合ANDAL,1FH;有则转译码程序有则转译码程序CMPAL,1FHJNZKEYDN212.1SHLBL,1MOV AL,40HCMP AL,BL;所有行都扫描完否所有行都扫描完否JNZKEYDN1;未完未完JMPDISUP;完,转显示完,转显示 KEYDN2:MOV CH,00H;键盘译码程序键盘译码程序 KEYDN3:DECCHSHRBL,1JNZKEYDN3SHLCH,1SHLCH,1SHLCH,1SHLCH,1ADDAL,CH;实现(实现(FFH行号)行号)16列列MOV DI,KYTBL;端口值端口值KEYDN4:CMP AL,DI;寻找键值寻找键值JZKEYDN5INCDIINCBL;表序号加表序号加1JMPKEYDN4KEYDN5:MOV DX,KBSELKEYDN6:INAL,DXANDAL,1FHCMP AL,1FH;检测键是否释放检测键是否释放JNZKEYDN6;未释放继续检测未释放继续检测CALL D20MS;消除键抖动消除键抖动MOV AL,BL;键值送键值送AL12.112.14专用键盘接口芯片专用键盘接口芯片专门用于键盘接口的大规模集成电路芯片,专门用于键盘接口的大规模集成电路芯片,例如例如8279、SSK814等,等,键盘扫描及键码读取都是由这些接口硬件自动键盘扫描及键码读取都是由这些接口硬件自动完成的,无需完成的,无需CPU进行干预,只有当有键按下进行干预,只有当有键按下时,接口才向时,接口才向CPU发出中断,要求发出中断,要求CPU将键值将键值码读入。码读入。12.1二、二、LED显示显示 1LED显示原理显示原理七段数码管七段数码管 共阳极共阳极LED 共阴极共阴极LED 12.12静态显示静态显示每个数码管的每一个段码都由一个每个数码管的每一个段码都由一个I/O口进行驱动口进行驱动 优点优点:是编程简单,显示亮度高是编程简单,显示亮度高缺点缺点:是占用是占用I/O口多口多 静态显示可以使用静态显示可以使用锁存器连接锁存器连接,也可以使用也可以使用译码器连接译码器连接 12.13动态显示动态显示 所有数码管的所有数码管的8 8个显示码段个显示码段“a a、b b、c c、d d、e e、f f、g g、dpdp”的同名端连在一起;每个数码管的公共的同名端连在一起;每个数码管的公共极极COMCOM连接位元选通控制电路,位元选通由各自独连接位元选通控制电路,位元选通由各自独立的立的I/OI/O线控制。线控制。当输出字形码时,所有数码管都接收到相同的当输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决字形码,但究竟是那个数码管会显示出字形,取决于处理器对位元选通于处理器对位元选通COMCOM端电路的控制,所以我们端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。就显示出字形,没有选通的数码管就不会亮。分时轮流控制各个分时轮流控制各个LED数码管的数码管的COM端,各端,各个数码管轮流受控动态驱动显示。个数码管轮流受控动态驱动显示。12.1动态动态LED接口电路:接口电路:12.1锁存译码器的输出要显示的各段状态,即显示码;锁存译码器的输出要显示的各段状态,即显示码;锁存器锁存器74LS374用来控制哪一位被点亮用来控制哪一位被点亮。利用定时器每利用定时器每20ms产生一次中断,产生一次中断,在中断程序中使各位在中断程序中使各位LED分别显示分别显示1ms。说明:说明:12.1中断方式的显示程序:中断方式的显示程序:DISPLAYPROC FARPUSHAXPUSHBXPUSHDXPUSHDSPUSHSISTIMOVDX,SEG DISDAT;显示缓冲区段地址;显示缓冲区段地址MOVDS,DXMOVSI,OFFSET DISDAT;显示缓冲区首地址;显示缓冲区首地址MOVBL,8;显示;显示8位数码位数码MOVBH,0FEHGOON:MOV AL,SI ;取显示数据;取显示数据MOVDX,4001HOUTDX,AL;送显示数据;送显示数据MOVDX,4000HMOVAL,BHOUTDX,AL;点亮;点亮1位位LEDCALLDISPLAY;延时;延时1ms12.1INCSIROLBH,1DECBLJNZGOONMOV DX,OCW2;取;取8259OCW2地址地址MOV AL,20HOUTDX,AL;8259的结束中断命令的结束中断命令MOV DX,4000HMOV AL,0FFHOUTDX,AL;熄灭;熄灭LEDPOP SIPOP DSPOP DXPOP BXPOP AXIRET DISPLAY ENDP12.2 D/A转换与转换与DAC0832D/A转换:转换:数数/模转换,将二进制数字量形式的离模转换,将二进制数字量形式的离散信号转换成以标准量(或参考量)为基准的模散信号转换成以标准量(或参考量)为基准的模拟量。拟量。一、一、D/A转换基本原理转换基本原理 将每一位的代码按其位权的大小转换成相应的将每一位的代码按其位权的大小转换成相应的模拟量,然后再将这些模拟量相加,即可得到与数模拟量,然后再将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现数模转换。字量成正比的总模拟量,从而实现数模转换。12.21D/A转换器分类转换器分类D/A转换器按解码网络结构按模拟电子开关T型倒T型权电流权电阻CMOS型双极型电流开关型ECL电流开关型12.22D/A转换器性能指标转换器性能指标1)分辨率分辨率 最小输出电压(对应的输入数字量只有最低有效最小输出电压(对应的输入数字量只有最低有效位为位为“1”)与最大输出电压(对应的输入数字)与最大输出电压(对应的输入数字量所有有效位全为量所有有效位全为“1”)之比。)之比。如如N位位D/A转换器,其分辨率为转换器,其分辨率为1/(2*N-1)。12.22)线性度)线性度 用非线性误差的大小表示用非线性误差的大小表示D/A转换的转换的线性度线性度。这里理想的输入这里理想的输入/输出特性的偏差与满刻度输出之输出特性的偏差与满刻度输出之比的百分数定义为比的百分数定义为非线性误差非线性误差。3)转换精度)转换精度 如果不考虑其他如果不考虑其他D/A电路转换误差电路转换误差时,时,D/A的转的转换精度就是分辨率的大小。换精度就是分辨率的大小。12.24)建立时间)建立时间 转换速率转换速率 D/A转换器中的输入代码有满度值的变化时,其输转换器中的输入代码有满度值的变化时,其输出模拟信号电压(或模拟信号电流)达到满刻度值出模拟信号电压(或模拟信号电流)达到满刻度值1/2LSB(或与满刻度值差百分之多少)时所需要的(或与满刻度值差百分之多少)时所需要的时间。时间。5)12.2二、二、DAC0832及应用及应用 DAC0832(/1/0)是美国国家半导体公司生产的)是美国国家半导体公司生产的8位产品,位产品,可与通常的微处理器直接接口。可与通常的微处理器直接接口。DAC0830系列产品包括系列产品包括DAC0830、DAC0831和和DAC0832,它们可以完全相互代换。是它们可以完全相互代换。是8位分辨率的位分辨率的D/A转换集成芯片,转换集成芯片,它具有价格低廉、接口简单及转换控制容易等特点。这类产它具有价格低廉、接口简单及转换控制容易等特点。这类产品由品由8位输入锁存器、位输入锁存器、8位位DAC寄存器、寄存器、8位位DIA转换电路及转换电路及转换控制电路组成,能和转换控制电路组成,能和CPU数据总线直接相连,属中速转数据总线直接相连,属中速转换器,大约在换器,大约在1s内将一个数字量输入转换成模拟量输出。内将一个数字量输入转换成模拟量输出。12.2特点与主要技术指标:特点与主要技术指标:采用双缓冲、单缓冲或直接数字输入;采用双缓冲、单缓冲或直接数字输入;与与12位位DAC1230系列容易互换,且引脚兼容;系列容易互换,且引脚兼容;可用于电压开关方式,电流建立时间为可用于电压开关方式,电流建立时间为1 s;8位的分辨率,功耗低,只需位的分辨率,功耗低,只需20 mW;采用采用+5+15 V单电源供电;单电源供电;满足满足TTL电平规范的逻辑输入电平规范的逻辑输入(1.4 V逻辑域值逻辑域值);具有具有8、9或或10 位线性度位线性度(全温度范围均保证全温度范围均保证)。内部逻辑结构:内部逻辑结构:12.212.2DAC0830/0831/0832系列芯片的引脚图系列芯片的引脚图12.2 引脚功能:引脚功能:CS片选信号输入端,低电平有效。片选信号输入端,低电平有效。ILE数据锁存允许信号输入端,高电平有效。数据锁存允许信号输入端,高电平有效。WR1输入锁存器写选通信号,低电平有效。它作为第输入锁存器写选通信号,低电平有效。它作为第一级锁存信号将输入数据锁存到输入锁存器中。一级锁存信号将输入数据锁存到输入锁存器中。WR1必须在必须在CS和和ILE均有效时才能起操控作用。均有效时才能起操控作用。WR2DAC寄存器写选通信号,低电平有效。它将锁存寄存器写选通信号,低电平有效。它将锁存在输入锁存器中可用的在输入锁存器中可用的8位数据送到位数据送到DAC寄存器中进行锁存。此寄存器中进行锁存。此时,传送控制信号时,传送控制信号XFER必须有效。必须有效。XFER传送控制信号,低电平有效。当传送控制信号,低电平有效。当XFER为低电平为低电平时,将允许。时,将允许。12.2 D0D78位数据输入端,位数据输入端,D7为最高位。为最高位。IOUT1、IOUT2模拟电流输出端,转换结果以一组差动电模拟电流输出端,转换结果以一组差动电流流(IOUT1,IOUT2)输出。当输出。当DAC寄存器中的数字码全为寄存器中的数字码全为“l”时,时,IOUT1最大;全为最大;全为“0”时,时,IOUT2为零。为零。IOUT1+IOUT2=常数,常数,IOUT1、IOUT2随随DAC寄存器的内容线性变化。寄存器的内容线性变化。RFB反馈电阻引出端,反馈电阻引出端,DAC0830内部已有反馈电阻,内部已有反馈电阻,所以所以 RFB端可以直接接到外部运算放大器的输出端,这样,相端可以直接接到外部运算放大器的输出端,这样,相当于将一个反馈电阻接在运算放大器的输入端和输出端之间。当于将一个反馈电阻接在运算放大器的输入端和输出端之间。12.2 VCC电源电压输入端,范围为电源电压输入端,范围为+5+15 V,以以+15 V时工时工作为最佳。作为最佳。VREF参考电压输入端,此端可接一个正电压,也可接参考电压输入端,此端可接一个正电压,也可接负电压。范围为负电压。范围为10+10 V。外部标准电压通过外部标准电压通过VREF与与T型电型电阻网络相连。此电压越稳定,模拟输出精度就越高。阻网络相连。此电压越稳定,模拟输出精度就越高。AGND模拟地。模拟地。DGND数字地。数字地。12.22DAC0832的工作方式的工作方式1)单缓冲方式)单缓冲方式 控制控制输入寄存器输入寄存器和和DACDAC寄存器寄存器同时接收数据,同时接收数据,或者只用输入寄存器而把或者只用输入寄存器而把DACDAC寄存器接成直通方式。寄存器接成直通方式。2)双缓冲方式)双缓冲方式 3)直通方式)直通方式 数据不通过缓冲存储器,即数据不通过缓冲存储器,即WR1WR1、WR2WR2、XFERXFER、CSCS均接地,均接地,ILEILE接高电平。接高电平。控制数据输入寄存器,再控制同时传送数据到控制数据输入寄存器,再控制同时传送数据到DACDAC寄存器寄存器 。12.24)单极性模拟电压输出单极性模拟电压输出DAC0832DAC0832为电流输出型,要获得模拟电压输出时,需要为电流输出型,要获得模拟电压输出时,需要外接一个运算放大器。如果参考电压为外接一个运算放大器。如果参考电压为+5 V+5 V,则当数,则当数字量字量N N从从00H00H至至FFHFFH变化时,对应的模拟电压变化时,对应的模拟电压VOVO的输出范的输出范围是围是5V5V0V0V。12.25)双极性模拟电压输出双极性模拟电压输出如果要输出双极性电压,则需在输出端再加一级运算放大器如果要输出双极性电压,则需在输出端再加一级运算放大器作为偏移电路。当数字量作为偏移电路。当数字量N N从从00H00H至至FFHFFH变化时,对应的模拟电变化时,对应的模拟电压压VOVO的输出范围是的输出范围是5 5+5 V+5 V。12.2应用举例:应用举例:例例12-1:基本应用:基本应用MOVMOV BXBX,4000H4000HMOVMOV ALAL,BX BX ;数据送;数据送ALAL中中MOVMOV DXDX,PORTA PORTA ;PORTAPORTA为为D/AD/A转换器端口号转换器端口号OUTOUT DXDX,AL AL 12.2例例12-2:产生锯齿波:产生锯齿波 12.2控制程序如下:控制程序如下:;8255A8255A初始化初始化MOVMOVDXDX,0E003H0E003H;8255A8255A的控制端口地址的控制端口地址MOVMOVALAL,80H80H;设置;设置8255A8255A的方式字的方式字OUTOUTDXDX,ALAL;B B口控制口控制DACDAC的转换的转换MOVMOVDXDX,0E001H0E001H;8255A8255A的的B B口地址口地址MOVMOVALAL,10H10H;置;置08300830为直通工作方式为直通工作方式OUTOUTDXDX,ALAL;生成锯齿波;生成锯齿波MOVMOVDXDX,0E000H0E000H;设置;设置DACDAC端口号端口号MOVMOVALAL,0H0H;设置初值;设置初值L1L1:OUTOUTDXDX,ALAL;向;向DACDAC送数据送数据INCINCALAL;输出数据加;输出数据加1 1NOPNOP;延时,影响周期;延时,影响周期JMPJMPL1L112.2例例12-3:产生三角波:产生三角波 在原有硬件电路的基础上,下述程序即可产生三角波。在原有硬件电路的基础上,下述程序即可产生三角波。MOVDX,0E000HMOVAL,0H;输出数据从;输出数据从0开始开始L2:OUTDX,ALINCAL;输出数据加;输出数据加1JNZL2;AL是否加满?未满,继续是否加满?未满,继续MOVAL,0FFH;已满,已满,AL置全置全“1”L3:OUTDX,ALDECAL;输出数据减输出数据减1JNZL3;AL是再减到是再减到“0”?不是,继续?不是,继续JMPL212.3 A/D转换与转换与ADC0809 A/D A/D转换器是实现模拟量转换为数字量的器件,在工业控制转换器是实现模拟量转换为数字量的器件,在工业控制系统和数据采集以及许多其他领域中,系统和数据采集以及许多其他领域中,A/DA/D转换器常常是不可转换器常常是不可缺少的重要部件。缺少的重要部件。A/DA/D转换器的品种繁多,目前使用较广泛的转换器的品种繁多,目前使用较广泛的主要有三种类型:逐次逼近型、主要有三种类型:逐次逼近型、V/FV/F转换型和双积分型。其中,转换型和双积分型。其中,双积分型双积分型A/DA/D转换器电路简单,抗干扰能力强,但转换速度较转换器电路简单,抗干扰能力强,但转换速度较慢;逐次逼近型慢;逐次逼近型A/DA/D转换器易于用集成工艺实现,且具有较高转换器易于用集成工艺实现,且具有较高的分辨率和转换速度。因此,目前市场上的的分辨率和转换速度。因此,目前市场上的A/DA/D转换器采用逐转换器采用逐次逼近型的较多。次逼近型的较多。12.3一、一、A/D转换基本原理转换基本原理 1采样采样2保持保持3量化和编码量化和编码4A/D转换器分类及原理转换器分类及原理逐次逼近法、双积分法及电压频率转换法逐次逼近法、双积分法及电压频率转换法 12.35A/D转换器性能指标转换器性能指标1)分辨率)分辨率 转换器对微小输入量变化的敏感程度,转换器对微小输入量变化的敏感程度,通常用转换器输出数字量的位数来表示。通常用转换器输出数字量的位数来表示。例如,例如,对对8位位A/D转换器,其数字输出量的变转换器,其数字输出量的变化范围为化范围为0255,当输入电压满刻度为,当输入电压满刻度为5V时,时,转换电路对输入模拟电压的分辨能力为转换电路对输入模拟电压的分辨能力为5V/25519.6mV。12.32)精度)精度 与数字输出量所对应的模拟输入量的实际值与理论值与数字输出量所对应的模拟输入量的实际值与理论值之间的差值。之间的差值。3)转换时间)转换时间 4)温度系数和增益系数)温度系数和增益系数 5)对电源电压变化的抑制比)对电源电压变化的抑制比 12.3二、二、ADC0809及应用及应用 12.3 芯片内除含有芯片内除含有8 8位逐次逼近型位逐次逼近型A/DA/D转换器外,还有转换器外,还有8 8通通道多路转换器和道多路转换器和3 3位地址锁存和译码器,以实现对位地址锁存和译码器,以实现对8 8路路输入模拟量输入模拟量IN0IN0IN7IN7的选择。当地址锁存允许信号的选择。当地址锁存允许信号ALEALE有效时,将有效时,将3 3位地址位地址ADDCADDCADDAADDA锁入地址锁存器中,经锁入地址锁存器中,经译码器选择译码器选择8 8路模拟量中的一路通过路模拟量中的一路通过8 8位位A/DA/D转换器转换转换器转换输出。由于输出端具有三态输出锁存缓冲器,因此可输出。由于输出端具有三态输出锁存缓冲器,因此可以直接与以直接与CPUCPU系统总线相连接。系统总线相连接。ADC0809ADC0809可用单可用单5 V5 V电源电源工作,模拟信号输入范围为工作,模拟信号输入范围为0 05 V5 V,输出与,输出与TTLTTL兼容。兼容。12.3ADC0809引脚图引脚图12.3 ALE地址锁存允许信号。当地址锁存允许信号。当ALE为上升沿时,为上升沿时,ADDCADDA地址状态送入地址锁存器。使用时,该信号常和地址状态送入地址锁存器。使用时,该信号常和START信号连在一起,当信号连在一起,当START端为高电平时,同时将通道端为高电平时,同时将通道地址锁存起来。地址锁存起来。START A/D转换启动信号。此信号由转换启动信号。此信号由CPU执行输出指执行输出指令产生。令产生。START为上升沿时,所有内部寄存器清为上升沿时,所有内部寄存器清0;START为为下降沿时,开始进行下降沿时,开始进行A/D转换,在转换,在A/D转换期间,转换期间,START应保应保持低电平。持低电平。12.3 EOC转换结束信号。转换开始后,该信号变为低电平;转换结束信号。转换开始后,该信号变为低电平;经过经过64个时钟周期后转换结束,该信号变为高电平。个时钟周期后转换结束,该信号变为高电平。EOC信号信号可作为对可作为对CPU的中断请求信号或的中断请求信号或DMA传送,也可作为传送,也可作为CPU查询查询的信号。的信号。OE输出允许信号。当该信号为高电平时,打开输出缓输出允许信号。当该信号为高电平时,打开输出缓冲器三态门,转换结果输出到数据总线上;当该信号为低电平时,冲器三态门,转换结果输出到数据总线上;当该信号为低电平时,输出数据线呈高阻态。在中断方式下,该信号为输出数据线呈高阻态。在中断方式下,该信号为CPU发出的中断发出的中断请求响应信号。请求响应信号。EOC和和OE两个信号可以连在一起表示两个信号可以连在一起表示A/D转换结束。转换结束。12.3 CLOCK时钟输入信号。时钟频率范围为时钟输入信号。时钟频率范围为101280 kHz,典型值为典型值为640 kHz,可由可由CPU时钟分频得到。当时钟频率为时钟分频得到。当时钟频率为1280 kHz时,转换速率为时,转换速率为50 s;当时钟频率为当时钟频率为640 kHz时,转换速率为时,转换速率为100 s。VREF(+),VREF()参考电压输入信号。一般地,参考电压输入信号。一般地,VREF(+)与主电源与主电源VCC相连,相连,VREF()与模拟地与模拟地GND相连。相连。12.3ADC0809的工作时序:的工作时序:12.33ADC与微处理器的连接与微处理器的连接 设设8 8位位A/DA/D转换器与转换器与CPUCPU之间采用之间采用查询方式查询方式工作,工作,分别对分别对8 8路模拟信号轮流采样一次,并将采样结果路模拟信号轮流采样一次,并将采样结果存入数据段存入数据段BUFFERBUFFER开始的数据区中。可选用开始的数据区中。可选用ADC0809ADC0809作作A/DA/D转换器,如图转换器,如图11.2611.26所示。由于所示。由于ADC0809ADC0809内部具有三态输出锁存器,因此其内部具有三态输出锁存器,因此其8 8位数位数据输出引脚能同系统的数据总线直接连接。据输出引脚能同系统的数据总线直接连接。ADDCADDCADDAADDA与地址总线的与地址总线的A2A2A0A0相连,用于选通相连,用于选通8 8路模路模拟输入通道中的一路。设拟输入通道中的一路。设8 8路模拟输入通道的路模拟输入通道的I/OI/O端口地址为端口地址为300H300H307H307H。12.3由于由于ADC0809无片选信号,因此需由地址译码器的输出与无片选信号,因此需由地址译码器的输出与IOW经过或非门控制经过或非门控制ADC0809的启动信号的启动信号START和地址锁存信号和地址锁存信号ALE,使得锁存模拟输入通道地址同时启动使得锁存模拟输入通道地址同时启动A/D转换。转换。IOR经或经或非门控制输出使能端非门控制输出使能端OE。因为转换结束时,在因为转换结束时,在EOC引脚输出一引脚输出一个由低变高的转换结束信号,故采用查询方式时,该信号为转个由低变高的转换结束信号,故采用查询方式时,该信号为转换结束状态标志。设状态标志端口地址为换结束状态标志。设状态标志端口地址为308H,此引脚经过三此引脚经过三态门与态门与D0相连,因此,启动转换后,只要不断查询相连,因此,启动转换后,只要不断查询D0位是否为位是否为1,即可知道转换是否结束。,即可知道转换是否结束。12.312.3用用ADC0809实现上述数据采集的程序片段:实现上述数据采集的程序片段:MOVBX,BUFFER;置数据缓冲区首址置数据缓冲区首址MOVCX,08H;设置通道数设置通道数MOVDX,300H;通道通道IN0口地址口地址L1:OUTDX,AL;启动启动A/D转换转换(AL可为任意数可为任意数)PUSHDX;保存通道号保存通道号MOVDX,308H;指向状态口地址指向状态口地址L2:INAL,DX;读;读EOC状态状态TESTAL,01H;转换是否开始转换是否开始JNZL2;若未开始,等待;若未开始,等待12.3L3:INAL,DX;再读再读EOC状态状态TESTAL,0lH;转换是否结束转换是否结束JZL3;若未结束,等待若未结束,等待POPDX;转换结束,恢复通道号转换结束,恢复通道号INAL,DX;读取转换数据读取转换数据MOVBX,AL;转换结果送缓冲区转换结果送缓冲区INCDX;指向下一个输入通道指向下一个输入通道INCBX;指向下一个缓冲单元指向下一个缓冲单元LOOPL1;判断判断8路模拟量是否全部采样完毕路模拟量是否全部采样完毕12.3 若采用中断方式读取转换后的数字量,则可将若采用中断方式读取转换后的数字量,则可将ADC0809的的EOC引脚接至中断控制器引脚接至中断控制器8259的的IR0,当,当ADC0809转换结束时,转换结束时,EOC为高电平,向为高电平,向CPU发出中断请求。编程时,首先要使发出中断请求。编程时,首先要使CPU打开中断,同时将读数的程序段安排在中断服务程序中。打开中断,同时将读数的程序段安排在中断服务程序中。习习 题题 十十 二二1.简述键盘的编解码原理。简述键盘的编解码原理。2.简述简述LED显示原理。显示原理。3.A/D和和D/A转换器在微机系统中起到什么作用。转换器在微机系统中起到什么作用。4.A/D和和D/A转换器的主要性能指标有哪些,其选用原则是转换器的主要性能指标有哪些,其选用原则是什么。什么。5.利用利用DAC0832编程产生方波。编程产生方波。6.利用利用ADC0809采用中断法采集采用中断法采集50个数据。个数据。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!