基于51单片机-PCF8591数字电压表课程设计

课程名称:微机原理课程设计

题目:数字电压表

ﻬ摘要

单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。

其中我们用于学习用的最多的是STC89C52单片机,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但也做了很多改进使得芯片具有传统51单片机不具备的功能。STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EE PROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,全双工串行口。

本设计就是以单片机STC89C52为核心,附以外围电路,实现数字电压表的功能,并运用软件Proteus进行仿真来得到实验结果。

关键词:STC89C52单片机、仿真、中断、数字电压表、数码管显示

ﻬ目录

一、任务要求ﻩ错误!未定义书签。

1.1 设计任务ﻩ错误!未定义书签。

1.2设计要求ﻩ错误!未定义书签。

1.3发挥部分 ...................................................................................... 错误!未定义书签。

1.4 创新部分 ........................................................................................... 错误!未定义书签。

二、方案总体设计与论证ﻩ4

三、硬件设计ﻩ5

3.1 单片机晶振部分................................................................................ 错误!未定义书签。

3.2 单片机复位部分................................................................................ 错误!未定义书签。

3.3电源模块部分ﻩ错误!未定义书签。

3.4 A/D转换部分ﻩ错误!未定义书签。

3.5数码管显示部分ﻩ错误!未定义书签。

3.6 单片机STC89C52 (9)

四、软件设计 (11)

4.1 程序设计总方案 (11)

4.2 系统子程序设计ﻩ错误!未定义书签。

4.3 A/D转换子程序ﻩ错误!未定义书签。

4.4 中断 ................................................................................................. 错误!未定义书签。

五、系统仿真与调试 .................................................................... 错误!未定义书签。

六、设计总结与心得体会 ............................................................ 错误!未定义书签。

6.1设计总结 ......................................................................................... 错误!未定义书签。

6.2心得体会 ......................................................................................... 错误!未定义书签。

七、参考文献ﻩ错误!未定义书签。

ﻬ一、任务要求

1.1设计任务

使用所学的单片机以及编程的知识,利用PCF8591A/D转换芯片把电阻转换为电压并使用四位数码管显示出来。

1.2设计要求

利用所学的软硬件知识,使用KEIL uVision4软件编写能够实现数字电压表功能的程序。使用软件将数字电压表的硬件电路的模拟电路在70mm*90mmPCB板模板上绘制出来,然后根据lochmaster30软件所绘制的模拟电路在70mm*90mmPCB板上焊接出来。检查电路焊接完好后把编写好的程序下载到单片机内验证编写的程序,观察数字电压表的显示情况是否与实验要求相符。

1.3发挥部分

使用PCF8591A/D转换芯片通过电阻的调节改变电压并在数码管上显示出来,并且使用一个LED实时的把电压的大小体现出来,电压变高LED就变亮,电压变低LED就变暗。1.4 创新部分

本实验需求测量0-5V电压,发挥创新,将测量电压的大小增大,设置成可调挡的形式。可测量5V、10V、20V电压等。由于时间关系,程序只写了测量5V电压的,稍后会更新程序。本实验采用的是四路检测问做法,尽可能发挥了它的功能。

二、方案总体设计与论证

本次步进电机控制实验以单片机为主体,P0口接上拉电阻驱动数码管的段码,P2口连接数码管的位码,P2口的高四位从低到高分别控制第一、二、三、四个数码管亮或者灭。P1.0口和P1.1口分别接PCF8591芯片的SCL和SDA引脚。SCL和SDA引脚分别为I2C 总线的时钟线、数据线。AIN0口接蓝白卧式可调电阻,当可调电阻滑动时,电阻的变化引起电压的变化,经过PCF8591芯片的实时转换,通过单片机处理实时的在数码管上显示出来。同时也能够通过外接在芯片的AOUT口的LED体现电压的大小。AOUT口为芯片的D/A转换输出端。外加复位和晶振电路等组成的最小系统。EA引脚接高电平。

进行本实验之初具有两套方案:

方案一:使用附加发光二极管的亮与暗来体现电压的大小。此方法拥有体现电压大小的效果更明确的优势。但是硬件电路会复杂一点。

方案二:不使用附加发光二极管的亮与暗来体现电压的大小。此方法具有硬件电路简单的优势,节约了成本。但是体现效果不明显。

经过衡量,觉得附加LED体现会使电压大小的体现效果更加明了。所以选择方案一。使用数码管显示附加LED来体现不电压的大小。

设计变化框图如图1所示:

图1 变化框图

设计系统功能图如图2所示:

图2系统功能图

总体方案工作原理:STC89C52是集成40个I/O口的单片机,拥有12MHZ的晶振周期,电路拥有可控复位电路。PCF8591芯片可实现模拟量与数字量的变化。移动滑动变阻器,电压的变化模拟量通过PCF8591芯片转换为数字量输送到单片机中,通过单片机处理,并在数码管上显示出来。

三、硬件设计

3.1单片机晶振部分

如图3所示,为单片机的晶振电路部分。其中C1、C2为22pF的电容,它是振荡回路交联电容,如果没这两个电容的话,振荡部分会因为没有回路而停振。电路就不能正常工作。Y1就是12MHZ的晶振。

一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,晶振结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的。可以说晶振就是单片机的心脏,为单片机工作提供动力。

图3单片机晶振电路部分

3.2单片机复位部分

如图4所示,为单片机的复位电路部分。复位电路,就是利用它把电路恢复到起始状态。当电源低于单片机正常工作电压,影响单片机工作;程序跑飞,时钟失步等情况下需要使单片机复位。

该复位电路为按键复位,按键复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源VCC之间接一个按钮。当人为按下按钮时,则VCC的+5V电平就会直接加到RST端。按键复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

图4单片机复位电路部分

3.3电源模块部分

如图5所示,为单片机的电源模块部分。电源模块包括一个四脚直排针(P0),一个蓝白自锁开关(S5),一个1K限流电阻(R2)和一个发光二极管(L0)。电源模块能够为电路提供电源。

图5 电源模块部分

3.4 A/D转换部分

如图6所示,为A/D转换部分。其中R3为蓝白卧式电位器,调节电阻可使VO输入芯片的电压发生变化R4为LED的限流电阻,L1为电压大小体现的发光二极管。

图6A/D转换部分

PCF8591是一个单片集成、单独供电、低功耗、8-bitCMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。

PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit 数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。

如图7为PCF8591内部结构图:

如图7为PCF8591内部结构图

如图8为PCF8591引脚图:

如图8为PCF8591引脚图

AIN0~AIN3:模拟信号输入端。A0~A3:引脚地址端。VDD、VSS:电源端。SDA、SCL:I2C总线的数据线、时钟线。OSC:外部时钟输入端,内部时钟输出端。EXT:内部、外部时钟选择线,使用内部时钟时EXT接地。AGND:模拟信号地。AOUT:D/A转换输出端。VREF:基准电源端。

3.5 数码管显示部分

数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管;

按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公

共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。本实验用的是四位八段共阴数码管。图9为共阴极数码管电路结构。

图9共阴数码管电路结构

如图10所示,为本实验的数码管显示部分。

图10数码管显示部分

如图11所示,为四位共阴数码管的引脚图。

图11四位共阴数码管引脚图

如图11所示,其中A1,A2,A3,A4分别是数码管从左到右的位选,dp为共地端,在使用时,共阴极数码管应该将它接地。其中,a,b,c,d,e,f,g,dp对应的段选分别为如图12对应段选。

图12 数码管的段选

数码管要显示数字就需要通过PO口输入高低电平控制每个LED灯的亮灭,公共端接地线P0口接1K的上拉电阻。由于并未用到小数点显示,所以DP引脚悬空。

如表1所示为数码管显示数字的实现:

显示字型dp,g,f,e,d,c,b,a 字符码

00 0 11 1 1 1 1 0x3f

1 0 0 0 0 011 0 0x06

2 010 1 101 1 0x5b

3 01 0 0 11 1 1 0x4f

4 0 1 100 110 0x66

5 0 1 1 0 1 10 1 0x6d

6 01 1 1 11 0 1 0x7d

7 0 0 00 0111 0x07

8 0 1 1111 1 1 0x7f

9 0 1 1 01 1 1 10x6f

表1 数码管的显示

3.6单片机STC89C52

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但也做了很多改进使得芯片具有传统51单片机不具备的功能。STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,全双工串行口。如图13所示为STC89C52的引脚图。

图13 单片机STC89C52

以下为STC89C52的管脚说明:

1)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。

2)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。

3)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TT L门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

4)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC89C52的一些特殊功能口:P3.0RXD(串行输入口);P3.1 TXD(串行输出口);P3.2/INT0(外部中断0);P3.3 /INT1(外部中断1);P3.4T0(记时器0外部输入);P3.5T1(记时器1外部输入);P3.6/WR(外部数据存储器写选通);P3.7/RD(外部数据存储器读选通);P3口同时为闪烁编程和编程校验接收一些控制信号。

5)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

6)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

7)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

8)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

9)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

10)XTAL2:来自反向振荡器的输出。

振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

ﻬ四、软件设计

数字电压表程序编写是通过时下最流行的KEILuVision4一体化集成编程软件完成,在KEIL环境下编写程序并生成二进制文件。软件流程图如图4所示。根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序。

4.1程序设计总方案

程序流程图是人们对解决程序问题的方法,思路或者算法的一种描述。

流程图的优点是:采用简单规范的符号,画法简单。结构清晰,逻辑性强。便与描述,容易理解。

程序流程图画法不可随意,一旦随意就会使程序结构杂乱无章,这样的程序令人难以理解和接受,并且容易出错。因此程序必须遵守三个结构:顺序结构,选择结构,循环结构。在流程图中,不同的图形代表着不同的含义。

图14为本程序设计总方案:

图14 程序设计总方案

4.2 系统子程序设计

初始化程序,所谓初始化,是对将要用到的STC89C52单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等

4.3 A/D转换子程序

A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图15所示。

图15 转换流程图

4.4中断

中断是CPU对系统发生的某个事件作出的一种反应。引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点成为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分成为软件处理程序。

大体上可以把中断全过程分为5个阶段:中断请求、中断判优、中断响应、中断处理和中断返回。

单片机有五个中断源:外部中断0(INT0);定时器T0中断;外部中断1(INT1);定时器T1中断,串行口中断。

ﻬ五、系统仿真与调试

本次设计的仿真软件为PROTEUS。首先在PROTEUS文件下创建步进电机电路原理图。根据设计需求打开器件模型库,在MCU库查找AT89C52模型,在电机类库中查找步进

电机模型,在模拟IC库查找电机驱动器PCF8591模型,依次在相应器件模型子库中查找单片机的外围复位电路、晶振电路等的常用器件模型;然后将软件左侧的器件拾取框将相应器件拖入原理图工作区,基于单片机控制的数字电压表原理图如图16所示。

图16单片机数字电压表原理图

电路接通后,数码管显示最初始电压数值,由于电位器置于最高位,所以数码管显示最大电压5V。

如图17是电路接通后通道1电压显示的状态图:

图17 通道1电压显示状态图

如图18是第二路电压显示:

图18 通道2电压显示状态图如图19是第三路电压显示:

图19通道3电压显示状态图如图20是第四路电压显示:

图20 通道4电压显示状态图

以下为焊接实物图。如图21为PCB实物图的正反面图:

图21PCB板的正(左)反(右)面图

六、设计总结与心得体会

6.1 设计总结

经过将近十天的制作过程,终于完成了这次设计所要实现的功能。旋转电位器数码管能够实现电压的变化。

6.2心得体会

经过这次的制作后感觉还是软件编程是相当的重要。能够使用软件解决的问题绝不用硬件解决。程序开始只能显示0-0.255,不能显示0-5。一直检查不出来,最后经过老师的指点,是数据的类型弄错了,最后经过修改程序就没有问题了。在硬件的问题上基本没有错误。

ﻬ七、参考文献

[1] 杨居义、杨晓琴、王益斌.单片机课程设计指导[M].出版社:清华大学出版社;出版年:2009.

[2] 李朝青.单片机原理及接口技术[M].出版社:北京航空航天大学出版社.第3版;出版年:2006.

基于51单片机的数字电压表仿真设计(有参考文献)

基于51单片机的数字电压表仿真设计 一、引言 随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。数字电压表是采用数字化测量技术设计的电压表。数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。而单片机也越来越广泛的应用与家用电器领域、办公自动化领域、商业营销领域、工业自动化领域、智能仪表与集成智能传感器传统的控制电路、汽车电子与航空航天电子系统。 单片机是现代计算机技术、电子技术的新兴领域。本文采用ADC0808对输入模拟信号进行转换,控制核心C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。Proteus软件是一种电路分析和实物模拟仿真软件。它运行于Windows 操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。 二、数字电压表概述 1、数字电压表的发展与应用 电压表指固定安装在电力、电信、电子设备面板上使用的仪表,用来测量交、直流电路中的电压。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,并且传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不能超过该量程。目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量领域,并且由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。 2、本次设计数字电压表的组成部分

基于51单片机-PCF8591数字电压表课程设计

课程名称:微机原理课程设计 题目:数字电压表 ﻬ摘要 单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。 其中我们用于学习用的最多的是STC89C52单片机,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但也做了很多改进使得芯片具有传统51单片机不具备的功能。STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EE PROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,全双工串行口。 本设计就是以单片机STC89C52为核心,附以外围电路,实现数字电压表的功能,并运用软件Proteus进行仿真来得到实验结果。 关键词:STC89C52单片机、仿真、中断、数字电压表、数码管显示 ﻬ目录

一、任务要求ﻩ错误!未定义书签。 1.1 设计任务ﻩ错误!未定义书签。 1.2设计要求ﻩ错误!未定义书签。 1.3发挥部分 ...................................................................................... 错误!未定义书签。 1.4 创新部分 ........................................................................................... 错误!未定义书签。 二、方案总体设计与论证ﻩ4 三、硬件设计ﻩ5 3.1 单片机晶振部分................................................................................ 错误!未定义书签。 3.2 单片机复位部分................................................................................ 错误!未定义书签。 3.3电源模块部分ﻩ错误!未定义书签。 3.4 A/D转换部分ﻩ错误!未定义书签。 3.5数码管显示部分ﻩ错误!未定义书签。 3.6 单片机STC89C52 (9) 四、软件设计 (11) 4.1 程序设计总方案 (11) 4.2 系统子程序设计ﻩ错误!未定义书签。 4.3 A/D转换子程序ﻩ错误!未定义书签。 4.4 中断 ................................................................................................. 错误!未定义书签。 五、系统仿真与调试 .................................................................... 错误!未定义书签。 六、设计总结与心得体会 ............................................................ 错误!未定义书签。 6.1设计总结 ......................................................................................... 错误!未定义书签。 6.2心得体会 ......................................................................................... 错误!未定义书签。 七、参考文献ﻩ错误!未定义书签。 ﻬ一、任务要求 1.1设计任务 使用所学的单片机以及编程的知识,利用PCF8591A/D转换芯片把电阻转换为电压并使用四位数码管显示出来。

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

目录 目录 1 课程设计 (1) 1.1课程设计目的1.1.1熟悉51单片机功能 (1) 1.1.2提高编程,排错,仪器设备知识 (1) 1.1.3熟悉元件工作原理 (1) 1.2 设计要求 (1) 1.2.1显示 (1) 1.2.2编程 (1) 1.2.3仿真 (1) 2 主要元件介绍 (1) 2.1模数转换芯片ADC0808 (1) 2.1.1简介 (2) 2.1.2引脚功能 (2) 2.2控制芯片AT89C51 (3) 2.2.1概述 (3) 2.2.2管脚说明 (4) 2.3LED数码管 (6) 3 电压表原理系统硬件电路设计与实现 (6) 3.1系统设计原理说明 (6) 3.2系统功能阐述 (7) 4 课程设计心得 (7) 参考文献: (8) 附录 (9) 附录1整体程序 (9) 附录2系统电路图 (12)

1 课程设计 1.1 课程设计目的 1.1.1 熟悉51单片机功能 熟悉51单片机的功能,积累一定的单片机开发经验。 1.1.2 提高编程,排错,仪器设备知识 锻炼和提高在软件编程、排错调试、相关仪器设备的使用技能等方面的知识。 1.1.3 熟悉元件工作原理 熟悉数字电压表和A/D转换器,液晶显示屏的工作原理。 1.1.4加深知识 进一步加深对电子电路、电子元器件、印制电路板等方面知识的认识,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。 1.2 设计要求 1.2.1显示 可以测量0-5V范围内的输入电压值1.2.2将采集到的电压值显示在4位数码管上。 1.2.2编程 采用汇编或C语言编程; 1.2.3仿真 采用Proteus、KeilC等软件实现系统的仿真调试 2 主要元件介绍 2.1 模数转换芯片ADC0808

基于51单片机数字电压表

基于51单片机的数字电压表 作品简介 本制作是基于51单片机的简易数字电压表。 1、制作背景 对于学电子的同学,电压表是必不可少的仪表。但是市场上的万用表的价格都不低,而且市场上的万用表量程过宽,大量程对于学电子的同学并不经常用到。而这款数字电压表,既能满足大学生一些基本项目中的要求,而且成本比较低廉。 2、实现的功能 测量5V以内的正电压(精度为0.02V)。 3、工作原理 通过8位A/D转换器ADC0804采样模拟电压,经过芯片内部转换,将转换出来的8位数字信号送至单片机进行处理,经过运算后输出。 调试与制作 1、系统整体结构 本系统主要包括数据采集电路,单片机最小数据处理系统,和数码管显示部分等。系统的电路图如下: 2、硬件设计 本电路采用模块化设计,主要由A/D转换模块、控制模块和LED显示模块组成(如图2.1)。

系统总体硬件框图 3、 软件设计 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU ,其汇编语言可能有所差异,所以不易移植。 C 语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。而C 语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C 语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C 语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C 语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C 语言进行程序设计已成为软件开发的一个主流。所以,本软件设计采用C 语言编写。 4、 安装与调试 在设计这款电压表时,我们先做了Proteus 仿真,其中就遇到一些问题。由于仿真都是基于一些比较理想化的元器件的仿真。我们按照实际电路来设计仿真电路,结果发现有的元器件没找到,然后找了类似的代替。而我们知道,单片机的拉电流能力是很弱的,只有微安的数量级,而数码管要显示比较明显的话,需要几十毫安,所以需要放大电流,我们采用的是NPN 型的8050三极管放大(我们采用的是共阴数码管),把电流放大到几十毫安。而在Proteus 仿真时,发现,不需要三极管放大就可以点亮数码管。而刚开始,我们按照实际电路图的时候却发现我们 控制不了四个数码管。由于采用三极管放大接地,所有的数码管均是全部点亮,外 部 电 压

51单片机的数字电压表设计

51单片机的数字电压表设计 随着科技的快速发展,单片机在许多领域得到了广泛应用。51单片机作为一种常见的单片机,具有功能强大、易于编程等优点,因此在数字电压表设计中具有独特优势。本文将介绍如何利用51单片机设计数字电压表。 数字电压表的电源电路通常采用直流电源,可以通过变压器将交流电转换为直流电,再经过滤波和稳压电路,将电压稳定在单片机所需的电压范围内。 数字电压表的信号采集电路可以采用电阻分压的方式,将待测电压分压后送入单片机进行测量。为了提高测量精度,可以采用差分放大器对信号进行放大和差分输出。 51单片机内置ADC模块,可以将模拟信号转换为数字信号。在数字电压表中,可以使用ADC模块对放大后的模拟信号进行转换,得到数字信号后进行处理和显示。 数字电压表的显示电路可以采用液晶显示屏或LED数码管,将测量结果以数字形式显示出来。液晶显示屏具有显示清晰、亮度高、视角广等优点,但价格较高;LED数码管价格便宜、亮度高、寿命长,但显

示内容有限。 数字电压表的主程序主要完成电压的采集、A/D转换和显示等功能。主程序首先进行系统初始化,包括设置ADC模块参数、初始化显示等;然后不断循环采集电压信号,将采集到的模拟信号转换为数字信号后进行处理和显示。 51单片机的ADC模块可以通过特殊功能寄存器进行配置和控制。在数字电压表的软件设计中,需要编写ADC模块驱动程序,以控制ADC 模块完成模拟信号到数字信号的转换。具体实现可以参考51单片机的ADC模块寄存器定义和操作指南。 数字电压表的显示程序需要根据显示硬件选择合适的显示库或驱动 程序。在编写显示程序时,需要将采集到的数字信号转换为合适的数值,并将其显示在显示屏上。具体实现可以参考所选显示库或驱动程序的文档说明。 精度问题:数字电压表的精度直接影响到测量结果的质量。为了提高测量精度,可以采用高精度的ADC模块和合适的信号处理技术。同时,需要注意信号采集电路中电阻的精度和稳定性。 抗干扰问题:在实际应用中,往往存在各种干扰因素,如电源波动、

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

扬州市职业大学 毕业设计(论文) 设计(论文)题目:基于51单片机 的数字电压表设计 系别:电子系1 专业:通信技术1 班级:07通信3班1 姓名:1 学号:0706020305 1 指导教师:李金奎 完成时间:10年5月

基于51单片机的数字电压表设计 摘要:数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。数字电压表自从一九五二年问世以来,随着电子技术的飞跃发展,特别是目前,作为测量仪表、模拟指示仪表的数字化以及自动测量的系统,而得到了很大的发展。数字电压表是从电位差计的自动化这种想法研制出来的,因此即便是最初的数字电压表,其精度也要比模拟式仪表高,而其成本比电位差计也高。以后,DVM的发展就着眼在高精度和低成本两个方面。单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。本电路主要采用AT89S51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的0~5 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示。该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片AT89S51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。

关键词:单片机数字电压表AT89S51 A/D转换ADC0809 目录 第1章产品要求及方案选择 (4) 1.1设计的目的 (4) 1.2产品的要求 (4) 1.3各模块方案选择及论证 (4) 第2章主要原件介绍 (6) 2.1模数转换芯片ADC0809 (6) 2.2控制芯片AT89S51 (7) 2.3锁存芯片SN74LS373 (9) 2.4 SEG-MPXE数码管 (10) 第3章电压表原理系统硬件电路设计与实现 (11) 3.1电压表的原理 (11) 3.2 电源部分 (11) 3.3 A/D转换电路 (11)

基于单片机的简易数字电压表的设计(1)(DOC)

目录 1.引言 (1) 2.设计的总体方案 (2) 2.1 设计要求 (2) 2.2 设计思路 (2) 2.3 设计方案 (2) 3.硬件设计方案 (3) 3.1 A/D转换模块 (3) 3.1.1 逐次逼近型A/D转化器原理 (3) 3.1.2 PCF8591主要特性 (3) 3.1.3 PCF8591的外部引脚特性 (4) 3.1.4 PCF8591的内部结构及工作流程 (5) 3.2 单片机系统 (7) 3.2.1 STC90C51性能 (7) 3.2.2 STC90C51各引脚功能 (7) 3.3 复位电路和时钟电路 (9) 3.3.1 复位电路的设计 (9) 3.3.2 时钟电路的设计 (9) 3.4 LED显示电路的设计 (10) 3.4.1 LED基本结构 (10)

3.4.2 LED显示器的选择 (11) 3.4.3 LED译码方式 (11) 3.4.4 LED显示器与单片机接口技术 (12) 3.5 总体电路的设计 (13) 4.程序设计 (15) 4.1 程序设计总方案 (15) 4.2 系统子程序设计 (15) 4.2.1 初始化程序 (15) 4.2.2 A/D转换子程序 (15) 4.2.3 显示子程序 (16) 5.仿真 (17) 5.1 软件调试 (17) 5.2 显示结果及误差分析 (17) 5.2.1 显示结果 (17) 5.2.2 误差分析 (19) 结论 (20) 参考文献 (21) 设计程序 (22)

1 引言 数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本课程设计介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理. 2 设计总体方案 2.1设计要求 (1)以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。 ⑵能够测量0-20V之间的直流电压值。 ⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。 ⑷尽量使用较少的元器件。 2.2 设计思路

毕业设计论文基于51单片机数字电压表的设计

毕业设计(论文)-基于51单片机数字电压表的设计

基于51单片机数字电压表的设计 目录 一、系统总体方案选择与说明 (1) 1.1设计要求 (1) 1.2 设计思路 (1) 1.3 设计方案 (1) 二、硬件电路设计 (2) 2.1 AT89C51的功能介绍 (2) 2.1.1简单概述 (2) 2.1.2主要功能特性 (3) 2.1.3 AT89C51的引脚介绍 (3) 2.2 ADC0808的引脚及功能介绍 (5) 2.2.1芯片概述 (5) ADC0808芯片模型 (5) 2.2.2 引脚简介 (5) 2.2.3 ADC0808的转换原理 (6) 2.2.4 ADC0808的内部结构 (6) 2.2.5 ADC0808电路接线图 (6) 2.3 显示电路 (7) 2.3.1 LM016L的结构及功能 (7) 2.3.2 LM016L的引脚功能介绍 (7) 2.3.3 LM016L的电路接线图 (10) 2.4 复位电路设计 (10) 2.5振荡电路设计 (11) 三、软件设计与说明 (10) 四、系统仿真与调试 (12) 五、总结 (13) 参考文献 (14) 附录 (15) 附录A 系统原理图 (15) 附录B 程序清单 (16)

一、系统总体方案选择与说明 1.1设计要求 (1)使用51单片机,AD0809,数码管等元件组成 (2)能测量0-5V的直流电压 (3)能连续、稳定显示所测电压 (4)测量误差<0.02V) 1.2 设计思路 ⑴根据设计要求,选择AT89C51单片机为核心控制器件。 ⑵A/D转换采用ADC0808实现。 ⑶电压显示采用LCD显示。 1.3 设计方案 数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。 时钟复位 A/D转测量电 显示 AT89C5 1 P2

基于51单片机的数字电压表课程设计报告书

信息与电气工程学院 电子应用系统CDIO一级项目 设计说明书 (2011/2012学年第二学期) 题目:___ _数字电压表__________ 专业班级:电子信息0902班 学生:文盛 学号: 090070213 指导教师:贾少锐、晓东、马永强 丽宏、贾东立、会军 设计周数: 设计成绩: 2012年6月28日

1、CDIO设计目的 本次CDIO设计题目是: 利用所学的51单片机,C语言,数字电路等知识,设计一个符合要求的数字电压表。主控芯片可以是AT89C51,而采集电压的模拟量转换成数字量的芯片可以是ADC0804,也可以是PCF8591。而显示模块可以是数码管,也可以是液晶LCD1602,从而展示给我们所得的电压值。 2、CDIO设计正文 2.1 数字电压表系统设计框图 本次数字电压表系统设计框图如图 1所示: 图1 数字电压表设计框图 数字电压表主要由模/数转换电路、单片机控制电路、显示电路等三部分组成。其中PCF8591等器件组成的转换电路,将输入的模拟量信号进行取样、转换、然后将转换的数字信号送进单片机。单片机控制电路主要实现对数据进行程序处理;显示电路主要用于将单片机的信号数据转换后显示测量结果。 模拟信号产生模块:输入电源电路(变压器、整流电路、滤波电路、稳压电路组成)和分压电路(9万欧姆和1万欧姆的电阻分压)。 模数转换模块组成部分:PCF8591芯片 程序处理的单片机控制模块:AT89C51芯片 电压结果显示部分:LCD1602液晶 2.2 各模块介绍 2.2.1 AT89C51芯片介绍 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双

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

数字电压表的设计目录 绪论 (1) 第1章系统总体方案选择与说明 (1) 1.1 项目分析及其设计 (1) 1.1.1 通道转换方案设计 (1) 1.1.2 显示部分方案设计 (1) 第2章系统总体结构与系统功能 (2) 2.1 系统结构框图 (2) 2.2 系统功能 (2) 第3章硬件设计说明及计算方法 (2) 3.1 单片机的选择及时钟电路 (2) 3.2 驱动模块 (3) 3.3 LED显示电路设计与器件选择 (4) 3.4 A/D转换模块及转化电路设计 (6) 第4章软件设计与说明 (7) 4.1 数字电压表系统软件设计方案确定 (7) 4.2 数字电压表应用程序设计 (9) 第5章调试结果及其说明 (9) 5.1 调试结果及其说明 (9) 参考文献 (10) 附录A 系统原理图 (11) 附录B 系统源程序 (12)

绪论 本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D 转换采用ADC0809。系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。简易数字电压测量电路由A/D 转换、数据处理、显示控制等组成。 关键词: 单片机AT89C52 A/D转换ADC0808 数据处理 课程设计要求:利用八位A/D转换器实现分辨率位八位二进制数的电压表,测量结果用四位数码管显示。 第一章系统总体方案与选择 实现数字电压表的方案很多,目前广泛采用的时基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。 1.1 项目分析及其设计 方案设计此设计包含两个模块,通道转换和显示部分方案。 1.1.1通道转换方案设计 方案一:考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。 方案二:利用手动开关实现通道转换。该方案可简化控制程序,消减系统开销。缩短反应时间,不足之处在于操作麻烦。 综上所述:方案二所需元件少、成本低且易于实现,则选此方案。 1.1.2显示部分方案设计 方案一:单片机的P0、P2口分别接74LS248和ULN2003A芯片来驱动四位数码管 方案二:直接用单片机的P1、P2口驱动数码管,此处把ADC0808的输出端接P1口,因为P1口能够驱动数码管。 综上所述,两个方案都可行,但方案二所需元件少、成本低,则选择此方案。

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

. I 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系列单片机包含以下几个部

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

基于单片机的数字电压表设计 一、背景介绍 随着科技的发展,越来越多的人开始关注电压表。电压表是一种测量电压的仪器,它可以根据检测到的电压值显示出相应的数字。传统的电压表使用指针或指示灯来显示电压值,但这种方式会有很多限制,例如不能显示小于1V的电压值,对于高精度的测量也不能满足要求。为了解决上述问题,本文提出了一种基于单片机的数字电压表设计方案。 二、基于单片机的数字电压表设计原理 基于单片机的数字电压表设计采用单片机ADC(模数转换)模块来检测电压值,将检测到的电压值转换成数字值,然后通过LCD(液晶显示器)来显示。 该设计中需要使用一个模拟信号处理电路,它包括一个放大器、一个滤波器和一个参考电压电路。放大器可以增加信号的幅值,以便更好地检测信号的电压值;滤波器可以削弱外部电磁干扰,以便更好地检测电压值;参考电压电路可以把外部电压转换为0-5V之间的电压,以便更好地检测电压值。 三、设计方案 1.单片机:AT89S52

2.ADC模块:AD7905 3.放大器:LM358 4.滤波器:LPF(低通滤波器) 5.参考电压电路:LM317 6.LCD显示器:12864 四、设计步骤 1. 利用LM358放大器和LPF滤波器对测量的电压值进行放大和滤波处理,以获得更精准的数据。 2. 利用LM317参考电压电路将放大后的电压值转换为0-5V的电压,以便更好地检测电压值。 3. 将转换后的电压值送入AD7905 ADC模块,将检测到的电压值转换成数字值。 4. 将转换后的数字值送入AT89S52单片机,并通过12864 LCD显示器将检测到的电压值显示出来。 五、总结 本文提出了一种基于单片机的数字电压表设计方案,主要采用单片机ADC模块来检测电压值,并将检测到的电压值转换为数字值,然后通过LCD显示器显示出来。该设计方案可以满足各种电压测量要求,具有良好的精度和可靠性。

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

基于单片机的数字电压表设计 数字电压表在电子技术中使用非常广泛,可以用来测量电路中的直流电压、交流电压以及各种信号的幅度等等。基于单片机的数字电压表实现了数字电压的读取和显示,具有精确、稳定、易操作等特点,下面将介绍基于单片机的数字电压表的设计原理及实现方法。 一、系统结构 基于单片机的数字电压表主要是由程序控制模块、模数转换模块和数字显示模块组成。程序控制模块主要用来完成开机、校准、测试、功能选择等功能;模数转换模块主要将电压信号转换成数字量,供数字显示模块使用;数字显示模块主要将转换后的数字量显示在LCD液晶屏上。 二、硬件设计 1.电源电路 电源电路主要用来为电路提供稳定的电压和电流,本电路采用稳压电源芯片LM7805实现,稳压芯片输入端连接外部 DC12V/1A电源,输出端连接电路板上的整个电路。 2.输入电路 输入电路主要用来将被测电源的电压传递给单片机,常规情况下采用分压电路实现。在本电路中,电阻R1和电容C1为RC

滤波电路,起到滤波作用,防止干扰信号的影响;电阻R2是分压电路中的电阻,它根据电压值的不同设置不同的值,以保证被测电压在单片机内部转换过程中不会对单片机产生影响。 3.单片机模块 单片机模块是系统的核心部分,本电路中选用 STM32F103C8T6单片机实现模数转换和数码管控制,使用C 语言编写程序,通过模拟输入端口读取电压并进行模数转换,将得到的数字使用查表法将其转换为数码管控制脉冲,控制数码管的亮灭实现数字显示。 4.数字显示模块 数字显示模块主要由七段数码管、LCD液晶屏幕、导线和电容等器组成,七段数码管用于展示测量到的电压大小,LCD 液晶屏用于展示功能选项、单位等信息。导线是电路板内部连接线路,电容等器用来平滑电压波动。 三、软件设计 1.引脚定义 在程序中首先定义STM32F103C8T6单片机内存地址、输入输出引脚和电平状态,其中A0口用来读取被测电压;B0-B7口用来控制七段数码管的亮灭;C0口用来输出PWM,控制风扇的旋转速度;D0口用来控制蜂鸣器的开启和关闭。

基于单片机的可调电源设计

基于单片机的可调电源设计 系部:信息与控制工程学院 专业:计算机科学与技术 学号:11520208 姓名:孙帅 教师:付春秀

课程设计任务书 一、设计题目:单片机的可调电源设计 二、设计目的 1.掌握STC89C52协同的设计方法; 2.掌握单片机的编程方法; 3.熟练利用KELL软件进行软件仿真编程及程序下载的方法; 4.掌握可调电源设计、AD转换电路的原理及方法,显示电路和AC到DC硬件电路 的设计方法。 三、设计任务及要求 设计可调电源,通过单片机可以知道电源的电压值。可调电源具有以下基本功能: 1.具有实时显示电源值; 2.要求误差在5%之内; 四、设计时间及进度安排 五、指导教师评语及学生成绩

目录 1.前言 2.设计任务及要求 2.1设计目的 2.2设计任务 2.3设计要求 3.系统硬件介绍 3.1单片机STC89C52简介 3.2稳压调节模块 3.3串口通信模块 3.4数模转换模块 3.5液晶显示模块 4.系统软件介绍 4.1Autium Designer 09软件介绍 4.2Autium Designer 09界面及功能简述 4.3KELL软件的使用 4.4 5.软件编程及调试 5.1软件设计 5.2主程序流程

1. 前言 单片机又称垫片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,概括的将:一块芯片集成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机自20世纪70年代以来,一极其高的性价比受到人们的重视和关注,所以应用很广发展很快。单片机的体积小、重量轻、抗干扰能力强,对环境要求不高,加个人低廉,可靠性高,灵活性好,开发较为容易。例如:80C51系列单片机已有十多年的生命期,如今扔保持者上升的趋势,就充分证明了这一点。单片机一起一系列优点,近几年得到迅猛发展和打规范推广,广泛应用于工业控制系统,数据采集系统,智能化仪器仪表,及通讯设备、日常消费类产品等,并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制,自动化系统等。而美国公司ATMEL公司开发活生产了新型的8位单片机AT89系列单片机,它不但有一般MCS—51单片机的所有特性,而且还拥有一些独特的有点,此次设计中所用到的89C52单片机就是其中的一种。 单片机内部也有和电脑功能类似的模块,比如CPU、内存、并行总线,还有和硬盘作用相同的存储器件,用它来做一些类似控制电路的不负杂电路。我们现在用的全自动滚轮洗衣机,排烟罩VCD等家电里可以看到它的身影。单片机是靠程序实现功能的,并且可以修改,通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能。

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

基于单片机的数字电压表设计 在当今的电子世界中,电压表是一种必不可少的测量工具。随着技术的进步,数字电压表因其精度高、易于读取、稳定性好等优点逐渐取代了传统的模拟电压表。本文将探讨如何基于单片机设计数字电压表。 一、硬件设计 1、1传感器模块 传感器模块是数字电压表的重要组成部分,负责将输入的模拟电压转化为可被单片机处理的数字信号。通常,我们使用ADC(模数转换器)来实现这一功能。ADC的精度直接决定了电压表的测量精度。 1、2单片机模块 单片机是数字电压表的“大脑”,负责控制整个系统的运行。我们选择具有较高性能和可靠性的单片机,如Arduino、STM32等。这些单 片机都具有丰富的外设接口,便于实现复杂的控制逻辑。 1、3显示模块 显示模块负责将单片机的处理结果呈现给用户。常用的显示模块包括LED数码管、LCD液晶屏等。选择适合的显示模块,可以大大提升电

压表的易用性。 二、软件设计 2、1数据采集与处理 软件首先通过ADC从传感器模块读取模拟电压,然后对其进行处理,得到实际的电压值。这一步的关键在于选择合适的ADC算法和设置合适的参考电压。 2、2数据输出与存储 处理后的电压值需要被输出并存储起来。通常,我们使用LCD液晶屏将电压值实时显示出来,同时也可以通过串口将数据传输到计算机或云端进行存储和分析。 三、精度与稳定性优化 3、1硬件校准 为了提高电压表的测量精度,我们可以在生产过程中对每一块电压表进行硬件校准。通过调整ADC的参考电压或者在软件中进行校准算法的优化,可以有效提高电压表的测量精度。

3、2软件滤波 在实际应用中,由于各种噪声和干扰的存在,电压表的读数可能会出现波动。我们可以通过软件滤波算法,如平均滤波、卡尔曼滤波等,来减小这些干扰对测量结果的影响。 四、应用与扩展 基于单片机的数字电压表不仅可以在实验室或工业现场使用,还可以扩展出更多的应用场景。例如,通过加入无线通信模块,我们可以实现远程监控;通过加入更多的传感器,我们可以实现多通道的电压测量;通过与计算机或云端进行数据交互,我们可以实现大数据分析和预测。 总结:基于单片机的数字电压表设计是一种典型的嵌入式系统应用,它涵盖了模拟电子技术、数字电子技术、微控制器技术等多方面的知识。通过对其硬件和软件的设计,我们可以实现一个精度高、稳定性好、易用的数字电压表,满足各种不同的应用需求。 基于单片机的数字电压表设计 在当今的电子世界中,电压表是一种必不可少的测量工具。随着技术的进步,数字电压表因其精度高、易于读取、稳定性好等优点逐渐取

基于51单片机的电压表的设计

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

基于PCF8591数字电压表设计

学生姓名: 学生学号: 系别: 专业: 指导教师: 电气信息工程学院制 2013年6月 第1章课程设计的总体方案1.1 课程设计的目的 1.了解A/D芯片PCF8591转换性能及其编程方法。 2.掌握A/D转换器与单片机的接口方法 3.学会使用A/D转换器进行电压信号采集 1.2课程设计的要求 1.利用A/D芯片PCF8591及1602液晶显示屏组成。 2.采用4路模拟量输入。

3.尽量使用较少的元器件。 1.3课程设计的思路 1.根据设计要求,选择AT89C51单片机为核心控制器件。 2.A/D转换采用PCF8591实现,利用PCF8591将模拟电压转换为数字量。 3.经单片机将数字量转换成对应电压值,电压显示采用4位一体的LED数码管。 1.4 课程设计的方案 硬件电路设计由6个部分组成。A/D转换电路,A T89C51单片机系统,LCD显示系统、时钟电路、复位电路以及测量电压输入电路。硬件电路设计框图如图1所示。 图1 数字电压表系统硬件设计框图 第2章系统方案硬件设计 2.1 系统方案的提出 根据4路模拟量输入设计的需要,为单片机和A/D转换器提供以下设计方案。 2.1.1 单片机方案 AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k字节Flash可擦写存储器(PEROM)。AT89C51器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,AT89C51的片内Flash允许程序存储器通过传统编程器反复编程。由于芯片内集成了通用8位中央处理器和Flash存储单元,功能强大的微处理器ATMEL AT89C51可为许多嵌入式控制应用系统提供高度灵活、高性价比的解决方案。

基于PCF8591设计的数字电压表

学习情境1-数字电压表的设计 之基于PCF8591设计的数字电压表 ☆点名,复习 1、ADC0832的引脚及其功能,以及与单片机的硬件连接? 2、ADC0808的引脚及其功能,以及与单片机的硬件连接? 引言:PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同一个I²C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I²C总线以串 行的方式进行传输。 ☆新课讲授 3.3 基于PCF8591设计的数字电压表 3.3.1 PCF8591简介 PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I²C总线的最大速率决定。 1、主要技术指标和特性 ∙单独供电 ∙PCF8591的操作电压范围2.5V-6V ∙低待机电流 ∙通过I2C总线串行输入/输出 ∙PCF8591通过3个硬件地址引脚寻址 ∙PCF8591的采样率由I2C总线速率决定 ∙4个模拟输入可编程为单端型或差分输入 ∙自动增量频道选择 ∙PCF8591的模拟电压范围从V ss到V DD ∙PCF8591内置跟踪保持电路 ∙8-bit逐次逼近A/D转换器 ∙通过1路模拟输出实现DAC增益 2、PCF8591引脚功能图3-3-1 PCF8591引脚图 AIN0~AIN3:模拟信号输入端。 A0~A3:引脚地址端。 VDD、VSS:电源端。(2.5~6V) SDA、SCL:I2C 总线的数据线、时钟线。 OSC:外部时钟输入端,内部时钟输出端。 EXT:内部、外部时钟选择线,使用内部时钟时 EXT 接地。 AGND:模拟信号地。 AOUT:D/A 转换输出端。 VREF:基准电源端。 3、PCF8591内部结构图

相关文档
最新文档