




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机第单片机第7 7章章-单片单片机应用系统接口技机应用系统接口技术术42 2结构形式结构形式 8 8段方形段方形LEDLED,常用来显示设备的运行状态,常用来显示设备的运行状态, 可以显示各种数字和字符可以显示各种数字和字符共阴极:发光管的阴极并接成公共端共阴极:发光管的阴极并接成公共端COMCOM,加高电平灯,加高电平灯亮亮; ;共阳极:发光管的阳极并接成公共端共阳极:发光管的阳极并接成公共端COMCOM,加低电平灯,加低电平灯亮亮. .5 为使为使LEDLED显示不同的符号或数字,要为显示不同的符号或数字,要为LEDLED提供段码或称字提供段码或称字型码。型码。 提供给提供给LEDLE
2、D显示器的段码字型码正好是一个字节显示器的段码字型码正好是一个字节8 8段。段。各段与字节中各位对应关系如下:各段与字节中各位对应关系如下:按上述格式,按上述格式,8 8段段LEDLED的段码如表所示。的段码如表所示。3 38 8段段LEDLED显示原理显示原理6字符字符共阴极段码共阴极段码共阳极段码共阳极段码字符字符共阴极段码共阴极段码共阳极段码共阳极段码0 03FH3FHC0HC0Hc c39H39HC6HC6H1 106H06HF9HF9Hd d5EH5EHA1HA1H2 25BH5BHA4HA4HE E79H79H86H86H3 34FH4FHB0HB0HF F71H71H8EH8EH
3、4 466H66H99H99HP P73H73H8CH8CH5 56DH6DH92H92HU U3EH3EHC1HC1H6 67DH7DH82H82HT T31H31HCEHCEH7 707H07HF8HF8Hy y6EH6EH91H91H8 87FH7FH80H80HH H76H76H89H89H9 96FH6FH90H90HL L38H38HC7HC7HA A77FH77FH88H88H“灭灭”00H00HFFHFFHb b7CH7CH83H83H表表10-1 LED10-1 LED段码段码8 8段段7 为使为使LEDLED在数码管上显示数字和符号,要为在数码管上显示数字和符号,要为LED
4、LED提供位码提供位码为数码管公共端提供有效信号。为数码管公共端提供有效信号。 共阴极:共阴极:发光管的阴极并接成公共端发光管的阴极并接成公共端COMCOM,位码为低电平,位码为低电平; ; 共阳极:共阳极:发光管的阳极并接成公共端发光管的阳极并接成公共端COMCOM,位码为高电平,位码为高电平. .81.2. 1.2. 静态显示方式静态显示方式 各位的公共端连接在一起接地或各位的公共端连接在一起接地或+5V+5V。 每位的段码线每位的段码线a adpdp分别与一个分别与一个8 8位的锁存器输出相连。位的锁存器输出相连。 显示字符一确定,相应锁存器的段码输出将维持不变,直到送入另显示字符一确定
5、,相应锁存器的段码输出将维持不变,直到送入另一个段码为止。显示的亮度高。一个段码为止。显示的亮度高。 显示方法:用单片机相应的显示方法:用单片机相应的IOIO口输出段选信号口输出段选信号9IC0IC0IC3IC3的地址:的地址:FEFFHFEFFH、FDFFHFDFFH、FBFFHFBFFH、F700HF700H#include #include #include #include #define smg1 XBYTE0 xfeff#define smg1 XBYTE0 xfeff#define smg2 XBYTE0 xfdff#define smg2 XBYTE0 xfdff#define
6、 smg3 XBYTE0 xfbff#define smg3 XBYTE0 xfbff#define smg4 XBYTE0 xf7ff#define smg4 XBYTE0 xf7ffunsigned char code unsigned char code leddata=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x18;leddata=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x18;void main()void main() while(1) w
7、hile(1) smg1=leddata0; smg1=leddata0; smg2=leddata1; smg2=leddata1; smg3=leddata2; smg3=leddata2; smg4=leddata3; smg4=leddata3; 101.31.3动态显示接口技术动态显示接口技术 (1)(1)带锁存器带锁存器 所有位的段码线相应段并在一起,由一个所有位的段码线相应段并在一起,由一个8 8位位I/OI/O口控制,形成段码线的多路复用,各位的公共口控制,形成段码线的多路复用,各位的公共端分别由相应的端分别由相应的I/OI/O线控制,形成各位的分时选通。线控制,形成各位的分时
8、选通。 动态显示是一位一位地轮流点亮各位数码管,动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。利用了人这种逐位点亮显示器的方式称为位扫描。利用了人的视觉暂留效应。的视觉暂留效应。 显示方法:显示方法:1 1用单片机相应的用单片机相应的IOIO口输出段选口输出段选信号信号 2 2用单片机相应的用单片机相应的IOIO口输出段选口输出段选信号信号 3 3延时一小段时间延时一小段时间 4 4取消有效的段选信号取消有效的段选信号1112LED0-LED5LED0-LED5显示缓冲区为显示缓冲区为DISPBUFFDISPBUFF起始的连续起始的连续6 6个单元。个单元。字型码
9、锁存器的地址为字型码锁存器的地址为7FFFH7FFFH,位选锁存器的地址为,位选锁存器的地址为BFFFHBFFFH。#include #include #include #include #define duan XBYTE0 x7fff#define duan XBYTE0 x7fff#define wei XBYTE0 xbfff#define wei XBYTE0 xbfffunsigned char code unsigned char code leddata=0 xc0,0 xf9,0 xa4,0 xb0,0leddata=0 xc0,0 xf9,0 xa4,0 xb0,0 x99
10、,0 x92,0 x82,0 xf8,0 x80,0 x18;x99,0 x92,0 x82,0 xf8,0 x80,0 x18;unsigned char code unsigned char code ledsel=0 xfe,0 xfd,0 xfb,0 xf7,0 xledsel=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;ef,0 xdf,0 xbf,0 x7f; void delay() void delay() unsigned char i; unsigned char i; for(i=0;i200;i+); for(i=0;
11、i200;i+); void main()void main() unsigned char j;unsigned char j;while(1)while(1) for(j=0;j6;j+)for(j=0;j6;j+) duan=leddataj;duan=leddataj;wei=ledselj;wei=ledselj;delay();delay();wei=0 xff;wei=0 xff; 132 2不带锁存器不带锁存器 显示方法:显示方法:1 1用单片机相应的用单片机相应的IOIO口输出段选信号口输出段选信号 2 2用单片机相应的用单片机相应的IOIO口输出段选信号口输出段选信号 3
12、3延时一小段时间延时一小段时间 4 4取消有效的段选信号取消有效的段选信号14#include#includeunsigned char code unsigned char code tab=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x18;tab=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x18;unsigned time=0;/unsigned time=0;/为一秒的计数周期为一秒的计数周期unsigned char count=0;unsigne
13、d char count=0;为为5959秒的计数周期秒的计数周期unsigned char a,b;/aunsigned char a,b;/a为十位上的数为十位上的数,b,b为个位上的数为个位上的数delay(unsigned int s )/delay(unsigned int s )/延时函数几延时函数几MSMS unsigned char i; unsigned char i; while(s-) while(s-) for(i=0;i240;i+); for(i=0;i240;i+); display(unsigned char shiwei,unsigned char gewei
14、)/display(unsigned char shiwei,unsigned char gewei)/显视函数显视函数 P2=0XFE; P2=0XFE; P0=tabgewei; P0=tabgewei; delay(10); delay(10); P0=0XFF; P0=0XFF; P2=0XFD; P2=0XFD; P0=tabshiwei; P0=tabshiwei; delay(500); delay(500); P0=0XFF; P0=0XFF;15 void timer0() ; void timer0() ; / /定时器定时器0 0的中断函数声明的中断函数声明main()m
15、ain() TMOD=0 x01;/TMOD=0 x01;/定时器定时器0 0工作方式工作方式1 1TH0=0 x3c;TH0=0 x3c;TL0=0 xb0;/TL0=0 xb0;/设置初值为设置初值为50MS50MSEA=1;EA=1;ET0=1;ET0=1;TR0=1;TR0=1;while(1)while(1) a=count/10;a=count/10;b=count%10;b=count%10;display(a,b);display(a,b); void timer0() interrupt 1void timer0() interrupt 1 / / / /定时器定时器0 0的
16、中断函数入口程序的中断函数入口程序 TH0=0 x3c; TH0=0 x3c; TL0=0 xb0;TL0=0 xb0;time+;time+;if(time=20)if(time=20) time=0;time=0;count+;count+;if(count=59)if(count=59)count=0;count=0; 167.1.2 7.1.2 键盘接口技术键盘接口技术一非编码键盘一非编码键盘一一 独立式按键独立式按键 独立式按键直接用I/O线构成单个按键电路,其特点是每个按键单独占用一条I/O线,每个按键的工作不会影响其它I/O线的状态。如下图。 按键识别方法:判断相应的IO口是否是
17、低电平 8031P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7V cc17 例:对以下图所示的独立式键盘编程,软件消抖,查询方式检测键例:对以下图所示的独立式键盘编程,软件消抖,查询方式检测键的状态。仅有一键按下时才有效才处理。的状态。仅有一键按下时才有效才处理。8031P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7Vcc18#include #define uchar unsigned charsbit key1=P00; sbit key2=P01;sbit key3=P02;sbit key4=P03;sbit key5=P04;void Delay1
18、ms(uint count) uint i,j; for(i=0;icount;i+) for(j=0;j0;x-) for(y=110;y0;y-);uchar keyscan() /键盘扫描程序,返回键盘扫描程序,返回uchar型参数型参数uchar i; for(i=0;i4;i+) P1=_crol_(0 xfe,i); temp=P1; temp=temp&0 xf0; while(temp!=0 xf0) delay(5); /延时消抖延时消抖 temp=P1; temp=temp&0 xf0; while(temp!=0 xf0) temp=P1; switch(
19、temp) case 0 xee:num=1;break; case 0 xde:num=2;break; case 0 xbe:num=3;break; case 0 x7e:num=4;break; case 0 xed:num=5;break; case 0 xdd:num=6;break; case 0 xbd:num=7;break; case 0 x7d:num=8; break; case 0 xeb:num=9;break; case 0 xdb:num=10;break; case 0 xbb:num=11;break; case 0 x7b:num=12;break; ca
20、se 0 xe7:num=13;break; case 0 xd7:num=14;break; case 0 xb7:num=15;break; case 0 x77:num=16;break; while(temp!=0 xf0) /等待按键释放等待按键释放 temp=P1; temp=temp&0 xf0; return num;277.2.7.2.模数转换模数转换1 1、A/DA/D转换器根本知识转换器根本知识2 2、常用模数转换器及接口接口电路设计、常用模数转换器及接口接口电路设计28具有具有A/DA/D和和D/AD/A的单片机控制系统构成的单片机控制系统构成1. A/D1.
21、A/D转换器根本知识转换器根本知识29nA/DA/D转换器的主要技术指标转换器的主要技术指标分辨率分辨率使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常 用二进制的位数表示。用二进制的位数表示。 例如例如:12:12位位ADCADC的分辨率就是的分辨率就是1212位,一个位,一个10V10V满刻度的满刻度的1212位位ADCADC能分辨能分辨 输入电压变化最小是输入电压变化最小是: : 10V 10V1/21/21212=2.4mV=2.4mV量化误差量化误差 ADCADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称把模
22、拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是为量化。量化误差是ADCADC的有限位数对模拟量进行量化而引起的误差。的有限位数对模拟量进行量化而引起的误差。30偏移误差偏移误差 指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。满刻度误差满刻度误差满刻度误差又称为增益误差。指满刻度输出数码所对应的实际输入电压与满刻度误差又称为增益误差。指满刻度输出数码所对应的实际输入电压与理想输入电压之差。理想输入电压之差。线性度线性度线性度有时又称为非线性度,指转换器实际的转换特性与理想直线的最大线性度有时又称为
23、非线性度,指转换器实际的转换特性与理想直线的最大偏差。偏差。31绝对精度绝对精度 在一个转换器中,任何数码所对应的实际模拟量输入与在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于理论模拟输入之差的最大值,称为绝对精度。对于ADCADC而言,而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。差。转换速率转换速率 指指ADCADC能够重复进行数据转换的速度,即每秒转换的次数。能够重复进行数据转换的速度,即每秒转换的次数。而完成一次而完成一次A/DA/D转换所需的时间包括稳定时间,那么是转转换
24、所需的时间包括稳定时间,那么是转换速率的倒数。换速率的倒数。 321 1、8 8位转换芯片位转换芯片ADC0809ADC0809 ADC0809 ADC0809是是逐次逼近型逐次逼近型8 8位位A/DA/D转换器,片内有八路模拟开关,可对八转换器,片内有八路模拟开关,可对八路模拟电压量实现分时转换。典型转换速度路模拟电压量实现分时转换。典型转换速度100s 100s 。片内带有三态输出。片内带有三态输出缓冲器,可直接与单片机的数据总线相连接缓冲器,可直接与单片机的数据总线相连接 。2、常用模数转换器及接口技术、常用模数转换器及接口技术33CLKCLK:时钟信号,典型值为时钟信号,典型值为500
25、500640KHZ640KHZVREF+VREF+、VREF-VREF-:基准电压输入,基准电压输入,ALEALE:地址锁存允许,其上升缘锁存地址锁存允许,其上升缘锁存ADDCADDCADDAADDA的的地址信号地址信号 STARTSTART:A/DA/D转换启动信号,上升缘启动转换启动信号,上升缘启动A/DA/D转换。转换。EOCEOC:转换完成信号,启动转换后,转换完成信号,启动转换后,EOCEOC输出低电平,输出低电平,转换完成后输出高电平。该信号可用作向单片机提转换完成后输出高电平。该信号可用作向单片机提出中断申请,或者作为查询信号。出中断申请,或者作为查询信号。ALEADDAADDB
26、ADDCSTARTEOCD0D7OECLK VREF+ VREF-VCCIN0IN7GNDADC0809ADC0809ADC0809的引脚见图,其信号意义如下:的引脚见图,其信号意义如下:34OEOE:数字量输出允许信号,该引脚输入高电平数字量输出允许信号,该引脚输入高电平时,转换后的数字量从时,转换后的数字量从D0D0D7D7脚输出。脚输出。IN0IN0IN7IN7:模拟电压输入,八个引脚可分别接模拟电压输入,八个引脚可分别接八路模拟信号。八路模拟信号。ADDAADDA、ADDBADDB、ADDCADDC:通道选择信号,其输入电通道选择信号,其输入电平的组合选择模拟通道平的组合选择模拟通道I
27、N0IN0IN7IN7之一之一 ALEADDAADDBADDCSTARTEOCD0D7OECLK VREF+ VREF-VCCIN0IN7GNDADC0809352 2、ADC0809ADC0809与单片机的接口设计与单片机的接口设计 如以下图所示,从如以下图所示,从ADC0809ADC0809的通道的通道IN3IN3输入输入0-5V0-5V之间的模拟量,之间的模拟量,通过通过ADC0809ADC0809转换成数字量在数码管上以十进制形式显示出来。转换成数字量在数码管上以十进制形式显示出来。ADC0809ADC0809的的VREFVREF接接+5V+5V电压。电压。36C C语言源程序:语言源
28、程序:#include #include #define uint unsigned int#define uint unsigned int#define uchar unsigned char#define uchar unsigned charuchar code LEDData=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;uchar code LEDData=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;sbit OE = P31;sbi
29、t OE = P31;sbit EOC = P32;sbit EOC = P32;sbit ST = P30;sbit ST = P30;sbit ALE=P37;sbit ALE=P37;sbit adda=P34;sbit adda=P34;sbit addb=P35;sbit addb=P35;sbit addc=P36;sbit addc=P36;void delayMS()void delayMS() uchar i;uchar i; for(i=0;i120;i+);for(i=0;i120;i+); 37void display_Result(float d)void displ
30、ay_Result(float d) unsigned char ge,shi,bai;unsigned char ge,shi,bai; bai=(unsigned char)(d); bai=(unsigned char)(d); shi=(unsigned char)(d shi=(unsigned char)(d* *10)%10;10)%10; ge=(unsigned char)(d ge=(unsigned char)(d* *100)%10;100)%10; P1 = LEDDatabai|0 x80; P1 = LEDDatabai|0 x80;P2 = 0 xfd;P2 =
31、 0 xfd;delayMS();delayMS();P2=0 xff;P2=0 xff;P1 = LEDDatashi;P1 = LEDDatashi;P2 = 0 xfb;P2 = 0 xfb;delayMS();delayMS();P2=0 xff; P2=0 xff; P1 = LEDDatage;P1 = LEDDatage;P2 = 0 xf7;P2 = 0 xf7;delayMS();delayMS();P2=0 xff;P2=0 xff; void main()void main() unsigned char a; unsigned char a; float b; floa
32、t b; P0=0 xff; P0=0 xff;P1=0 x00;P1=0 x00;adda=1;adda=1;addb=1;addb=1;addc=0;addc=0;while(1)while(1) ALE=1; ALE=1;ST=0;ST = 1;ST = 0;ST=0;ST = 1;ST = 0;while(!EOC);while(!EOC);OE = 1;OE = 1; a=P0; a=P0; b=(float)a b=(float)a* *5/255;5/255;display_Result(b);display_Result(b);OE = 0;OE = 0; 38 如以下图所示,
33、从如以下图所示,从ADC0809ADC0809的通道的通道IN3IN3输入输入0-5V0-5V之间的模拟量,通之间的模拟量,通过过ADC0809ADC0809转换成数字量在数码管上以十进制形式显示出来。转换成数字量在数码管上以十进制形式显示出来。ADC0809ADC0809的的VREFVREF接接+5V+5V电压。电压。C0C1C2C3C4C5C6C7A0A1A2A3A4A5A6A7B0B1B2A0A1A2A3A4A5A6A7B2B1B0C7C6C5C4C3C2C1C0XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237
34、P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51OUT121ADD B24ADD A25ADD C23VREF(+)12VREF(-)16
35、IN31IN42IN53IN64IN75START6OUT58EOC7OE9CLOCK10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE22U2ADC0808D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U374LS373234567891RP1RESPACK-8100%RV11kU4NORU5NORU6NOR39C C语言程序:语言程序:#include #include #include #include unsigned char code uns
36、igned char code table=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;table=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;sbit P33=P33;sbit P33=P33;void display(float a);void display(float a);void delay();void delay();void main()void main() unsigned int date; unsigned int d
37、ate; float date1; float date1; while(1) while(1) XBYTE0 xfefb=0; XBYTE0 xfefb=0; while(P33=1); while(P33=1); date=XBYTE0 xfefb; date=XBYTE0 xfefb; date1=(float)date date1=(float)date* *5/255;5/255; display(date1); display(date1); 40void display(float a)void display(float a) unsigned char ge,shi,bai;
38、 unsigned char ge,shi,bai; bai=(unsigned char) (a); bai=(unsigned char) (a); shi=(unsigned char) (a shi=(unsigned char) (a* *10)%10;10)%10; ge=(unsigned char) (a ge=(unsigned char) (a* *100)%10;100)%10; P1=tablege; P2=0 xfd; P1=tablege; P2=0 xfd; delay();P2=0 xff; delay();P2=0 xff; P1=tableshi;P2=0
39、xfb; P1=tableshi;P2=0 xfb; delay();P2=0 xff; delay();P2=0 xff; P1=tablebai|0 x80; P2=0 xf7; P1=tablebai|0 x80; P2=0 xf7; delay();P2=0 xff; delay();P2=0 xff; void delay()void delay() unsigned char i; unsigned char i; for(i=0;i100;i+); for(i=0;i100;i+); 417.3.7.3.数模转换数模转换1 1、D/AD/A转换器根本知识转换器根本知识2 2、常用
40、数模转换器及接口电路设计、常用数模转换器及接口电路设计42 输入:输入:数字量,数字量,输出:输出:模拟量。模拟量。 转换过程:转换过程:送到送到DACDAC的各位二进制数按其权的大小转换为相应的的各位二进制数按其权的大小转换为相应的模拟分量,再把各模拟分量叠加,其和就是模拟分量,再把各模拟分量叠加,其和就是D/AD/A转换的结果。转换的结果。 使用使用D/AD/A转换器时,要注意区分转换器时,要注意区分: : D/A D/A转换器的输出形式转换器的输出形式; ; 内部是否带有锁存器。内部是否带有锁存器。(1) (1) 输出形式输出形式 两种输出形式两种输出形式: :电压输出形式与电流输出形式
41、电压输出形式与电流输出形式。电流输出的。电流输出的D/AD/A转换器,如需模拟电压输出,可在其输出端加一个转换器,如需模拟电压输出,可在其输出端加一个I-VI-V转换电转换电路。路。1 1、D/AD/A转换器根本知识转换器根本知识432 2D/AD/A转换器内部是否带有锁存器转换器内部是否带有锁存器 D/AD/A转换需要一定时间,这段时间内转换需要一定时间,这段时间内输入端的数字量应稳定,输入端的数字量应稳定,为为此应在数字量输入端之前设置锁存器,以提供数据锁存功能。根此应在数字量输入端之前设置锁存器,以提供数据锁存功能。根据芯片内是否带有锁存器,可分为据芯片内是否带有锁存器,可分为内部无锁存
42、器的和内部有锁存内部无锁存器的和内部有锁存器器的两类的两类。* * 内部无锁存器的内部无锁存器的D/AD/A转换器转换器 可与可与P1P1、P2P2口直接相接因口直接相接因P1P1口和口和P2P2口的输出有锁存功能。口的输出有锁存功能。但与但与P0P0口相接,需增加锁存器。口相接,需增加锁存器。* * 内部带有锁存器的内部带有锁存器的D/AD/A转换器转换器 内部不但有锁存器,还包括地址译码电路,有的还有双重或多重内部不但有锁存器,还包括地址译码电路,有的还有双重或多重的数据缓冲电路,可与的数据缓冲电路,可与MCS-51MCS-51的的P0P0口直接相接。口直接相接。442.2.主要技术指标主
43、要技术指标(1)(1)分辨率分辨率 输入给输入给DACDAC的的单位数字量变化单位数字量变化引起的模拟量输出的变化,通常引起的模拟量输出的变化,通常定定义为输出满刻度值与义为输出满刻度值与2 2n n之比。显然,二进制位数越多,分辨率越高。之比。显然,二进制位数越多,分辨率越高。 例如,假设满量程为例如,假设满量程为10V10V,根据定义那么分辨率为,根据定义那么分辨率为10V/2n10V/2n。设。设8 8位位D/AD/A转换,即转换,即n=8n=8,分辨率为,分辨率为10V/2n =39.1mV10V/2n =39.1mV,该值占满量程的,该值占满量程的0.391%0.391%,用,用1L
44、SB1LSB表示。表示。同理:同理:1010位位 D/AD/A:1 LSB=9.77mV=0.1% 1 LSB=9.77mV=0.1% 满量程满量程 1212位位 D/AD/A:1 LSB=2.44mV=0.024% 1 LSB=2.44mV=0.024% 满量程满量程根据对根据对DACDAC分辨率的需要分辨率的需要, ,来选定来选定DACDAC的位数。的位数。 45(2)(2)建立时间建立时间 描述描述DACDAC转换快慢的参数转换快慢的参数, ,说明转换速度。说明转换速度。 定义:为从输入数字量到输出到达终值误差定义:为从输入数字量到输出到达终值误差(1/2)LSB(1/2)LSB(最低有
45、效最低有效位位) )时所需的时间。电流输出时间较短,电压输出的,加上时所需的时间。电流输出时间较短,电压输出的,加上I-VI-V转换转换的时间,因此建立时间要长一些。快速的时间,因此建立时间要长一些。快速DACDAC可达可达1 1s s以下。以下。(3(3精度精度 理想情况,精度与分辨率根本一致,位数越多精度越高。但由理想情况,精度与分辨率根本一致,位数越多精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差于电源电压、参考电压、电阻等各种因素存在着误差, ,精度与分辨率精度与分辨率并不完全一致。并不完全一致。 位数相同,分辨率那么相同,但相同位数的不同转换器精度会有位数相同,分辨率那
46、么相同,但相同位数的不同转换器精度会有所不同。例如,某型号的所不同。例如,某型号的8 8位位DACDAC精度为精度为0.19%0.19%,另一型号的,另一型号的8 8位位DACDAC精精度为度为0.05%0.05%。462 2、常用数模转换器及接口电路设计、常用数模转换器及接口电路设计(1)DAC0832(1)DAC0832的特性的特性 美国国家半导体公司产品,具有两个输入数据存放器的美国国家半导体公司产品,具有两个输入数据存放器的8 8位位DAC,DAC,能直接与能直接与MCS-51MCS-51单片机相连。主要特性如下:单片机相连。主要特性如下:分辨率为分辨率为8 8位;位;电流输出,稳定时
47、间为电流输出,稳定时间为1 1s s;可双缓冲输入、单缓冲输入或直接数字输入;可双缓冲输入、单缓冲输入或直接数字输入;单一电源供电单一电源供电+5+5+15V+15V; 472 2DAC0832DAC0832的引脚及逻辑结构的引脚及逻辑结构48DAC0832DAC0832的逻辑结构:的逻辑结构:49“8“8位输入存放器用于存放位输入存放器用于存放CPUCPU送来的数字量,使输入数字量得到送来的数字量,使输入数字量得到缓冲和锁存,由缓冲和锁存,由LE1LE1* *控制;控制;“8 8位位DACDAC存放器存放器 存放待转换的数字量,由存放待转换的数字量,由LE2LE2* *控制;控制;“8 8位
48、位D/AD/A转换电路由转换电路由T T型电阻网络和电子开关组成,型电阻网络和电子开关组成,T T型电阻网络型电阻网络输出和数字量成正比的模拟电流。输出和数字量成正比的模拟电流。50引脚功能:引脚功能:DI0DI0DI7DI7:8 8位数字信号输入端位数字信号输入端CSCS* *: 片选端。片选端。ILEILE: 数据锁存允许控制端,高电平有效。数据锁存允许控制端,高电平有效。WR1WR1* *:输入存放器写选通控制端。当:输入存放器写选通控制端。当CSCS* *=0=0、ILE=1ILE=1、WR1WR1* *=0=0时,数时,数据信号被锁存在输入存放器中。据信号被锁存在输入存放器中。51X
49、FERXFER* *:数据传送控制。:数据传送控制。WR2WR2* * :DACDAC存放器写选通控制端。当存放器写选通控制端。当XFERXFER* *=0=0,WR2WR2* * =0 =0时,输入存时,输入存放器状态传入放器状态传入DACDAC存放器中。存放器中。52IOUT1IOUT1:电流输出:电流输出1 1端,输入数字量全端,输入数字量全“1 1时,时,IOUT1IOUT1最大,最大, 输入数输入数字字 量全为量全为“0 0时,时,IOUT1IOUT1最小。最小。IOUT2IOUT2:D/AD/A转换器电流输出转换器电流输出2 2端,端,IOUT2+IOUT1=IOUT2+IOUT1
50、=常数。常数。RfbRfb: 外部反响信号输入端,外部反响信号输入端, 内部已有反响电阻内部已有反响电阻RfbRfb,根据需要,根据需要 也可外接反响电阻。也可外接反响电阻。VccVcc: 电源输入端,可在电源输入端,可在+5V+15V+5V+15V范围内。范围内。DGNDDGND: 数字信号地。数字信号地。AGNDAGND: 模拟信号地。模拟信号地。533 3、.DAC.DAC的应用的应用(1) (1) 单极性电压输出单极性电压输出 单极性模拟电压输出,可采用图单极性模拟电压输出,可采用图11-511-5所示接线。输出电压所示接线。输出电压VoutVout与输入数字量与输入数字量B B的关系
51、的关系:Vout=:Vout=B/256B/256* *VRFEVRFE式中,式中,B=b72B=b727 7+ b62+ b626 6+ b12+ b121 1+ b02+ b020 0; B B为为0 0时,时,V Voutout也为也为0 0,输入数字量为,输入数字量为255255时,时,V Voutout为最大值为最大值, ,单极性。单极性。 54 双极性电压输出,采用图双极性电压输出,采用图11-311-3接线:接线:Vout =Vout =B B128128* *VREF/128VREF/128 由上式,在选用由上式,在选用+VREF+VREF时,时,1 1假设输入数字量假设输入数
52、字量b7b71 1,那么,那么VoutVout为为正;正;2 2假设输入数字量假设输入数字量b7b70 0,那么,那么VoutVout为为负。负。 在选用在选用-VREF-VREF时,时,VoutVout与与+VREF+VREF时极性相反。时极性相反。2 2双极性电压输出双极性电压输出 554. MCS-514. MCS-51与与DAC0832DAC0832的接口电路的接口电路(1)(1)单缓冲方式单缓冲方式 DAC0832 DAC0832的两个数据缓冲器有的两个数据缓冲器有一个处于直通方式,另一个处于受控一个处于直通方式,另一个处于受控的锁存方式。的锁存方式。 在不在不要求多路输出同步要求多
53、路输出同步的情况下,可采用单缓冲方式。的情况下,可采用单缓冲方式。单缓冲方式的接口如图单缓冲方式的接口如图: :56(1) (1) 锯齿波的产生锯齿波的产生 ORG 2000H ORG 2000HSTART:MOV DPTRSTART:MOV DPTR,#7FFFH#7FFFH;DACDAC地址地址7FFFHDPTR7FFFHDPTRMOV AMOV A,#00H#00H;数字量;数字量AALOOP: MOVX DPTRLOOP: MOVX DPTR,A A ;数字量;数字量D/AD/A转换器转换器INC A INC A ;数字量逐次加;数字量逐次加1 1SJMP LOOPSJMP LOOP5
54、7#include #include #include #include #define DAC XBYTE0 x7fff#define DAC XBYTE0 x7fffvoid main()void main() unsigned char i;unsigned char i;while(1)while(1) for(i=0;i255;i+) for(i=0;i255;i+) DAC=i; DAC=i; 58(2) (2) 三角波的产生三角波的产生ORG 2000HORG 2000HSTART: MOV DPTRSTART: MOV DPTR,#7FFFH#7FFFHMOV AMOV A,#
55、00H#00HUP: MOVXUP: MOVXDPTRDPTR,A A ;三角波上升边;三角波上升边INC AINC AJNZ UPJNZ UPDOWN:DOWN: DEC A DEC A;A=0A=0时再减时再减1 1又为又为FFHFFHMOVX DPTRMOVX DPTR,A AJNZ DOWNJNZ DOWN ;三角波下降边三角波下降边SJMP UPSJMP UP59#include #include #include #include #define DAC XBYTE0 x7fff#define DAC XBYTE0 x7fffvoid main()void main() unsig
56、ned int i;unsigned int i;while(1)while(1) for(i=0;i255;i+) for(i=0;i0;i-) for(i=255;i0;i-) DAC=i; DAC=i; 60(3) (3) 矩形波的产生矩形波的产生 ORG 2000HORG 2000HSTART: MOV DPTRSTART: MOV DPTR,#7FFFH#7FFFHLOOP:LOOP: MOV AMOV A,#data1#data1MOVX DPTRMOVX DPTR,A A;LCALL DELAY1LCALL DELAY1;MOV AMOV A,#data2#data2MOVX D
57、PTRMOVX DPTR,A A;LCALL DELAY2LCALL DELAY2;SJMP LOOPSJMP LOOP;61键控波形发生器设计键控波形发生器设计A0A1A2A3A4A5A6A7A3A2A1A0A4A5A6A7WRWRWRP27P27P27XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD1
58、1P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51VREF8GND3VCC20CS1WR12DI34DI25DI16DI07RFB9GND10IOUT111IOUT212DI713DI614DI515DI416XFER17WR218ILE(BY1/BY2)19U2DAC0832U3OPAMP矩形波矩形波三角波三角波锯齿波锯齿波62#include #inc
59、lude #include #include #define DAC XBYTE0 x7fff#define DAC XBYTE0 x7fffvoid delay()void delay() unsigned char i; unsigned char i; for(i=0;i100;i+); for(i=0;i100;i+); void sanjiao()void sanjiao() unsigned char i; unsigned char i; for(i=0;i255;i+) for(i=0;i0;i-) for(i=255;i0;i-) DAC=i; DAC=i; void juc
60、hi()void juchi() unsigned char i; unsigned char i; for(i=0;i255;i+) for(i=0;i255;i+) DAC=i; DAC=i; void juxing()void juxing() DAC=0 x00; DAC=0 x00; delay(); delay(); DAC=0 xff; DAC=0 xff; delay(); delay(); 63void main()void main() unsigned char a,b; unsigned char a,b; P1=0 xff; P1=0 xff; while(1) while(1) a=P1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新职工岗前培训考试题及答案解析
- Unit 3 Review说课稿-2025-2026学年小学英语六年级上册冀教版(一起)
- 第2课 第二次鸦片战争(说课稿)-2024-2025学年统编版八年级历史上册
- 2025年冰场设施装备行业研究报告及未来行业发展趋势预测
- 2025年超高端啤酒行业研究报告及未来行业发展趋势预测
- 2025年氮化铝(ALN)陶瓷行业研究报告及未来行业发展趋势预测
- 2025年笔记本电脑结构件模组行业研究报告及未来行业发展趋势预测
- 2025年MO磁光盘机行业研究报告及未来行业发展趋势预测
- 炼钢原料加工工岗位操作技能考核试卷及答案
- 照相机及器材制造工上岗考核试卷及答案
- 用户运营基础知识培训课件
- 边境电子围栏2025年行业应用前景报告中小企业安全市场拓展
- 【英语】江苏省苏锡常镇2025届高三下学期二模试题(解析版)
- 2024年德州禹城市事业单位引进青年人才真题
- DBJT15-110-2015 广东省建筑防火及消防设施检测技术规程
- 2025年环境保护法知识竞赛题库(附含答案)
- 2025至2030年中国海岛文化旅游行业市场运营现状及投资规划研究建议报告
- 四川信达饰品科技有限公司年产1亿包家居水晶饰品项目环评报告
- 文物、古建筑、塔类、寺庙类施工方案、施工组织设计【高分可编辑】
- 生产开停机管理办法
- 养老护理员培训排泄照护
评论
0/150
提交评论