




已阅读5页,还剩119页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,8279是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64BRAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。1.8279的引脚(1)数据线DB0DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。(2)地址线/CS=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。,.,.,(3)控制线CLK:8279的时钟输入线。IRQ:中断请求输出线,高电平有效。/RD、/WR:读、写输入控制线。SL0-SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。RL0-RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。SHIFT:来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式中,该引脚无用。CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0-RL7的数据存入FIFORAM中。OUTA0-OUTA3:通常作为显示信号的高4位输出线。OUTB0-OUTB3:通常作为显示信号的低4位输出线。/BD:显示熄灭输出线,低电平有效。当/BD=0时将显示全熄灭。,.,2.8279的内部结构图及各部分功能,.,I/O控制及数据缓冲器,I/O控制操作,控制与定时寄存器及定时控制,控制与定时寄存器:寄存键盘及显示器工作方式,完成控制功能定时控制:包括基本计数器,首级计数器是可编程N计数器,N由编程指定(231),对CLK分频,获得内部所需100kHz工作时钟;再分频,为键盘及显示器扫描提供扫描时钟,.,扫描计数器,4位的计数器,有译码、编码两种方式,由编程设定译码方式:最低两位经译码,由SL03输出,作为键盘及显示器的扫描信号.(任何时刻,SL03只有一根线是低电平,实现4选1)编码方式:按二进制计数的计数器值由SL03直接输出,再经外部译码,才能作为扫描信号.(实现16选1),恢复缓冲器、键盘去抖动及控制逻辑,回复缓冲器:缓冲并锁存回复信号RL07的状态去抖动电路:实现对键盘输入的去抖动控制逻辑:按命令要求控制去抖动电路,并处理回复信号RL07,.,FIFO/传感器RAM及其状态寄存器,FIFO/传感器RAM:88位(a)键盘输入方式或选通输入方式作先入先出存储器(FIFORAM);(b)传感器输入方式被称为传感器RAM,存储传感器阵列中每个传感器的状态FIFORAM的状态寄存器:(a)键盘输入方式或选通输入方式,寄存FIFORAM的工作状态,FIFORAM不空时,会使IRQ变高;(b)传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高,显示RAM及显示地址寄存器,显示RAM:168位,存储字符的字形码,显示时,从OUTA30和OUTB30输出它们既可单独送数,也可组成一个8位(A组为高4位,B组为低4位)的字。显示地址寄存器:显示RAM的内部地址,可由命令直接设定,或设置为每次读/写后自动加1。,.,3.8279的工作方式,8279有三种工作方式键盘输入(键扫描)、传感器扫描、选通输入键盘输入方式:有键按下时,回复缓冲器缓冲并锁存行列式键盘的列输入线。在逐行列扫描时,回复线用来搜寻每一行列中闭合的键,当某一键闭合时,去抖电路被置位,延时等待10ms后,再检查该键是否仍处在闭合状态,如不是闭合,则当做干扰信号不予理睬;如是闭合,则将该键的列扫描码、行回复码、引脚CNTL和引脚SHIFT的状态(两个独立附加的开关)一起形成键盘数据被送入8279内部的FIFO(先进先出)存储器。键盘数据格式如下:,.,传感器扫描方式:FIFORAM中8个单元用于寄存传感器的现时状态,又称传感器RAM,地址编号与扫描线顺序一致,传感器阵列(最多为88位)中某一位状态发生变化时,产生IRQ选通输入方式:CNTL/STB作为选通信号,上升沿锁存RL07到FIFORAM。这是只选用显示器没有键盘的工作方式。,.,4.8279的命令字(8个,D5D6D7为特征位),设置工作方式,00:8字符,左入口01:16字符,左入口10:8字符,右入口11:16字符,右入口,00:键盘,双键锁定01:键盘,N键轮回10:传感器扫描11:选通输入,0:编码扫描1:译码扫描,双键互锁:先按下的键被识别,若此时该键不释放再按下另外一个键,则另外的键不会被识别。若多个键同时按下,则等待只剩下一个键按下时,再将其值送入RAM。N键轮换:多个键可以同时按下,按扫描顺序,分别将其值送入RAM,同时按下的键都会被识别。,.,左端入口方式:即显示位置从显示器最左端1位开始,以后显示的字符逐个向右顺序排列;右端入口方式:即显示位置从显示器最右端1位开始,已显示的字符逐个向左移位,也称为计算器显示方式。显示RAM地址单元:01234567单元内存储要显示的数8279-1,.,.,右端输入方式时,由于输入了1个键,将0号地址单元内容5送往0-1=7(mod8)即第7位数码管;将1号地址单元内容2送往1-1=0(mod8)即第0位数码管;将2号地址单元内容7送往2-1=1(mod8)即第1位数码管;将3号地址单元内容9送往3-1=2(mod8)即第2位数码管;将4号地址单元内容-送往4-1=3(mod8)即第3位数码管;将5号地址单元内容-送往5-1=4(mod8)即第4位数码管;将6号地址单元内容-送往6-1=5(mod8)即第5位数码管;将7号地址单元内容1送往7-1=6(mod8)即第6位数码管;这样看上去就是先将数据写入0号单元然后循环左移显示,刚刚输入的数就显示在了最右端的数码管,即显示为”279-15”,.,同理,若再输入第2个键6,并将6保存至1号地址单元。由于输入了2个键:将0号地址单元内容5送往0-2=6(mod8)即第6位数码管;将1号地址单元内容6送往1-2=7(mod8)即第7位数码管;将2号地址单元内容7送往2-2=0(mod8)即第0位数码管;将3号地址单元内容9送往3-2=1(mod8)即第1位数码管;将4号地址单元内容-送往4-2=2(mod8)即第2位数码管;将5号地址单元内容-送往5-2=3(mod8)即第3位数码管;将6号地址单元内容-送往6-2=4(mod8)即第4位数码管;将7号地址单元内容1送往7-2=5(mod8)即第5位数码管;此时显示的内容为”79-156”,.,.,右端输入方式时,由于输入了1个键,将0号地址单元内容8送往0-1=7(mod8)即第7位数码管;将1号地址单元内容2送往1-1=0(mod8)即第0位数码管;将2号地址单元内容7送往2-1=1(mod8)即第1位数码管;将3号地址单元内容9送往3-1=2(mod8)即第2位数码管;将4号地址单元内容-送往4-1=3(mod8)即第3位数码管;将5号地址单元内容-送往5-1=4(mod8)即第4位数码管;将6号地址单元内容3送往6-1=5(mod8)即第5位数码管;将7号地址单元内容1送往7-1=6(mod8)即第6位数码管;这样看上去就是先将数据3写入6号单元然后循环左移显示,即在8位数码管上显示为”279-318”,.,设置分频系数,分频目的:得到8279内部扫描需要的100KHz的基本工作时钟,设置读FIFO/传感器RAM的地址,键盘方式无效,写0,0:读出后地址不变1:每次读出地址自动加1,.,设置读显示RAM的地址,0:读出后地址不变1:每次读出地址自动加1,设置写显示RAM的地址,0:写入后地址不变1:每次写入地址自动加1,.,禁写显示RAM/消隐命令,IWA:禁止A组显示RAM写。D3=1,A组禁写;D3=0,允许A组写。OUTA3OUTA0与OUTB3OUTB0单独使用时,若只想改变B组的输出值而A组的输出不受影响,就可以让D3=1即禁止向A组显示RAM写数据,这样在向显示RAM的一个单元写入8位字节数据时就只写入字节的低4位而字节的高4位不写入RAM单元。IWB:禁止B组显示RAM写。D2=1,B组禁写;D2=0,允许B组写。BLA:A组显示熄灭控制。D1=1,熄灭;D1=0,恢复显示。BLB:B组显示熄灭控制。D0=1,熄灭;D0=0,恢复显示。,.,0:全部清010:置成20H11:置成全1,清除命令,清除FIFORAM及显示RAM,置空FIFORAM并复位IRQ,.,.,结束中断/设置错误方式,D4有两种不同的作用:第一:在传感器方式,用此命令结束传感器RAM的中断请求。因为在传感器工作方式时,每当传感器状态发生变化,扫描电路自动将传感器状态写入传感器RAM,同时发出中断申请,即将IRQ置高电平,并禁止再写入传感器RAM。中断响应后,从传感器RAM读走数据进行中断处理,但中断标志IRQ的撤除分两种情况:若读RAM地址自动加1标志位为“0”,中断响应后IRQ自动变低,撤消中断申请;若读RAM地址自动加1标志位为“1”,中断响应后IRQ不能自动变低,必须通过结束中断命令来撤消中断请求。,.,第二:在设定为键盘扫描N键轮回方式时作为特定错误方式设置命令。在键盘扫描N键轮回工作方式,又给8279写入结束中断/错误方式命令,则8279将以一种特定的错误方式工作,即在8279消抖周期内,如果发现多个按键同时按下,则将FIFO状态字中错误特征位置“1”,并发出中断请求阻止写入FIFORAM。,.,5.状态字(指示FIFORAM中字符数及是否有错误),DU:显示无效标志,由命令清除显示RAM时置1,清除完RAM后该位清0。S/E:键盘输入方式下作特殊错误标志,=1:多键同时按下O:溢出标志,向已满的FIFORAM再写入数据时则置1U:不足标志,从已空的FIFORAM读时置1N2N1N0:FIFORAM中字符的个数,.,.,.,.,.,74LS47:七段译码器/驱动器就是用来驱动数码管的,.,P2.7=1;A0=1(命令口)08H=0000100034H=0011010090H=10010000P2.7=1;A0=0(RAM口),.,实验箱上的8279键盘/显示原理图,0,1,2,3,4,.,.,9.2前向通道中的转换器及接口技术,模数()转换电路的种类有:计数比较型、逐次逼近型、双积分型等等。逐次逼近型转换器,在精度、速度和价格上都适中,是最常用的转换器件。双积分转换器,具有精度高、抗干扰性好、价格低廉等优点,但转换速度低。串行输出的A/D芯片由于节省单片机的I/O口线,越来越多地被采用。如具有SPI三线接口的TLC1549(价格:20.00元)、TLC1543、TLC2543、MAX187等,具有2线I2C接口的MAX127、PCF8591(4路8位A/D,还含1路8位D/A)等。,.,9.2.1单通道串行输出A/D芯片TLC1549及接口,1TLC1549串行A/D转换器芯片1)主要性能逐次比较型10位A/D转换器。片内自动产生转换时钟脉冲,转换时间21s;最大总不可调转换误差为1LSB;单电源供电(+5V),最大工作电流仅为2.5mA;转换结果以串行方式输出;工作温度为-55+125。,.,2)引脚及功能TLC1549M有DIP和FK(超小型封装)2种封装形式。其中,DIP封装的引脚排列如图918所示。引脚功能见表92。,图918TLC1549的引脚图,.,表92TLC1549M引脚功能引脚,.,3)TLC1549的工作方式及时序TLC1549有6种工作方式,如表93所列。其中方式1和方式3属同一类型,方式2和方式4属同一类型。一般来说,时钟频率高于280kHz时,可认为是快速工作方式;低于280kHz时,可认为是慢速工作方式。因此,如果不考虑I/OCLOCK周期大小,方式5与方式3相同,方式6与方式4相同。,.,表93TLC1549的工作方式方式,.,工作方式1工作时序图如图919所示。图中从CS下跳到DATA输出数据要有1.3s的延时;连续进行A/D转换时,在上次转换结果输出的过程中,同时完成本次转换的采样,这样大大提高了A/D转换的速率。如果I/OCLOCK的时钟频率为2.1MHz,则完成一次A/D转换的时间大约为26s。如果用连续模拟信号进行采样转换,显然其转换速率是很高的。,图919方式1工作时序,.,2TLC1549与89C51接口电路与程序TLC1549与89C51的SPI接口如图9-20所示。,图9-20TLC1549M与89C51的接口电路,.,89C51读取TLC1549中10位数据程序如下:ORG0050HR1549:CLRP3.0;片选有效,选中TLC1549MOVR0,#2;要读取高两位数据LCALLRDATA;调用读数子程序MOVR1,A;高两位数据送到R1中MOVR0,#8;要读取低8位数据LCALLRDATA;调用读数子程序,读取数据MOVR2,A;低8位数据送入R2中SETBP3.0;片选无效CLRP3.1;时钟低电平RET;程序结束;读数子程序RDATA:CLRP3.1;时钟低电平MOVC,P3.2;数据送进位位CYRLCA;数据送累加器ASETBP3.1;时钟变高电平DJNZR0,RDATA;读数结束了吗RET;子程序结束,.,9.2.2多通道串行输出A/D芯片TLC2543及接口,TLC2543的特性如下:12位A/D转换器(可8位、12位和16位输出);在工作温度范围内转换时间为10s;11通道输入;3种内建的自检模式;片内采样/保持电路;最大1/4096的线性误差;内置系统时钟;转换结束标志位;单/双极性输出;输入/输出的顺序可编程(高位或低位在前);可支持软件关机;输出数据长度可编程。TLC1543为11个输入端的10位A/D芯片,价格比TLC2543低。,.,1TLC2543的片内结构及引脚功能,TLC2543引脚如图9-21所示,片内结构如图9-22所示。TLC2543片内由通道选择器、数据(地址和命令字)输入寄存器、采样/保持电路、12位的模/数转换器、输出寄存器、并行到串行转换器以及控制逻辑电路7个部分组成。通道选择器根据输入地址寄存器中存放的模拟输入通道地址,选择输入通道,并将输入通道中的信号送到采样/保持电路中,然后在12位模/数转换器中将采样的模拟量进行量化编码,转换成数字量,存放到输出寄存器中。这些数据经过并行到串行转换器转换成串行数据,经TLC2543的DOUT输出到微处理器中。TLC2543的引脚意义如表9-4所列。,图9-21TLC2543引脚排列,.,图9-22TLC2543片内结构框图,.,表9-4TLC2543各引脚定义(1),.,表9-4TLC2543各引脚定义(2),.,2.TLC2543的接口时序,TLC2543的时序有两种:使用片选信号CS和不使用片选信号CS。这两种时序分别如图9-23和图9-24所示。,图9-23使用片选信号CS高位在前的时序,.,图9-24不使用片选信号CS高位在前的时序,.,3TLC2543的命令字,TLC2543的命令字如下:,输入到输入寄存器中的8位编程数据选择器件输入通道和输出数据的长度及格式。其选择格式如表9-5所列。,.,表9-5输入寄存器命令字格式,.,4TLC2543与89C51的SPI接口及程序,TLC2543串行A/D转换器与89C51的SPI接口电路如图9-25所示。SPI(SerialPerpheralInterface)是一种串行外设接口标准,串行通信的双方用4根线进行通信。这4根连线分别是:片选信号、I/O时钟、串行输入和串行输出。这种接口的特点是快速、高效,并且操作起来比I2C要简单一些,接线也比较简单,TLC2543提供SPI接口。,图9-25TLC2543和89C51的接口电路,.,对不带SPI或相同接口能力的89C51,须用软件合成SPI操作来和TLC2543接口。TLC2543的I/OCLOCK、DIN和CS端由单片机的P1.0、P1.1和P1.3提供。TLC2543转换结果的输出(DIN)数据由P1.2接收。89C51将用户的命令字通过P1.1输入到TLC2543的输入寄存器中,等待20s开始读数据,同时写入下一次的命令字。,.,1)TLC2543与89C51的8位数据传送程序,TLC2543:MOVR4,#04H;置控制字,AIN0,8位数据高位在前MOVA,R4CLRP1.3;片选CS有效,选中TLC2543MSB:MOVR5,#08H;传送8位LOOP:MOVP1,#04H;P12为输入位MOVC,P1.2;将TLC2543A/D转换的8位数据串行读到C中一位RLCA;带进位位循环左移MOVP1.1,C;将控制字(在ACC中)的一位经DIN送入TLC2543SETBP1.0;产生一个时钟NOPCLRP1.0DJNZR5,LOOPMOVR2,A;A/D转换的数据存于R2中RET执行上述子程序的过程如图9-26所示,.,图9-26TLC2543与89C51数据交换示意图,.,2)TLC2543与89C51的12位数据传送程序,ORG0100HMOVP1,#04H;P12为输入位MOVR6,#0AH;转换10次MOVR0,#2FH;置数据缓冲区指针CLRP1.0;置I/O时钟为低SETBP1.3;置CS为高ACALLTLC2543;调转换子程序SJMPTLC2543:MOVA,#00H;设置通道选择和工作模式(IN0,12位)CLRP13;置CS为低MOVR5,#0CH;置输出位计数初值LOOP:MOVP1,#04H;P12为输入位MOVC,P1.2;读入转换数据一位RLCA;将进位位移给A,即将转换数据的一位读入,同时将控制字的一位输入C,.,MOVP1.1,C;送出一位控制位入2543SETBP1.0;置I/O时钟为高NOPCLRP1.0;置I/O时钟为低CJNER5,#04,LOP1;剩4位了吗?MOVR0,A;前8位存入RAMINCR0CLRALOP1:DJNZR5,LOOP;未转完继续读剩余4位ANLA,#0FHMOVR0,A;转换完的存入单元RET,.,3)TLC2543与89C51的16位数据传送程序,ORG100HSTART:MOVSP,#50H;初始化堆栈指针MOVP1,#04H;初始化P1口CLRP1.0;置I/OCLOCK为低SETBP1.3;置CS为高MOVA,#0FFHACALLTLC2543ACALLSTORELJMPSTARJTLC2543:MOVR4,#0CH;读输入数据命令字到R4,AIN0,16位,高位在前MOVA,R4;读输入数据到ADW0:CLRP1.3;置CS为低JBACC.1,LSB;若输入数据D1为1,首先进行低字节数据传送MSB:MOVR5,#08;以下传送高字节数据LOOP1:MOVC,P12;读转换数据到CRLCA;转换数据移到A的最低位,输入数据移入C,.,MOVP1.1,C;写输入数据(命令字)SETBP1.0;置I/OCLOCK为高NOPCLRP1.0;置I/OCLOCK为低DJNZR5,LOOP1;判8个数据送完否,未完跳回MOVR2,A;转换结果的高字节放入R2MOVA,R4;读输入数据到AJBACC.1,RETURN;若输入数据D1为1,送数结束LSB:MOVR5,#08;以下传送低字节数据LOOP2:MOVC,P1.2RLCAMOVP1.1,CSETBP1.0NOPCLRP1.0DJNZR5,LOOP2MOVR3,A;转换结果低字节放入R3MOVA,R4JBACC.1,MSB;若输入数据D1为1,进行高字节数据传送RETURN:RET,.,STORE:MOVA,R4;读输入数据到AANLA,#0F0H;只保留地址位SWAPA;以下产生存储地址MOVB,#02MULABADDA,#30HMOVR1,AMOVA,R2MOVR1,A;把高字节放入相应的偶数地址RAM:;各通道地址依次为30H、32HINCR1MOVA,R3MOVR1,A;把低字节放入相应的奇数地址RAM:;各通道地址依次为31H、33HRETEND,.,9.2.3逐次逼近型并行输出转换器及接口,ADC0809A/D转换器芯片图9-27所示为ADC0809的引脚图及内部逻辑结构图。它由8路模拟开关、8位A转换器、三态输出锁存器以及地址锁存译码器等组成。,图9-27ADC0809结构,.,引脚功能说明如下:IN0IN7:8个输入通道的模拟输入端。D0D7:8位数字量输出端。START:启动信号,加上正脉冲后,A/D转换开始进行。ALE:地址锁存信号。由低至高电平时,把三位地址信号送入通道号地址锁存器,并经译码器得到地址输出,以选择相应的模拟输入通道。EOC:转换结束信号,是芯片的输出信号。转换开始后,EOC信号变低;转换结束时,EOC返回高电平。这个信号可以作为转换器的状态信号来查询,也可以直接用作中断请求信号。OE:输出允许控制端(开数字量输出三态门)。CLK:时钟信号。最高允许值为640kHz。VREF+和VREF-:A/D转换器的参考电压。VCC:电源电压。由于是CMOS芯片,允许的电压范围较宽,可以是+5+15V。8位模拟开关地址输入通道的关系见表9-6。,.,表9-68位模拟开关功能表,ADC0809的时序图见图9-28。,图9-28ADC0809的时序图,.,2.ADC0809与89C51接口,ADC0809与89C51连接可采用查询方式,也可采用中断方式。图9-29为中断方式连接电路图。由于ADC0809片内有三态输出锁存器,因此可直接与89C51接口。,图9-29ADC0809与89C51的连接,.,这里将ADC0809作为一个外部扩展并行I/O口,采用线选法寻址由P2.7和WR联合控制启动转换信号端(START)和ALE端,低三位地址线加到ADC0809和ADDA,ADDB,ADDC端,所以,选中ADC0809的IN0通道的地址为7FF8H启动ADC0809的工作过程是:先送通道号地址到ADDA,ADDB,ADDC,由ALE信号锁存通道号地址后让START有效,启动A/D转换,即执行一条“MOVXDPTR,A”指令产生WR信号,使ALE,START有效,锁存通道号并启动A/D转换A/D转换完毕,EOC端发出一正脉冲,申请中断在中断服务程序中,“MOVA,DPTR”指令产生RD信号,使OE端有效,打开输出锁存器三态门,8位数据便读入到CPU中,.,.,ADC0809的时钟取自89C531的ALE经二分频(也可用74LS74双D触发器之一)后的信号(接CLK端)当A/D转换完毕,89C531读取转换后的数字量时,需使用“MOVXA,DPTR”指令在图9-29所示的接口电路中,ADC0809与片外RAM统一地址,.,3.8路巡回检测系统,【例9-3】某粮库或某冷冻厂需对8点(8个冷冻室或8个粮仓)进行温度巡回检测。要求设计一个单片机巡回检测系统,使其能对各冷冻室或各粮仓的温度巡回检测并加以处理。设被测温度范围为-30+50,温度检测精度要求不大于1。将读数依次存放在片外数据存储器A0HA7H单元。其主程序和中断服务程序如下:,.,主程序:MAIN:MOVR0,#0A0H;数据暂存区首址MOVR2,#08H;8路计数初值SETBIT1;脉冲触发方式SETBEA;开中断SETBEX1MOVDPTR,#7FF8H;指向0809首地址,7FF8H-P2.7=0,P0.2-0=000MOVXDPTR,A;启动A/D转换HERE:SJMPHERE;等待中断中断服务程序:MOVXA,DPTR;读数MOVXR0,A;存数INCDPTR;更新通道INCR0;更新暂存单元DJNZR2,DONERETIDONE:MOVXDPTR,ARETI,.,9.2.43位双积分A/D转换器及接口技术,适用于单片机接口的有3位双积分A/D转换器MC14433(精度相当于11位二进制数)4位双积分A/D转换器ICL7135(精度相当于14位二进制数),.,双积分A/D转换器:先对于未知输入UIN进行固定时间积分,然后转为对标准电压进行反向积分,直至积分返回起始值,则对标准电压的积分时间T正比与模拟输入电压UIN.输入电压大,则反向积分时间长,然后用标准时钟脉冲来测量时间T,即可得到相应的模拟电压的数字量.由于双积分方法二次积分时间比较长,所以A/D转换器速度较慢,但精度可以做得比较高;对周期变化的干扰信号积分为零,抗干扰性能也比较好,.,MC14433芯片介绍MC14433是CMOS工艺的3位双积分A/D集成电路转换器芯片,广泛用于低速的数据采集系统其主要特征参数如下:转换精度具有1/1999的分辨率或读数的0.05%1个字符(相当于11位二进制数)电压量程分1.999V和199.9mV两档转换速度为3次/秒10次/秒,相应的时钟频率变化范围为50kHz150kHz,.,输入阻抗大于100M基准电压取2V或200mV(分别对应量程为1.999V或199.9mV)具有过量程和欠量程输出标志片内具有自动极性转换和自动调零功能转换结束输出经过多路调制的BCD码工作电压范围4.5V8V或9V16V当电源为5V时,典型功耗为8mWMC14433为24脚双列直插式封装,其管脚功能如图9-30所示,.,图9-30MC14433的管脚,.,引脚功能介绍如下:VAG(1脚)模拟地VREF(2脚)基准电压输入端VX(3脚)被测电压输入端R1,R1/C1,C1(46脚)外接积分阻容元件,4脚和6脚为输入线,5脚为积分波形输出端若时钟为66kHz,R1为470k(2V)或27k(200mV)时,一次转换的时间约为250msC01,C02(7,8脚)外接失调补偿电容通常取0.1FDU(9脚)定时输出控制端若输入一个正脉冲,则使转换结果送至结果寄存器EOC(14)一次转换结束标志输出每一次A/D转换结束时便输出一个正脉冲,其宽度为时钟周期的1/2若把9脚和14脚相连接,则每次转换结束都送到输出锁存器在实际电路中常把它们相连,.,.,图9-31MC14433选通脉冲时序,.,DS1选通时Q3Q0表示的输出结果,.,当DS1=1时,Q3Q2Q1Q0输出过量程、欠量程、千位和极性标志的编码如下:,Q3Q2Q1Q0,0111100010,过量程:计算值大于1.999V欠量程:计数值小于0.179V千位为0千位为1正负,Q3表示1/2位Q3=0,千位为1,Q3=1,千位为0Q0表示量程Q0=1,VX1.999V,过量程;VX179mV,欠量程;.Q0=0.179mVVX1.999V.Q2表示极性Q2=1,为正,VX;Q2=0,为负,VX0,.,2.MC14433与89C51接口,MC14433与89C51的接口电路如图932所示。该电路采用中断方式管理MC14433的操作。由于引脚EOC与DU连接在一起,所以,MC14433能自动连续转换,每次转换结束便在EOC脚输出正脉冲,经反相后作为89C51的外部中断请求信号INT1。,图9325G14433与89C51单片机直接连接的硬件接口,.,数据存放格式,D7D4D3D0,D7D4D3D0,2EH,2FH,位地址7774,.,程序清单如下:初始化程序:INT1:SETBIT1;选择INT1为边沿触发MOVIE,#10000100B;CPU开中断,外部INT1中断允许外部中断INT1服务程序:PINT1:MOVA,P1JNBACC.4,PINT1;等待DS1选通信号JBACC.0,Per;查是否过/欠量程JBACC.2,PL1;查结果是否为正/负,1为正,0为负SETB77H;负数,符号位置1,77H为符号位位地址AJMPPL2PL1:CLR77H;正数,符号位置0PL2:JBACC.3,PL3;查千位数,ACC.3=0时千位为1SETB74H;千位数置1AJMPPL4,.,PL3:CLR74H;千位数置0PL4:MOVA,P1JNBACC.5,PL4;等待百位BCD码选通信号DS2MOVR0,#2EHXCHDA,R0;百位数送入2EH低4位PL5:MOVA,P1JNBACC.6,PL5;等待百位BCD码选通信号DS3SWAPA;高低4位交换INCRO;指向2FH单元MOVR0,A;十位数送入2FH高4位PL6:MOVA,P1JNBACC.7,PL6;等待个位BCD码选通信号DS4XCHDA,R0RETI;中断返回PEr:SETB10H;置过/欠量程标志RETI;中断返回,.,9.2.3单通道串行输出A/D芯片MAX187及接口,1MAX187串行A/D转换器芯片1)主要性能12位逐次逼近式12位ADC1/2LSB完整非线性(IntegralNonlinearity),接受05V的模拟输入内部采样/保持电路,75KHz采样速率,转换速度为75Ksps单5V电源工作低功耗:关断模式下2uA5mA操作电流内部4.096V基准(MAX187)3线串行接口,SPI,QSPI和Microwire兼容小管脚8脚DIP和16脚SO封装。,.,.,.,AD:NOP;start1setbcs1clrsclk1nopnopsetbsclk1nopnopclrsclk1MOVhighdata,#00MOVlowdata,#00;将转换结果单元清除CLRcs1nopnopjnbdout,$MOVR2,#04h;置循环初值8LPh:setbsclk1nopnopclrsclk1nop,.,nopMOVC,dout;将数据取到CMOVA,highdataRLCAMOVhighdata,Adjnzr2,lphmovr2,#08hlpl:setbsclk1;发SCLK脉冲nopnopclrsclk1nopnopMOVC,dout;将数据取到CMOVA,lowdataRLCAMOVlowdata,A;将取到的数据位逐位移入结果保存单元DJNZR2,LPlSETBcs1;结束acalltrsmovr2,#200,.,loop:acalldispdjnzr2,loop;acalldisp;sjmpstart1RET;将TEN、ONE中的12位数据(MAX=4097)转换后送入3eh、3dh、3ch、3bh中。TRS:MOVA,highdataANLA,#0FHMOVR6,AMOVR7,lowdataLCALLHB2MOVA,R5ANLA,#0FHMOV3eH,A;MOVA,R5SWAPAANLA,#0FHMOV3dH,A;,.,MOVA,R4ANLA,#0FHMOV3cH,A;MOVA,R4SWAPAANLA,#0FHMOV3bH,AMOVA,#2EHMOV3AH,AMOV39H,ARET,.,9.3系统后向通道配置及接口技术,后向通道是计算机实现控制运算处理后,对被控对象的输出通道接口。系统的后向通道是一个输出通道,其特点是弱电控制强电,即小信号输出实现大功率控制。常见的被控对象有电机、电磁开关等。单片机实现控制是以数字信号或模拟信号的形式通过I/O口送给被控对象的。其中,数字信号形态的开关量、二进制数字量和频率量可直接用于开关量、数字量系统及频率调制系统的控制;但对于一些模拟量控制系统,则应通过D/A转换器转换成模拟量控制信号后,才能实现控制。,.,9.3.1后向通道中的功率开关器件及接口,1.继电器及接口1)单片机与继电器的接口一个典型的继电器与单片机的接口电路如图9-33所示。,图9-33继电器接口,.,2)单片机与固态继电器接口,固态继电器简称SSR(SolidStateRelay),是一种四端器件:两端输入,两端输出,它们之间用光耦合器隔离。它是一种新型的无触点电子继电器,其输入端仅要求输入很小的控制电流,与TTL、HTL、CMOS等集成电路具有较好的兼容性,而其输出则用双向晶闸管(可控硅)来接通和断开负载电源。图9-34所示为固态继电器内部结构。图9-35为89C51单片机I/O口线与固态继电器SSR接口电路。,.,图9-34固态继电器内部结构,图9-35I/O口线与SSR接口电路,.,2.光电耦合器(隔离器)件及驱动接口,后向通道往往所处环境恶劣,控制对象多为大功率伺服驱动机构,电磁干扰较为严重。为防止干扰窜入和保证系统的安全,常常采用光电耦合器,用以实现信号的传输,同时又可将系统与现场隔离开。晶体管输出型光电耦合器的受光器是光电晶体管,如图9-36所示。,图9-36光电耦合器4N25的接口电路,图9-36是使用4N25的光电耦合器接口电路图。,.,图9-36所示的接口电路中,使用同相驱动器OC门7407作为光电耦合器4N25输入端的驱动。光电耦合器输入端的电流一般为1015mA,发光二极管的压降为1.21.5V。限流电阻由下式计算:式中:VCC为电源电压;VF为输入端发光二极管的压降,取1.5V;VCS为驱动器7407的压降,取0.5V。图9-36所示电路要求IF为15mA,则限流电阻值计算如下:R=200,.,光电耦合器也常用于较远距离的信号隔离传送。一方面,光电耦合器可以起到隔离两个系统地线的作用,使两个系统的电源相互独立,消除地电位不同所产生的影响;另一方面,光电耦合器的发光二极管是电流驱动器件,可以形成电流环路的传送形式。由于电流环电路是低阻抗电路,它对噪音的敏感度低,因此,提高了通信系统的抗干扰能力。其常用于有噪音干扰环境下的传输,最大传输距离为900m。图9-37是用光电耦合器组成的电流环发送和接收电路。,图9-37电流环电路,.,3.光电耦合驱动晶闸管(可控硅)功率开关及接口,图9-38是4N40和MOC3041的接口驱动电路。4N40是常用的单向晶闸管输出型光电耦合器,也称固态继电器。MOC3041是常用的双向晶闸管输出的光电耦合器(固态继电器)。,图9-38晶闸管输出型光电耦合器驱动接口,双向晶闸管:一种在主特性的第一和第三象限内具有基本相同转换性能的三端晶闸管。它实质上是两个逆阻晶闸管的反并联。双向晶闸管的特点是正、反向输出特性近乎理想的匹配,并且仅利用一个门极即可实现正、反向开通的控制。在交流电路中,用双向晶闸管代替一组反并联的逆阻晶闸管,简化了线路,减小了装置的体积和重量,节省了投资。因而它是交流功率控制电路中较理想的器件。,.,9.3.2串行输入D/A芯片TLC5615接口技术,TLC5615是具有3线串行接口的数/模转换器。其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,上电时把DAC寄存器复位至全0。TLC5615的性能价格比较高,市场售价比较低(约28元)。,.,1.TLC5615的特点,10位CMOS电压输出;5V单电源工作;与微处理器3线串行接口(SPI);最大输出电压是基准电压的2倍;输出电压具有和基准电压相同的极性;建立时间12.5s;内部上电复位;低功耗,最高为1.75mW;引脚与MAX515兼容。,.,2.功能方框图,TLC5615的功能方框图如图939所示。,图939TLC5615功能方框图,.,3.引脚排列及功能,TLC5615的引脚排列及功能说明分别见图940及表98。,图940TLC5615引脚图,表98引脚功能,菊花链(DaisyChain)一种沿总线传输信号的方法,其中设备串联,而信号则从一台设备传向下一台设备。菊花链连接方法可根据设备在总线上的电气地位分配其优先级。,.,4.TLC5615的时序分析,TLC5615的时序图如图941所示。,图941时序波形图,.,5.TLC5615的输入/输出关系,图942的D/A输入/输出关系如表99所列。,图942TLC5615与89C51接口电路,表99D/A转换关系,.,因为TCL5615芯片内的输入锁存器为12位宽,所以要在10位数字的低位后面再添上两位数字。为不关心状态。串行传送的方向是先送出高位MSB,后送出低位LSB。,如果有级联电路,则应使用16位的传送格式,即在最高位MSB的前面再加上4个虚位,被转换的10位数字在中间。,MSB,LSB,.,6.TLC5615与89C51的串行接口电路,图942为TLC5615和89C51单片机的接口电路。将89C51要输出的12位数据存在R0和R1寄存器中,其D/A转换程序如下:CLRP3.0;片选有效MOVR2,#4;将要送入的前4位数据位数MOVA,R0;前4位数据送累加器低4位SWAPA;A中高4位和低4位互换(4位数在高位)LCALLWRdata;由DIN输入前4位数据MOVR2,#8;将要送入的后8位数据位数MOVA,R1;8位数据送入累加器ALCALLWRdata;由DIN输入后8位数据CLRP3.1;时钟低电平SETBP3.0;片选高电平,输入的12位数据有效RET;结束送数RET,.,子程序如下:WRdata:NOP;空操作LOOP:CLRP3.1;时钟低电平RLCA;数据送入进位位CYMOVP3.2,C;数据输入TLC5615有效SETBP3.1;时钟高电平DJNZR2,LOOP;循环送数RET,.,9.3.3并行输入/芯片及接口技术,1.并行输入/转换芯片DAC0832DAC0832引脚图和逻辑框图如图943所示。DAC0832主要由两个8位寄存器和一个8位/转换器组成。,图943DAC0832结构,.,图中,LE1和LE2是寄存命令。当LE11时,输入寄存器的输出随输入变化;当LE10时,数据锁存在寄存器中,不再随数据总线上的数据变化而变化。ILE为高电平,且CS与WR1同时为低时,使得LE11;当WR1变高时,8位输入寄存器便将输入数据锁存。XFER与WR2同时为低,使得LE21,8位DAC寄存器的输出随寄存器的输入变化。WR2上升沿将输入寄存器的信息锁存在DAC寄存器中。图中的RFB是片内电阻,为外部运算放大器提供反馈电阻,用以提供适当的输出电压;VREF端由外部电路提供10-10V的参考电源;IOUT1与IOUT2是两个电流输出端。欲将数字量D0D7转换为模拟量,只要使WR20,XFER0,DAC寄存器为不锁存状态,即ILE,CS和WR1端接负脉冲信号,即可完成一次转换;或者WR10,CS0,ILE1,输入寄存器为不锁存状态,而WR2和XFER端接负脉冲信号,可达到同样目的。,.,当时,输入锁存器状态随数据输入线状态变化;而时,则锁存输入数据。当时,DAC寄存器的输出随输入状态变化;时,锁存输入状态。,.,1)DAC0832引脚功能,D0D7:数字量数据输入线。ILE:数据锁存允许信号,高电平有效。CS:输入寄存器选择信号,低电平有效。WR1:输入寄存器的“写”选通信号,低电平有效。XFER:数据转移控制信号线,低电平有效。WR2:DAC寄存器的“写”选通信号。VREF:基准电压输入线。RFB:反馈信号输入线,芯片内已有反馈电阻。IOUT1和IOUT2:电流输出线。IOUT1与IOUT2的和为常数,IOUT1随DAC寄存器的内容线性变化。一般在单极性输出时,IOUT2接地;在双极性输出时,接运放。VCC:工作电源。DGND:数字地。AGND:模拟信号地。,.,2)DAC0832特性,主要的特性参数如下:分辨率为8位。只需在满量程下调整其线性度。可与所有的单片机或微处理器直接接口,需要时亦可不与微处理器连接而单独使用。电流稳定时间为1。可双缓冲、单缓冲或直通数据输入。功耗低,约为200mW。逻辑电平输入与TTL兼容。单电源供电()。,.,2.D/A转换器与89C51接口,在D/A芯片中,有许多芯片输出量是电流,而实际应用中常常需要的是模拟电压。在这种情况下,D/A芯片的输出还需要有将电流转换为电压的电路。下面介绍两种电路供参考:图9-44(a)是反相电压输出电路,输出电压;图9-44(b)是同相电压输出电路,输出电压()。图中,当接(或)时,输出电压范围是(或0);当接(或)时,输出电压范围是(或)。输入数字量的变化,将引起模拟量输出的变化。,图9-44D/A转换输出电路,.,1)直通式工作方式应用,图9-45所示为直通式工作方式的连接方法。输入到DAC0832的D0D7数据不经控制直达8位D/A转换器。当某一根地线或地址译码器的输出线使DAC0832的脚有效(低电平)或与直接接地时,数据线上的数据字节直通/转换器转换并输出。,图9-45DAC0832直通式电压输出电路,.,2)单缓冲工作方式应用,应用系统中,在只有一路模拟量输出或几路模拟量不需要同时输出的场合,应采用单缓冲方式。在这种方式下,将二级寄存器的控制信号并接,输入数据在控制信号作用下(一次控制,一次缓冲),直接打入8位DAC寄存器中并进入8位D/A转换器进行D/A转换。如图9-46所示。,图946一路D/A输出连线图(单路模拟量输出),.,当执行“写”指令时,DAC0832相应的控制信号时序如图947所示。,图947DAC0832时序图,.,产生锯齿波的程序,程序框图如图948所示。程序如下:MOVDPTR,#2FFFH;设置D/A口地址MOVA,#00H;输入数字量00H到A(初值为00H)LOOP:MOVXDPTR,A;输出对应于A内容的模拟量INCA;修改A的内容(原来值加1)AJMPLOOP#2FFFH;P2.7=0,P2.6=0,P2.5=1,P2.4=0,图948D/A产生锯齿波程序框图,.,产生方波的程序,MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论