单片机数字电压表设计LED显示含C源代码

单片机数字电压表设计LED显示含C源代码
单片机数字电压表设计LED显示含C源代码

1. 绪论 (2)

1.1 课程设计要求 (2)

1.2 数字电压表介绍 (2)

2. 硬件单元电路设计 (2)

2.1数字电压表结构框图 (2)

2.1.1 AT89C51单片机简介 (3)

2.1.2 ADC0832转换器简介 (4)

2.1.3 时钟电路 (5)

2.1.4 复位电路 (5)

2.1.5 LED显示电路 (6)

3. 软件单元电路设计 (6)

3.1 主程序流程图 (6)

3.2显示子程序流程图 (7)

3.3 A/D转换子程序流程图 (8)

3.4 数据处理子程序流程图 (8)

4. 数字电压表仿真设计图与实物图 (9)

4.1 仿真图 (9)

4.2 器件清单 (9)

4.3 硬件电路实物图 (10)

5. 程序代码 (11)

6. 项目设计总计 (18)

7. 参考文献 (18)

1.绪论

1.1 课程设计要求

使用单片机AT89C51和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。

1.2 数字电压表介绍

数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。

2.硬件单元电路设计

2.1数字电压表结构框图

结构如(图1)所示

2.1.1 AT89C51单片机简介

AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k

Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用。51单

片机内包含以下几个部件:

1) 8位微处理器(CPU)。

2) 数据存储器(128B RAM)。

3) 程序存储器(ROM/EPROM)。

4) 4个8位可编程并行I/O口(P0口,P1口,P2口,P3口)。

5) 1个全双工的异步串行口。

6) 2个16定时器/计数器。

7) 中断系统。

8) 特殊功能寄存器(SFR)。

单片机片内结构如(图2)所示:

图2

2.1.2 ADC0832转换器简介

ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。芯片如下(图3)所示:

图3

芯片接口说明如下:

CS_ 片选使能,低电平芯片使能。

CH0 模拟输入通道0,或作为IN+/-使用。

CH1 模拟输入通道1,或作为IN+/-使用。

GND 芯片参考0 电位(地)。

DI 数据信号输入,选择通道控制。

DO 数据信号输出,转换数据输出。

CLK 芯片时钟输入。

Vcc/REF 电源输入及参考电压输入(复用)。

工作原理如下:

正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能。当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正

输入端IN+进行输入。到第3 个脉冲的下沉之后DI 端的输入电平就失去输入作用,此后DO/DI 端则开始利用数据输出DO 进行转换数据的读取。从第4个脉冲下沉开始由DO 端输出转换数据最高位DATA7,随后每一个脉冲下沉DO 端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATD0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D 转换的结束。最后将CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。

2.1.3 时钟电路

XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz ,时钟频率就为6MHz 。晶振的频率可以在1MHz-24MHz 内选择。电容取30PF 左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路如下(图4)所示:

2.1.4 复位电路

由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST 脚将会出现高电平,并且,这个高电平持续的时间由电路的RC 值来决定.典型的51单片机当RST 脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC 的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R 取8.2K.当然也有其他取法的,原则就是要让RC 组合可以在RST 脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍.复位电路如下(图5)所示。

4

2.1.5 LED显示电路

本项目所用显示屏为4位LED显示屏。本LED显示器为8段(DP为小数点段),每一段为一个发光二极管。发光二极管有共阳极和共阴极两种。本显示器的发光二极管为共阳极数码管。发光二极管的阳极连接在一起,通常在此共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。通过给LED显示器提供不同的代码,是这些不同的LED显示器相应的段发光显示不同的字型,这些代码称为段码。

3.软件单元电路设计

3.1 主程序流程图

主程序流程图如下(图6)所示:

图6

3.2显示子程序流程图

显示子程序流程图如下(图7)所示:

7

3.3 A/D 转换子程序流程图

A/D 转换子程序流程图如下(图8)所示:

3.4 数据处理子程序流程图

数据处理子程序流程图,如下(图9)所示:

图8

图9

4. 数字电压表仿真设计图与实物图 4.1 仿真图

如下(图10)所示:

4.2 器件清单

如下(表2)所示

图10

表2

4.3 硬件电路实物图

电路实物图如下(图11)所示:

电路实物图如下(图12)所示:

11 图

12

5. 程序代码

#include

#include

/*********************************端口定义**********************************/

sbit CS = P3^5;

sbit Clk = P3^3;

sbit DATI = P3^4;

sbit DATO = P3^4;

sbit P20=P2^4 ;

/*******************************定义全局变量********************************/

unsigned char dat = 0x00; //AD值

unsigned char count = 0x00; //定时器计数

unsigned char CH; //通道变量

unsigned char dis[] = {0x00, 0x00,0x00}; //显示数值

/*******************************共阳LED段码表*******************************/

unsigned char code tab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};

char code tablewe[]={ 0xfd,0xfb,0xf7,0xef,0xdf,0xfe };

/**************************************************************** ************

函数功能:AD转换子程序

入口参数:CH

出口参数:dat

***************************************************************** ***********/

unsigned char adc0832(unsigned char CH)

{

unsigned char i,test,adval;

adval = 0x00;

test = 0x00;

Clk = 0; //初始化

DATI = 1;

_nop_();

CS = 0;

_nop_();

Clk = 1;

_nop_();

if ( CH == 0x00 ) //通道选择 {

Clk = 0;

DATI = 1; //通道0的第一位 _nop_();

Clk = 1;

_nop_();

Clk = 0;

DATI = 0; //通道0的第二位 _nop_();

Clk = 1;

_nop_();

}

else

{

Clk = 0;

DATI = 1; //通道1的第一位

_nop_();

Clk = 1;

_nop_();

Clk = 0;

DATI = 1; //通道1的第二位

_nop_();

Clk = 1;

_nop_();

}

Clk = 0;

DATI = 1;

for( i = 0;i < 8;i++ ) //读取前8位的值

{

_nop_();

adval <<= 1;

Clk = 1;

_nop_();

Clk = 0;

if (DATO)

adval |= 0x01;

else

adval |= 0x00;

}

for (i = 0; i < 8; i++) //读取后8位的值 {

test >>= 1;

if (DATO)

test |= 0x80;

else

test |= 0x00;

_nop_();

Clk = 1;

_nop_();

Clk = 0;

}

if (adval == test) //比较前8位与后8位的值,如果不相同舍去。若一直出现显示为零,请将该行去掉

dat = test;

nop_();

CS = 1; //释放ADC0832

DATO = 1;

Clk = 1;

return dat;

}

/**************************************************************** ************

函数功能:延时子程序

入口参数:

出口参数:

***************************************************************** ***********/

void delay(void)

{

int k;

for(k=10;k<500;k++);

}

/**************************************************************** ************

函数功能:将0-255级换算成0.00-5.00的电压数值

入口参数:i

出口参数:

***************************************************************** ***********/

void convdata(unsigned char i)

{

dis[0] = i/51; //个位

dis[1] = (i%51)*10/51; //小数点后第一位

dis[2] = ((i%51)*10%51)*10/51; //小数点后第二位

}

/**************************************************************** ************

函数功能:数码管显示子程序

入口参数:

出口参数:

***************************************************************** ***********/

void display(void)

{

P2=0xff;

P0=tab[dis[0]]& 0xfe; //显示个位和小数点11111110 delay();

P2=0xdf; //11011111

delay();

P2=0xff;

P0=tab[dis[1]]; //显示小数点后第一位

delay();

P2=0xbf; //10111111

delay();

P2=0xff;

P0=tab[dis[2]]; //显示小数点后第二位

delay();

P2=0x7f; //01111111

delay();

P2=0xff;

P0=0xff; //显示小数点后第二位

delay();

P2=0xef; //11101111

delay();

}

/**************************************************************** ************

函数功能:主程序

入口参数:

出口参数:

***************************************************************** ***********/

void main(void)

{

P2=0xff; //端口初始化

P0=0xff;

delay();//延时

CH = 0x00; //在这里选择通道 0x00或0x01

TMOD = 0x01; //设置中断

TH0=(65536-50000)/256;//定时器1初值定时50ms

TL0=(65536-50000)%256;

IE = 0x82;

TR0 = 1;

while(1) //主循环

{ dat = adc0832(CH);

convdata(dat); //数据转换

display(); //显示数值

}

}

/******************************************************************** ********

函数功能:定时器中断延时程序这一段的作用时隔一段时间抽样一次否侧显示的最后一位会不稳定

入口参数:

出口参数:

***************************************************************** ***********/

void timer0(void) interrupt 1

{

TMOD = 0x01;

TH0=(65536-50000)/256;//定时器1初值定时50ms

TL0=(65536-50000)%256;

IE = 0x82;

TR0 = 1;

count++;

if (count == 0x01)

{

count = 0x00;

dat = adc0832(CH);

}

}

6.项目设计总计

通过这次设计,使我深入了解了AT89C51单片机和ADC0832(A\D转换器)的结构和特点及数字电压表的工作原理,加深了对课本理论知识的理解,锻炼了实践动手能力,理论知识与实践设计相结合,培养了创新开发的思维。在此次课程设计中,收获知识的同时,我还收获了阅历。在此过程中,我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。

7.参考文献

[1] 陈朝元,鲁五一.Proteus软件在自动控制系统仿真中的应用[J].系统仿真学报, 2008(1):318-320.

[2] 毛谦敏.单片机原理及应用设计系统[M].北京:国防工业出版社,2008:22-26.

[3] 康华光.电子技术基础(数字部分) [M]. 5版. 北京:高等教育出版, 2005: 290-293.

单片机课程设计数字电压表

单片机课程设计 ——电压表的设计 学院:信息工程学院 专业:电子信息科学与技术 班级:2011150 学号:201115002 姓名:王冬冬 同组同学:凡俊兴 201115001

目录 1 引言 (1) 2设计原理及要求 (2) 2.1数字电压表的实现原理 (2) 2.2数字电压表的设计要求 (2) 3软件仿真电路设计 (2) 3.1设计思路 (2) 3.2仿真电路图 (3) 3.3设计过程 (3) 3.4 AT89C51的功能介绍 (4) 3.4.1简单概述 (4) 3.4.2主要功能特性 (5) 3.4.3 AT89C51的引脚介绍 (5) 3.5 ADC0809的引脚及功能介绍 (7) 3.5.1芯片概述 (7) 3.5.2 引脚简介 (8) 3.5.3 ADC0809的转换原理 (8) 3.6 74LS373芯片的引脚及功能 (8) 3.6.1芯片概述 (8) 3.6.2引脚介绍 (9) 3.7 LED数码管的控制显示 (9) 3.7.1 LED数码管的模型 (9)

LED数码管模型如图3-6所示。 (9) 3.7.2 LED数码管的接口简介 (9) 4系统软件程序的设计 (9) 4.1 主程序 (10) 4.2 A/D转换子程序 (11) 4.3 中断显示程序 (12) 5使用说明与调试结果 (13) 6总结 (13) 参考文献 (14) 附录1 源程序 (15) 附录2原理电路 (19)

1 引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。 目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号

基于单片机的数字电压表设计报告

单片机原理及系统课程设计 专业:电气工程及其自动化 班级: 姓名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2010 年 3 月 7 日

基于单片机的数字电压表设计 摘要

图3.2系统原理图4软件设计

5.系统调试及仿真结果 6.总结 两周的课程设计结束了,在这过程中,我学到了很多东西。首先,我学会了单片机设计的基本过程有哪些,每一过程有哪些基本的步骤,怎样通过查资料去完成这每一步。其次我巩固了上学期所学的一些单片机知识,从而加深了对ADC0809芯片的功能的了解。在编程过程中,遇到了许多困难,通过与同学之间的交流和咨询,最后解决了这些困难。所谓实践出真知,学到的东西只有运用到实践当中,才能真正体会到知识的力量。最后,通过这次课程设计,让我明白了想法和实践还是有差距的,当你真正去做一件事的时候,你会发现你的想法可能不适用,随时都需要调整,另外扎实的理论知识也是完成设计任何设计必不可少的要素,一切想法离开了理论知识都是空想。 参考文献 [1]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].电子工业出版社.2009:22-54. [2] 谭浩强.C程序设计(第三版)[M].清华大学出版社.2009:32-46. [3] 王思明,张金敏,张鑫等.单片机原理及应用系统设计(第一版)[M].科学出版社.2012:70-292.

附录A源程序代码#include #include #define uchar unsigned char sbit p21=P2^1; sbit p22=P2^2; sbit p23=P2^3; sbit EOC=P3^1; sbit OE=P3^0; sbit ST=P3^2; sbit p34=P3^4; sbit p35=P3^5; sbit p36=P3^6;

基于单片机控制的LED汉字显示

分类号 TP 单位代码 11395 密级公开学号 0605230 学生毕业设计(论文) 题目LED汉字显示 作者 院 (系) 能源工程学院 专业电气工程及自动化 指导教师 答辩日期2010年月日

毕业设计(论文)诚信责任书 本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。 论文作者签名: 年月日

LED汉字显示 摘要 目前,作为方便、快捷的信息显示方式,LED汉字显示的应用非常广泛。车站、银行、超市等大型公共场所的即时信息及广告的显示,无不应用LED汉字显示屏。在能源日渐危机以及信息日渐重要的今天,具有低耗能、频更新、易维护的LED汉字显示屏必将受到广泛的应用,其具有非常的发展前景。 本文从LED的发展及单片机的简单原理开始,深入的研究了基于AT89C51单片机16×16 LED汉字滚动显示屏的设计并运用Proteus软件的仿真和实现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus 软件仿真和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。 关键词:单片机 LED 点阵 Proteus仿真

51单片机简单数字电压表

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。

学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期: 单片机硬件实习任务书

基于51单片机的数字电压表设计说明

1.1数字电压表介绍 数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。 本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。其实也为建立节约成本的意识有些帮助。本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。 1.3 本次设计要求 本次设计的作品要求制作数字电压表的量程为0到10v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v,所以能够测量的电压围为-0.25v到5.25v之间,但是一般测量的直流电压围都在这之上,所以采用电阻分压网络,设计的电压测量围是0到25v之间,满足设计要求的最大量程5v的要求。同时设计的精度为小数点后三位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。

2单片机和AD相关知识 2.1 51单片机相关知识 51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。单片机是在一块芯片集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机包含以下几个部件: 一个8位CPU;一个片振荡器及时钟电路; 4KB的ROM程序存储器; 一个128B的RAM数据存储器; 寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路; 32条可编程的I/O口线; 两个16位定时/计数器; 一个可编程全双工串行口; 5个中断源、两个优先级嵌套中断结构。51系列单片机如下图: 图1 51单片机引脚图

单片机LED点阵显示方法与程序代码

单片机LED点阵显示方法与程序代码 点阵的接法有共阴和共阳两种(共阳指的是对每一行LED来讲是共阳)。 由于51单片机驱动能力有限,亮度不够,所以一般需要三极管驱动,下图为一个8X8点阵原理图,仅仅是仿真,如果需要接实物的话,加上三极管才足够亮。 显示的方法有两种: 1、逐列扫描方式。如下图所示,P1口输出列码决定哪一列能亮(相当于位码),P2口输出行码(列数据)决定列上哪些LED亮(相当于段码),能亮的列从左向右扫描完8列(相当于位码循环移位8次)即显示出一帧完整的图像。 2、逐行扫描方式,与逐列扫描调换,即P2口输出位码,P1口输出段码,扫描完8行显示出一帧图像。 以逐行扫描为例,从上图可以很明了的知道点阵的显示原理了(红色表示高电平,绿色表示低电平),当把扫描速度加快,人的视觉停留,看见的就是一幅图或一个字了,如下图所示。

一、行扫描静态显示, 用51单片机实现上图静态显示的程序如下: #include #define uchar unsigned char #define uint unsigned int uchar code TAB[]={0x81,0xFD,0xFD,0xC1,0xBF,0xBF,0xBD,0xC3}; uchar i,t; delay(uchar t) { while (t--) {;} } void main(void) { while(1) { P2=0x01; for(i=0;i<8;i++) { P1=TAB; delay(100); P2=P2<<1|P2>>7; } } } 二、行扫描翻页显示 字码取模方式为逐行 第一次从字码数组中取出第1~8个数据置于列上,行扫描顺序为1~8行,显示一帧,第二次取第9~16个数据,行扫描顺序仍为1~8行,显示第二帧,第三次取第17~24个数据,…… 实现图显示效果的程序如下:

基于单片机的数字电压表

基于单片机的数字电压表 摘要:本文介绍一种基于89S52单片机的一种电压测量电路,该电路采用ICL7135高精度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示,可以与PC机进行串行通信。正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,89S52的特点,ICL7135的功能和应用,LCD1601的功能和应用。该电路设计新颖、功能强大、可扩展性强。 关键词:电压测量,ICL7135,双积分A/D转换器,1601液晶模块 Abstract: The introduction of a cost-based 89S52 MCU a voltage measurement circuits, the circuits used ICL7135 high-precision, dual-scoring A/D conversion circuits, measuring scope DC 0-2000 volts, the use of LCD that can be carried out with a PC serial communications. The paper focuses on providing a software and hardware system components circuit, introduced double integral circuit theory, 89S52 features ICL7135 functions and applications, LCD1601 functions and applications. the circuit design innovative, powerful, can be expansionary strong. Key Words: Digital Voltmeter ICL7135 LCD1601 89S52 1前言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

基于单片机的数字电压表设计

引言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本论文重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

1 实训要求 (1)基本要求: ①实现8路直流电压检测 ②测量电压范围0-5V ③显示指定电压通道和电压值 ④用按键切换显示通道 (2)发挥要求 ①测量电压范围为0-25V ②循环显示8路电压 2 实训目的 (1)进一步熟悉和掌握单片机的结构和工作原理; (2)掌握单片机的借口技术及,ADC0809芯片的特性,控制方法; (3)通过这次实训设计,掌握以单片机为核心的电路设计的基本方法和技术;(4)通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。 3 实训意义 通过完成一个包括电路设计和程序开发的完整过程,使自身了解开发单片机应用系统的全过程,强化巩固所学知识,为以后的学习和工作打下基础。 4 总体实训方案 测量一个0——5V的直流电压,通过输入电路把信号送给AD0809,转换为数字信号再送至89s52单片机,通过其P1口经数码管显示出测量值。 4.1 结构框图 如图1—1所示 图1—1

基于51单片机的led点阵显示

项目名称:基于51单片机的LED点阵显示器 目录 一、项目介绍 (2) 1.1 项目背景 1.2 功能介绍 二、电路结构 (3) 三、实现模块 (5) 四、运行程序 (7) 一、项目介绍 1.1项目背景 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工

作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。 1.2功能介绍 2本次设计的用单片机控制的显示电路使用比较简单,操作方便。它主要是通过一个8×8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。在通电以后,显示屏全亮,随后进入逐字显示状态。按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。按键1、2、3、4分别控制不同的图案。另外,我们可以通k5键来控制字符移动速度的快慢。 二、电路结构 单片机最小系统设计 2.2.1 各部分具体电路 1 单片机的时钟电路 AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。

数字电压表单片机课程设计

《单片机技术及其应用》 课程设计报告 题目:数字电压表的设计 班级:11通信本2班 学号:1011028432 姓名:段苓苓 同组人员:钟梦为梅韶田赵赫宇周洋 指导教师:刘少敏薛莲 2014年06月26日

目录 1 引言 (1) 1.1 设计意义 (1) 1.2 系统功能要求 (1) 2 设计内容 (1) 2.1 设计思路 (1) 2.2 主要功能 (2) 3 方案论证 (2) 3.1 程序设计 (2) 3.2 电路设计原理 (3) 3.3 软件设计方案 (4) 3.4 硬件设计方案 (4) 4 单元电路设计 (5) 4.1 数码管显示器 (5) 4.2 单片机的晶振电路 (6) 4.3 显示模块 (7) 4.4 ADC0808模数转换芯片 (7) 4.5 复位电路 (8)

4.6 AT89C52单片机的引脚介绍 (9) 4.7 模拟输入电路 (10) 4.8 总电路设计 (10) 5 系统软件程序的设计 (11) 5.1 主程序 (11) 5.2 A/D转换子程序 (11) 5.3 显示子程序 (11) 6 调试及性能分析 (11) 6.1 调试方法及步骤 (11) 6.2 实物调试数据 (12) 6.3 误差分析 (13) 7 心得体会 (14) 8 指导老师意见 (15) 附录: (16)

数字电压表的设计 1 引言 1.1 设计意义 我们学习的是单片机这门课程,这门课程最显著的特点就是它是一门实用技术课程,它要求我们不仅仅要掌握扎实的理论基础,更重要的是要学会如何去真真利用它为我们的电路设计服务,也只有通过课程设计这样的动手实践才是我们掌握这门技术的最佳途径,因此,我们开设这样的实践是很重要的,也是我们努力去学习钻研的动力。 数字电压表是采用数字化检测技术,把连续的模拟量(直流输入电压)换成不连续的、离散的数字形式并加以现实的仪表,克服了传统模拟电压表的读书不方便和不精确等问题。不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强集成方便,还可以与PC进行实时通信。目前,由各种单片A/D转换器构成的数字电压表,已广泛应用于电子电工测量、工业自动化仪表、自动测试系统等智能化测量领域,展现了强大的生命力。与此同时,由数字电压表扩展而成的各种通用及专用数字化仪器,也把电量及非电量测量技术提高到了崭新的水平,因此,通过这次课程设计能让我们了解这些知识,为以后研究相关技术打下坚实的基础。 1.2 系统功能要求 采用51系列单片机和ADC设计一个数字电压表,测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示,要求显示两位小数。 2 设计内容 2.1 设计思路 (1)根据设计要求,选择AT89C51单片机为核心控制器件。 (2)A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。 (3)电压显示采用4位一体的LED数码管。 (4)LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。

基于单片机的数字电压表制作——(C语言)

基于单片机的数字电压表制作——ADC0832模数转换应用程序(C语言) 主要部件:AT89S51 ADC0832 八段数码管 关键字:ADC0832程序C语言数字电压表 本文所描述的数字电压表是利用ADC0832模数转换芯片完成的。该芯片能将0~5V的模拟电压量转换为0~255级的数字量,所以本文描述的数字电压表的量程为0~5V。 以下是程序部分: 该程序是本人自编的,经测试可用,但不保证程序的可靠性及稳定性。若有转载请标明出处。 如果有同学将本程序烧写到单片机里却不能正常工作的,请注意以下三点: 1、是否将端口重新定义。每个单片机开发板的引脚连接都是不一样的,若不加修改直接把程序烧写到单片机里,那是绝对不能正常工作的。 2、是否正确选择通道值。ADC0832有两个模拟输入端口(也就是我说的通道),你要先弄清楚你用的是那个通道,并在main函数中设置相应的通道值(以CH命名的那个变量)。本程序默认使用0通道,如果0通道不行就改成1通道,反正不是0通道就是1通道。 3、如果你做的电压表在保证电路连接正确且没有以上两点问题的情况下,还是不能正常工作,请将程

序中的“if (adval == test)”这一行删掉。其实这一点我个人也不清楚到底有没有问题。我有两个单片机开发板,其中一个必须要把那一行删掉才能工作。这说明ADC0832读出的前8位与后8位数值不一样(确切的说应该是后8位反转的数值),这有悖于ADC0832的原理。我不知道到底是硬件还是软件出了问题,特此把这种现象标明。若有哪位同学知道其原因的还请多多指教。 /***********************************************************************************/ /*简易数字电压表制作——ADC0832模数转换应用程序(C语言版)*/ /*目标器件:AT89S51 */ /*晶 振:12.000MHZ */ /*编译环境:Keil uVision2 V2.12 */ /***********************************************************************************/ /*********************************包含头文件********************************/ #include #include /*********************************端口定义**********************************/ sbit CS = P3^5; sbit Clk = P3^4; sbit DATI = P3^3; sbit DATO = P3^3; /*******************************定义全局变量********************************/ unsigned char dat = 0x00; //AD值 unsigned char count = 0x00; //定时器计数 unsigned char CH; //通道变量 unsigned char dis[] = {0x00, 0x00, 0x00}; //显示数值 /*******************************共阳LED段码表*******************************/

51单片机数字电压表实验报告

微控制器技术创新设计实验报告 姓名:学号:班级: 一、项目背景 使用单片机AT89C52和ADC0808设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为5V;显示精度0.001伏。 二、项目整体方案设计 ADC0808 是含8 位A/D 转换器、8 路多路开关,以及与微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。ADC0808的精度为1/2LSB。在AD 转换器内部有一个高阻抗斩波稳定比较器,一个带模拟开关树组的256 电阻分压器,以及一个逐次通近型寄存器。8 路的模拟开关的通断由地址锁存器和译码器控制,可以在8 个通道中任意访问一个单边的模拟信号。

三、硬件设计 四、软件设计 #include #include"intrins.h" #define uchar unsigned char #define uint unsigned int sbit OE = P2^7; sbit EOC=P2^6; sbit START=P2^5;

sbit CLK=P2^4; sbit CS0=P2^0; sbit CS1=P2^1; sbit CS2=P2^2; sbit CS3=P2^3; uint adval,volt; uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; void delayms(uint ms) { uchar j; while(ms --) { for(j=0;j<120;j++); } } void ADC_read() { START=0; START=1; START=0; while(EOC==0);

基于51单片机制作的数字电压表

基于51单片机数字电压表的设计 基于51单片机数字电压表的设计 摘要:本文介绍了基于STC89C52单片机为核心的,以AD0809数模转换芯片作为采样,以四位八段数码管作为显示的具有测量功能的具有一定精度的数字电压表。在实现基础功能的情况下,另外还可以扩展串行口通信,时钟,等其他一系列功能,使系统达到了良好的设计效果和要求。本课题主要解决A/D转换,数据处理及显示控制等三个模块。 关键词:STC89C52;数字电压表;模数转换;数字信号

Abstract:This paper introduces STC89C52 SCM as the core based on AD0809 analog-to-digital conversion chip, as sampled to four seven segment digital tube as display with certain with measuring function of digital voltmeter accuracy. The basic function in realizing circumstance, also can expand serial port communication, clock, and other series of function, make the system to achieve a good design effect and requirements.This subject mainly to solve AD, data processing and display control three modules. Key words: Digital voltmeter; Frequency-field; Digital signal 本设计在分析研究和总结了单片机技术的发展历史及趋势的基础上,以使用可靠,经济,精度高等设计原则为目标,设计出基于单片机的数字测量电压表。单片机有着微处理所具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。 单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可用软件控制来实现,并能够实现智能化。由于单片机具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此,现在单片机控制范畴无所不在,例如通信产品,家用电器,智能化仪器仪表,过程控制和专用控制装置等等,单片机的应用领域越来越广泛。 1 系统构成 该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片STC89C51来完成,其负责把ADC0809传送来的数字量,经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。显示模块主要由7段数码管显示测量到的电压值 系统构成框图 2 系统硬件设计 2.1 电源电路原理 由于本系统的主控芯片是单片机,所以应提供五伏的恒流源作为单片机的基准电压。主要原理是用变压器将220V交流电压进行变压,然后经过电桥整流,将交流电变为直流电源,经过稳压管稳压,得到稳定的5V电源供单片机使用。 电桥由整流二极管1N4007所搭建的电

基于单片机的数字电压表--开题报告

毕业设计(论文)开题报告 ——基于单片机的数字电压表设计与实现 引言 在传统的电工和电子测量中广泛使用的模拟测量仪表,虽然具有可直观看出表针偏转了多少格或满刻度的百分之几等优点,但需要对读数加以换算或说明, 尤其是不可避免地要带来人为的“视差”,不同的观察者会得到不同的结果。数字仪表则不同,它可以将测量结果直接用数字显示出来,读数准确,设计简单,可以随身携带,使用上更加方便快捷。 一、数字电压表的历史发展与选题意义 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。 1.1 数字电压表的历史发展 数字电压表自1952年问世以来,已有50多年的发展史,大致经历了五代产品。第一代产品是20世纪50年代问世的电子管数字电压表,第二代产品属于20世纪60年代出现的晶体管数字电压表,第三代产品为20世纪70年代研制的中、小规模集成电路的DVM。近年来,国内外相继推出由大规模集成电路(LSI)或超大规模集成电路(VLSI)构成的数字电压表、智能数字电压表,分别属于第四代、第五代产品。它们不仅开创了电子测量的先河,更以其高准确度、高可靠性、高分辨力、高性价比等优良特性而受到人们的青睐。 1.2选题意义 相对于传统的指针表而言,数字电压表有以下特点: 1.读数直观准确; 2.显示位数; 3.准确度高,分辨率高;

基于51单片机的led点阵显示

项目名称:基于51单片机的LED点阵显示器 目录 一、项目介绍 (2) 1.1 项目背景 1.2 功能介绍 二、电路结构 (3) 三、实现模块 (5) 四、运行程序 (7) 一、项目介绍 1.1项目背景 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示

的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。 1.2功能介绍 2本次设计的用单片机控制的显示电路使用比较简单,操作方便。它主要是通过一个8×8点阵来显示图案,通过不同的按键来选择控制图案的种类及显示方式。在通电以后,显示屏全亮,随后进入逐字显示状态。按下复位键K1,系统自动复位,显示diligent,随后进入待命状态。按键1、2、3、4分别控制不同的图案。另外,我们可以通k5键来控制字符移动速度的快慢。 二、电路结构 单片机最小系统设计 2.2.1 各部分具体电路 1 单片机的时钟电路 AT89C52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。AT89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 内部时钟方式:利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-1电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为6MHz的石英晶体,电容器一般选择30PF左右。

51单片机简单数字电压表

单片机硬件实习任务书

通信工程教研室指导教师:_

基于单片机的简易数字电压表的设计 目录 1 引言 (1) 2 设计总体方案 (2) 2.1设计要求 (2) 2.2 设计思路 (2) 2.3 设计方案 (2) 3 硬件电路设计 (3) 3.1 A/D转换模块 (3) 3.2 单片机系统 (6) 3.3 复位电路和时钟电路 (8) 3.4 LED显示系统设计 (8) 3.5 总体电路设计 (11) 4 程序设计 (13) 4.1 程序设计总方案 (13) 4.2 系统子程序设计 (13) 5 仿真 (15) 5.1 软件调试 (15) 5.2 显示结果及误差分析 (17) 结论 (20)

参考文献 (21) 附录程序代码和实物图 (24) 心得体会 ......................................................... 错误!未定义书签。

1引言 在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础[2]。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。 最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。 目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。 本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[11]。

基于单片机的数字电压表pcf8591..

XXXXXXX 学生实习(实训)总结报告 学院: XXXXXXXXXXXX专业班级: 测控 学生姓名: xxxxxxx 学号: 2014000000 设计地点(单位) I001 设计题目:单片机综合实训--基于单片机的电压表设计 完成日期:年月日 指导教师评语: 成绩(五级记分制): 指导教师(签字):

前言 本次单片机综合训练,我们做了一个基于单片机的数字电压表。在设计这个电压表之前,指导老师给我们讲解了设计要求和步骤。按照要求我们设计的数字电压表,通过A/D转换芯片实时采集输入端电压的变化,显示于数码管上。可通过按键选择输入通道。在芯片的选择上,单片机选用的是AT89C52芯片,A/D采样芯片片为PCF8591A/D转换芯片。这个数字电压表除了测量电压的功能,还可以设置报警,超过上下限自动报警。本次单片机综合训练,用到了单片机开发板、proteus软件等工具,运用了IIC总线、数码管显示等技术。经历了一个从设计到产品的过程,学到了很多,也收获了很多。

目录 前言....................................................................................................................................................... I 一、实训的目的和任务 (1) 1.1实训目的 (1) 1.2实训任务 (1) 二、设计总方案 (2) 三、系统硬件设计 (3) 3.1单片机最小系统 (3) 3.2 A/D转换部分 (5) 3.3数码管 (7) 3.4四位独立按键及声光报警 (8) 四、系统软件设计 (9) 4.1软件实现流程图 (9) 4.2 IIC总线在实训中的应用 (10) 4.3完整程序见附录3 (12) 五、调试及性能分析 (13) 5.1调试效果图 (13) 5.2性能分析 (13) 心得体会 (14) 致谢 (15) 参考文献 (16) 附录1 任务书 (17) 附录2 自画原理图 (18) 附录3 源程序: (19)

相关文档
最新文档