双通道数字电压表课程设计

合集下载

数字电压表的课程设计

数字电压表的课程设计

数字电压表设计报告一、设计目的作用数字电压表的基本原理,是对直流电压进行模数转换,其结果用数字直接显示出来,按其基本工作原理可分为积分式和比较式两大类。

熟悉集成电路MC14433,MC1413,CD4511和MC1403的使用方法,并掌握其工作原理。

二、设计要求(1).设计数字电压表电路(2).测量范围:直流电压0V-1.999V,0V-19.99V,0V-199.9V,0V-1999V; (3).画出数字电压表电路原理图,写出总结报告。

三、设计的具体实现(一)、系统概述数字电压表是将被测模拟量转换为数字量,并进行实时数字显示的数字系统。

该系统(如图1所示)可由MC14433--321位A/D 转换器、MC1413七路达林顿驱动器阵列、CD4511 BCD 到七段锁存-译码-驱动器、能隙基准电源MC1403和共阴极LED 发光数码管组成。

本系统是321位数字电压表,321位是指十进制数0000~1999,所谓3位是指个位、十位、百位,其数字范围均为0~9。

而所谓半位是指千位数,它不能从0变化到9,而只能由0变到1,即二值状态,所以成为半位。

各部件的功能如下:(1)321A/D 转换器:将输入的模拟信号转换成数字信号。

(2)基准电源:提供精密电压,供A/D 转换器作参考电压。

(3)译码器:将二-十进制(BCD )码转换成七段信号。

(4)驱动器:驱动显示器的a,b,c,d,e,f,g 七个发光段,推动发光数码管(LED )进行显示。

(5)显示器:将译码器输出的七段信号进行数字显示,读出A/D 转换结果。

图 1工作过程如下:321数字电压表通过位选信号DS 1~DS 4进行动态扫描显示,由于MC14433电路的A/D 转换结果是采用BCD 码多路调制方法输出,只要配上一块译码器,就可以将转换结果以数字方式实现四位数字的LED 发光数码管动态扫描显示。

DS 1~DS 4输出多路调制选通脉冲信号,DS 选通脉冲为高电平,则表示对应的数位被选通,此时该位数据在Q 0~Q 3端输出。

数字电压表课程设计实验报告

数字电压表课程设计实验报告

自动化与电气工程学院电子技术课程设计报告题目数字电压表的制作专业班级学号学生姓名指导教师二○一三年七月一、课程设计的目的与意义1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。

2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。

3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。

在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。

在此过过程中培养从事设计工作的整体观念。

4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。

二、电路原理图数字电压表原理图三、课程设计的元器件1.课程设计所使用的元器件清单:2.主要元器件介绍(1)芯片ICL7107:ICL7107的工作原理双积分型A/D转换器ICL7107是一种间接A/D转换器。

它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。

它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。

积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基准电压进行两次积分。

比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。

时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。

它是由内部的两个反向器以及外部的RC组成的。

其振荡周期Tc=2RCIn1.5=2.2RC 。

ICL7106A/D转换器原理图计数器对反向积分过程的时钟脉冲进行计数。

控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。

分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。

数字电压表课程设计

数字电压表课程设计

数字电压表课程设计报告姓名:刘毛学号:0628401045年级专业:06通信工程指导老师:陈雪勤课程设计数字电压表设计总结报告摘要本课程设计是要求用 MF53-1型直热式负温度系数热敏电阻器和低噪声高精度运算放大器OP07CP 组成的温度测量电路将温度的度数(非电量)转换成电量,即利用温度传感器,将温度变化转换成相应的电信号,再将此电信号(此处为电压信号)作为输入信号,输入利用ICL7135制作的214位数字电压表中。

通过集成化双积分A/D 转换器ICL7135对输入电压信号进行模数转换,将得到的数字信号经过74LS74BCD 码/七段码译码器,转换成控制共阳极LED 数码管发光的信号,再通过数码管7段LED 和部分常用电路部件将输入电压值显示出来。

关键词:MF53-1 OP07CP ICL7135 74LS74 7段LED目录1 设计目的和要求……………………………………………………2 整体电路原理2.1 数字温度计原理框图……………………………………………2.2 数字温度计电路原理图…………………………………………3 硬件设计及原理说明3.1 ICl7135型集成双积分式A/D转换原理与特性…………3.2 七段数码显示管……………………………………………3.3 三极管………………………………………………………3.4 BCD七段显示译码器SN74LS47……………………………3.5 六反相器CD4069………………………………………3.6 精密稳压源MC1403………………………3. 7 低噪声高精度元素放大器OP07CP………………………3. 8 MF53-1型直热式负温度系数热敏电阻器………4.设计安装过程……………………………………………………5 调试过程……………………………………………………6 实现功能……………………………………………………7 设计小结与心得……………………………………………………8 附元器件清单…………1.目的和要求:要求用 MF53-1型直热式负温度系数热敏电阻器和低噪声高精度运算放大器OP07CP 组成的温度测量电路将温度的度数(非电量)转换成电量,即利用温度传感器,将温度变化转换成相应的电信号,再将此电信号(此处为电压信号)作为输入信号,输入利用ICL7135制作的位数字电压表中。

数字电压表的课程设计

数字电压表的课程设计

数字电压表的课程设计一、课程目标知识目标:1. 理解数字电压表的工作原理,掌握其基本组成部分及功能;2. 学会使用数字电压表进行电压测量,并能正确读取测量数据;3. 了解数字电压表在电子测量领域中的应用。

技能目标:1. 能够正确连接和操作数字电压表,进行电压测量;2. 培养学生观察、分析、解决问题的能力,通过实践操作,提高动手能力;3. 学会对测量数据进行处理,具备初步的数据分析能力。

情感态度价值观目标:1. 培养学生对电子测量的兴趣,激发学习热情;2. 培养学生的合作精神,学会在团队中共同完成任务;3. 增强学生的安全意识,遵守实验室操作规程,爱护实验设备。

分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够明确数字电压表的工作原理,掌握其使用方法;2. 学生能够独立完成电压测量实验,正确读取测量数据,并进行简单的数据处理;3. 学生在课程学习中,表现出积极的合作态度和良好的安全意识,对电子测量产生浓厚兴趣。

二、教学内容根据课程目标,本章节教学内容主要包括以下三个方面:1. 数字电压表基本原理与组成- 电压表的定义及分类- 数字电压表的工作原理- 数字电压表的组成部分及功能2. 数字电压表的使用方法与操作- 数字电压表的选择与连接- 电压测量方法与步骤- 测量数据的读取与处理3. 数字电压表的应用与实践- 数字电压表在电子测量中的应用案例- 实验操作:电压测量实践- 数据分析:处理测量数据,探讨实验现象教学大纲安排如下:1. 引入数字电压表的概念,介绍其工作原理及分类(第1课时)2. 讲解数字电压表的组成部分及功能,进行实物展示(第2课时)3. 指导学生掌握数字电压表的使用方法,进行实践操作(第3-4课时)4. 课堂讨论:数字电压表在电子测量中的应用,分析实验数据(第5课时)教学内容关联教材章节:1. 数字电压表基本原理与组成:教材第X章2. 数字电压表的使用方法与操作:教材第X章3. 数字电压表的应用与实践:教材第X章三、教学方法针对数字电压表的教学内容,选择以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:- 对数字电压表的基本原理、组成部分和功能进行系统讲解,结合教材第X章内容,通过PPT展示,使学生建立完整的理论知识框架。

数字电压表设计课程设计报告方案一

数字电压表设计课程设计报告方案一

本科课程设计题目数字电压表设计目录一、课程设计目的 (3)二、方案一:XXXXXXXX (3)(一)原理框图......................................... 错误!未定义书签。

(二)电路原理总图................................. 错误!未定义书签。

(三)主要芯片原理及引脚图................. 错误!未定义书签。

(四)各部分电路原理分析..................... 错误!未定义书签。

三、设计与调试 (7)四、结论 (10)五、总结 (10)一、课程设计目的1.学习查阅文献资料,掌握设计方案的设计与书写;2.掌握双积分A/D转换器的工作原理;3.掌握各主要芯片的工作原理及使用方法;4.了解数码管显示原理;5.学会利用通用板实现电子元器件的手动连线及调试;6.掌握模拟电路、数字电路的基本调试方法;7.提高分析问题与解决问题的能力;8.对常见故障会分析原因,并排除故障。

性能指标1. 直流电源供电:+5,-5V2. 量程:-1.999V~+1.999V3. 精度:0.0014. 用五个数码管显示,显示稳定,允许最后一位跳动5. 输入负电压时,最高位显示“-”6. 最高位灭零二、方案一:通过双积分A/D转换器ICL7135实现四位半数字电压表方案简述;本系统所设计的4 1/2数字电压表由ICL7135-4 1/2位A/D转换器、三极管9013驱动阵列、74LS47BCD到七段锁存-译码-驱动器、共阳极LED发光数码管、基准电源、时钟及量程开关电路组成。

4 1/2位是指十进制数00000~1999,只有4位完整显示位,其数字范围为0~9,而其最高位只能显示0或1,故称为半位。

(一)原理框图模数转换ICL7135数 码 管驱动电路数 码 管显示电路时钟信号基准电压被测信号(二)电路原理总图(三)主要芯片原理及引脚图1.ICL7135原理:ICI7135是4位双积分A/D转换芯片,可以转换输出±20000个数字量,有STB选通控制的BCD码输出,与微机接口十分方便.ICL7135具有精度高(相当于14位A/D转换),价格低的优点.其转换速度与时钟频率相关,每个转换周期均有:自校准(调零),正向积分(被测模拟电压积分),反向积分(基准电压积分)和过零检测四个阶段组成,其中自校准时间为10001个脉冲,正向积分时间为10000个脉冲,反向积分直至电压到零为止(最大不超过20001个脉冲).故设计者可以采用从正向积分开始计数脉冲个数,到反向积分为零时停止计数.将计数的脉冲个数减10000,即得到对应的模拟量.图1给出了ICL7135时序,由图可见,当BUSY变高时开始正向积分,反向积分到零时BUSY变低,所以BUSY可以用于控制计数器的启动/停止.引脚图:2.74LS47芯片原理:74LS47译码器原理译码器原理(74LS47)译码器的逻辑功能是将每个输入的二进制代码译成对应的输出的高、低电平信号。

数字电压表课程设计

数字电压表课程设计

数字电压表课程设计数字电压表课程设计1. 实验目的本实验旨在通过设计数字电压表来深入了解数字电路和模拟电路的知识,掌握数字电路和模拟电路的基本原理和应用方法,提高学生的电路设计和实验能力。

2. 实验原理数字电压表由模拟电路和数字电路两部分组成,主要包括输入电路、放大电路、A/D转换电路、数码显示电路等。

输入电路将待测电压转换为标准信号,放大电路将输入信号放大到A/D转换器的输入范围,A/D转换电路将模拟信号转换为数字信号,数码显示电路将数字信号以数字形式输出。

3. 实验器材与元器件数字电压表原理图、万用表、示波器、集成电路LM741、ADC0804、CD4511、CD4028等元器件。

4. 实验步骤4.1 利用示波器测量待测电压的幅值和频率,确定输入电路的设计参数,例如输入阻抗和滤波电路;4.2 设计和组装输入电路和放大电路,使信号经过放大后达到A/D转换器的输入范围,同时保证信号的质量;4.3 设计和组装A/D转换电路,将模拟电压转换为数字信号,选用合适的时钟信号,控制转换速率和精度;4.4 设计和组装数码显示电路,将数字信号以数字形式输出,控制显示的位数和精度,同时保证显示输出的稳定性和可靠性;4.5 对数字电压表原理图进行仿真和调试,确定输入电压范围、显示分辨率和精度等性能指标;4.6 进行实验验证,利用标准电源或者基准电位器进行校准和调试,测试各项性能指标。

5. 实验结果与分析经过仿真和实验测试,本实验设计的数字电压表能够实现较高的精度和稳定性,满足一般电路实验的需要。

整个实验过程中,学生需要学习并掌握数字电路和模拟电路的基础知识,设计和组装电路实验,仿真测试和实验测试等重要环节,从而提高学生的实践操作能力和创新精神。

基于TLV2542的双通道数字电压表的程序设计

基于TLV2542的双通道数字电压表的程序设计

基于TLV2542的双通道数字电压表程序设计简介:基于TLV2542的双通道数字电压表采用AVR单片机ATMEGA16作为主控芯片,数模转换采用TI公司生产的带自动掉电的、低功耗、12位、双通道串行模/数转换器TLV2542,采集后的电压值在带字库的字符型液晶12864上显示。

编程采用AVR Studio4+WinAVR构成的GCC编译环境。

系统源程序及其注释如下所示:/*AVR单片机ATMEGA16在GCC下编程,*//*完成tlv2542双通道ADC的编程,*//*并将ADC采样的值送12864显示*/#define F_CPU 2000000UL#include <avr/io.h>#include <util/delay.h>#include <math.h>#include <avr/interrupt.h>#define nop() asm("NOP")/*液晶显示引脚定义*//*对rs引脚进行定义与设置*/#define rs_out DDRD|=_BV(PD5)#define rs_in DDRD&=~_BV(PD5)#define rs_1 PORTD|=_BV(PD5)#define rs_0 PORTD&=~_BV(PD5)/*对rw引脚进行定义与设置*/#define rw_out DDRD|=_BV(PD6)#define rw_in DDRD&=~_BV(PD6) #define rw_1 PORTD|=_BV(PD6) #define rw_0 PORTD&=~_BV(PD6) /*对使能en引脚进行定义与设置*/ #define en_out DDRD|=_BV(PD7)#define en_in DDRD&=~_BV(PD7) #define en_1 PORTD|=_BV(PD7) #define en_0 PORTD&=~_BV(PD7) #define busy_1 DDRB|=_BV(PB7)#define busy_0 DDRB&=~_BV(PB7)/*TLV2542引脚定义*//*片选引脚CS*/#define CS PA1#define cs_1 PORTA|=_BV(CS);#define cs_0 PORTA&=~_BV(CS);/*数据引脚SDO*/#define SDO PA0#define sdo_out DDRA|=_BV(SDO)#define sdo_in DDRA&=~_BV(SDO)#define sdo_1 PORTA|=_BV(SDO)#define sdo_o PORTA&=~_BV(SDO)#define sdo_read (PINA&_BV(SDO))/*始终引脚SCLK*/#define SCLK PA2#define sclk_1 PORTA|=_BV(SCLK)#define sclk_0 PORTA&=~_BV(SCLK)const unsigned char tabn[]={"0123456789abcdef"}; const unsigned char tab[]={"电压值:"};/*检查引脚是否忙*/void checkbusy(){rs_0;rw_1;en_1;_delay_us(200);busy_0;while((PINB&0x80)==1);en_0;busy_1;}/*写命令*/void write_com(unsigned char cmd) {checkbusy();rs_0;rw_0;en_1;_delay_us(1);PORTB=cmd;_delay_us(2);en_0;}/*写数据*/void write_date(unsigned char dat){checkbusy();rs_1;rw_0;en_1;_delay_us(2);PORTB=dat;_delay_us(2);en_0;}/*液晶初始化*/ void init_lcd(){DDRB=0xff;PORTB=0xff;DDRD=0xff;PORTB=0xff;write_com(0x30);_delay_us(2);write_com(0x0c);_delay_us(2);write_com(0x01);_delay_us(2);write_com(0x06);_delay_us(2);}/*向lcd写入一个字符串*/void write_string(const unsigned char *s){while(*s>0){write_date(*s);s++;_delay_us(1);}_delay_ms(3);}/*向lcd某个地址写入一个字符串*/void write_addstr(unsigned char add,const unsigned char *s) {write_com(add);while(*s>0){write_date(*s);s++;_delay_us(1);}}/*TLV2542转换子函数*/unsigned int tlv2542_tran(unsigned char channel) //返回为电压,输入为通道选择{unsigned char n,ch;unsigned char h_byte,l_byte; //定义接受高八位和低八位unsigned int volt; //定义返回电压值double temp; // 定义中间变量if(channel==1) // 通道为1ch=12; // 有十二个SCLKelsech=4; // 通道为0 ,有四个SCLKcs_0; // CS复位sclk_0;for(n=0;n<ch;n++) //复位与通道选择{sclk_1; //1sclk_0;}cs_1; //关闭了CSsclk_1; //CS拉高之后,需要一个下降沿转变,切记!!!sclk_0;cs_0; //开始上一次数据的采集for(n=0;n<16;n++) //给16个SCLK,不采集上一次的数据{sclk_1;sclk_0;}nop();nop(); //给一定的转换时间nop();nop();cs_1; //关闭了CSsclk_1;sclk_0;cs_0; //开始数据的采集,CS拉低,h_byte=0; //高八位清零for(n=0x80;n!=0;n>>=1) //读取高八位数据{sclk_1;sclk_0; //下降沿if(sdo_read)h_byte|=n; //分别读取最高位到最低位}l_byte=0; //低八位清零for(n=0x80;n!=0;n>>=1)//读取低八位{sclk_1;sclk_0; //下降沿if(sdo_read)l_byte|=n; //分别读取最高位到最低位}nop();nop(); //给一定的转换时间nop();nop();cs_1; //CS拉高sclk_1; //CS拉高好给一个下降沿转变,切记!!!1sclk_0;temp=(h_byte*16+l_byte/16); //取高八位和低八位的高四位volt=(int)((temp*500.0)/4095); //得出电压值,本测试所用基准电压为5Vreturn volt; //返回电压值}/*在12864指定行显示电压值函数*/void display_volt(unsigned char addr,unsigned int volt) //显示电压值{unsigned char i,l,m;i=(volt/100)%10; //伏l=(volt/10)%10; //0.1伏m=volt%10; //0.01伏write_addstr(addr,tab);_delay_ms(10);write_com(addr+4);write_date(tabn[i]);write_date('.');write_date(tabn[l]);write_date(tabn[m]);write_date('V');_delay_ms(10);}/*主函数*/int main(){DDRA=0xfe; //初始化I0口PORTA=0xff;init_lcd(); //初始化LCD_delay_ms(1);while(1){display_volt(0x80,tlv2542_tran(0)); //显示通道0的电压值display_volt(0x90,tlv2542_tran(1)); //显示通道1的电压值_delay_ms(200); //延时200ms }}。

双通道电压表程序设计说明

双通道电压表程序设计说明

双通道电压表案例程序设计说明1程序设计流程图2相关寄存器设置1)P0(8位)和P2.3需要设置成推挽输出,以驱动电路正常发光。

按键作为输入,不需推挽,涉及寄存器及配置值如下:P0M1=0x00;P0M0=0xff;P2M1=0x00;P2M0=0x08;2)采用定时器1,在定时器中断中进行AD的初始化,涉及寄存器(含可位寻址)及配置如下:TMOD=0x10;IE=0xa8;TH1=(65535-40000)/256;TL1=(65535-40000)%256;TR1=1; //启动定时器3)对于P1_0通过AD采集,涉及寄存器及配置如下:P1ASF=0xff;ADC_RES=0;ADC_RESL=0;//AD转换结果寄存器清0ADC_CONTR=0X88; //10001000,后三位决定P1^3作为A/D输入CLK_DIV=0X20;4)对于P1_1通过AD采集,涉及寄存器及配置如下:P1ASF=0xff;ADC_RES=0;ADC_RESL=0;//AD转换结果寄存器清0ADC_CONTR=0X89;//10001001,后三位决定P1^1作为A/D输入CLK_DIV=0X20;3程序设计框架3.1void main()调用U0_U1()。

3.2void U0_U1()(1)设置P0为推挽模式,设置P2^3为推挽模式,其它为准双向口模式(2)选通数码管(3)开定时器中断和AD中断(4)设定时器1初值并开启定时器1中断(5)无条件循环调用SEG_Display()。

3.3void SEG_Display()(1)电压范围0~5V;(2)保留两位小数,因此有个位、十分位、百分位;3.4void Timer1_Routine() interrupt 3定时器1中断处理程序:(1)判断当前flag标志,如果是1,则调用InitADC_U1()初始化P1_1相应寄存器;否则调用InitADC_U1()初始化P1_1相应寄存器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1 引言.......................................................... -2 - 2设计原理及要求................................................ - 2 -2.1数字电压表的实现原理..................................... - 2 -2.2数字电压表的设计要求..................................... - 2 - 3软件仿真电路设计................................. 错误!未定义书签。

3.1设计思路.................................... 错误!未定义书签。

3.3设计过程.................................... 错误!未定义书签。

3.4 AT89C51的功能介绍....................................... - 3 -3.4.1简单概述........................................... - 3 -3.4.2主要功能特性....................................... - 3 -3.4.3 AT89C51的引脚介绍................................. - 3 -3.5 ADC0808的引脚及功能介绍................................. - 5 -3.5.1芯片概述........................................... - 5 -3.5.2 引脚简介........................................... - 5 -3.5.3 ADC0808的转换原理................................. - 6 -3.6 74LS373芯片的引脚及功能................................. - 6 -3.6.1芯片概述........................................... - 6 -3.6.2引脚介绍........................................... - 6 -3.7 LED数码管的控制显示..................................... - 7 -3.7.1 LED数码管的模型................................... - 7 -3.7.2 LED数码管的接口简介............................... - 7 - 4系统软件程序的设计............................... 错误!未定义书签。

4.1 主程序................................................. - 15 -4.2 A/D转换子程序.......................................... - 16 -4.3 中断显示程序............................... 错误!未定义书签。

5电压表的调试及性能分析........................... 错误!未定义书签。

5.1 调试与测试................................. 错误!未定义书签。

5.2 性能分析............................................... - 17 - 6电路仿真图....................................... 错误!未定义书签。

7总结......................................................... - 14 - 参考文献........................................... 错误!未定义书签。

1 引言随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

数字电压表(DigitalV oltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力理。

本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808本文介绍一种基于A/D转换电路,测量范围直流0~5V 的4路输入电压值,并在四位LED数码管上显示或单路选择显示。

测量最小分辨率为0.019V,测量误差约为正负0.02V。

2设计原理及要求本设计是利用单片机AT89C51与ADC0808设计一个数字电压表,测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。

2.1数字电压表的实现原理ADC0808是8位的A/D转换器。

当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。

ADC0808具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。

如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8 路输入电压进行测量。

LED 数码管显示采用软件译码动态显示。

通过按键选择可对8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数。

2.2数字电压表的设计要求可以测量0~5V范围内的3路直流电压值。

在4位LED数码管上轮流显示各路电压值或单路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V~5.00V,1位LED数码管显示路数,3路分别为0-2。

要求测量的最小分辨率为0.02V。

3.4 AT89C51的功能介绍3.4.1简单概述AT89C51是一种带4K 字节闪存可编程可擦除只读存储器(FPEROM —Flash Programmable and Erasable Read Only Memory )的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C51是一种带2K 字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图3-2所示。

图3-2 AT89C51芯片模型3.4.2主要功能特性(1) 4K 字节可编程闪烁存储器。

(2) 32个双向I/O 口;128×8位内部RAM 。

(3) 2个16位可编程定时/计数器中断, 时钟频率0-24MHz 。

(4) 可编程串行通道。

(5) 5个中断源。

(6) 2个读写中断口线。

(7) 低功耗的闲置和掉电模式。

(8) 片内振荡器和时钟电路。

3.4.3 AT89C51的引脚介绍89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。

(1)电源引脚电源引脚接入单片机的工作电源。

Vcc(40引脚):+5V 电源。

GND(20引脚):接地。

XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.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/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51(2)时钟引脚XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。

XTAL2(20引脚):片内振荡器反相放大器的输出端。

图3-3 电源接入方式(3)复位RST(9引脚)在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

(4)EA/Vpp(31引脚)EA为外部程序存储器访问允许控制端。

当它为高电平时,单片机读片内程序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。

当它为低电平时,只限定在外部程序存储器,地址为0000H~FFFFH。

Vpp为该引脚的第二功能,为编程电压输入端。

(5)ALE/PROG(30引脚)ALE为低八位地址锁存允许信号。

在系统扩展时,ALE的负跳沿江P0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。

PROG为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端。

(6)PSEN(29引脚)片外程序存储器的读选通信号。

在单片机读片外程序存储器时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。

(7) pin39-pin32为P0.0-P0.7输入输出脚,称为P0口。

P0是一个8位漏极开路型双向I/O口。

内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。

通常在使用时外接上拉电阻,用来驱动多个数码管。

在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。

(8)Pin1-Pin8为P1.0-P1.7输入输出脚,称为P1口,是一个带内部上拉电阻的8位双向I/0口。

P1口能驱动4个LSTTL负载。

(9)Pin21-Pin28为P2.0-P2.7输入输出脚,称为P2口。

相关文档
最新文档