基于单片机的数字电流表的设计本科生毕业论文.docx
- 文档编号:10310693
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:46
- 大小:245.61KB
基于单片机的数字电流表的设计本科生毕业论文.docx
《基于单片机的数字电流表的设计本科生毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字电流表的设计本科生毕业论文.docx(46页珍藏版)》请在冰点文库上搜索。
基于单片机的数字电流表的设计本科生毕业论文
本科生毕业论文(设计)
题目:
基于单片机的数字电流表的设计
学院电子信息工程学院
学科门类工学
专业电子信息工程
学号
指导教师
2015年05月30日
摘要
随着时代的进步,电子科学技术的日益更新,传统电工电子测量仪器——模拟测量仪表即使可以直观地从刻度盘读出表针偏转了多少格或占了满刻度的百分之几等,也满足不了对测量数据的精确要求,那么就需要更高、更准精度的仪器来替代。
同时传统的模拟测量仪表在计算时需要对读数加以换算和说明,而且不同的观察者会带来不同的人为“视差”,即使同一个观察者处于不同的位置也可能会得到不同的结果和偏差。
然而,数字电流表就能够克服这些问题,它的测量结果直接以数字的形式在显示屏上显示出来。
数字电流表不仅具有读数准确,设计简单,随身携带的优点,而且操作方法简单,人们使用起来也非常方便,这些优点使数字电流表在近年来的电工电子的测量中应用更加广泛。
本文基于AT89C51单片机,论述数字电流表的工作原理及设计过程。
利用Protel软件设计、KeilC软件和Proteus仿真软件,根据所给数字电流表的技术指标和要求,确定电流表所需的元器件和最佳设计方案,这种方法简单易行,最终得到比较理想,符合设计要求的数字电流表。
关键词:
C51单片机;A/D转换器;数字电流表
Abstract
Withtheprogressoftime,increasinglyupdatingelectronicscienceandtechnology,traditionalelectricandelectronicmeasuringinstruments-analoguemeasurementinstruments,evenintuitivelyreadfromthedialhandsdeflectedthenumberofcellsoraccountedforafewpercentoffullscale,alsocannotmeettheexactrequirementsofthemeasureddata,thenyouneedhigherprecisionandmoreaccurateinstrumentinstead.Whiletraditionalanalogmeasuringinstrumentsneedtobeconvertedinthecalculationanddescriptionofthereadings,anddifferentobserverswillbringadifferentman,"parallax",evenifthesameobserverindifferentlocationsmaygetdifferentresultsanderror.However,thedigitalmeterwillbeabletoovercometheseproblems,itsmeasurementresultsindigitalformdirectlyonthescreenout.Digitalammeterreadingisnotonlyaccurate,simpledesign,theadvantagesofportable,andsimplemethodofoperation,itisalsoveryeasytouse,theseadvantagesmakedigitalammeterinelectricandelectronicmeasuringmorewidelyinrecentyears.
BasedonAT89C51microcontroller,digitalammeterdiscussedtheworkingprincipleanddesignprocess.UseProtelsoftwaredesign,KeilCsoftwareandProteussimulationsoftware,dependingonthedigitalammetertechnicalindicatorsandrequirements,determinetherequiredcomponentsandammeterbestdesign,thismethodissimple,andultimatelygettheideal,inlinewithDigitalammeterdesignrequirements.
Keywords:
C51microcontrollerdigitalammeter;A/Dconverter;digitalammeter
摘要I
AbstractII
目录III
1.引言1
1.1研究背景及意义1
1.2国外研究现状2
1.3本文主要容安排2
2.数字电流表的理论2
2.1数字电流表的工作原理2
2.2A/D转换器3
2.3AT89C51单片机5
2.4液晶显示器8
3.数字电流表的设计9
3.1方案论证9
3.2任务指标10
3.3整体电路图10
4.软件设计11
4.1软件设计的主程序流程图11
4.2编程语言介绍11
4.3Protel99SE软件的介绍12
5.系统调试及实物制作13
5.1硬件系统的调试13
5.2系统软件的调试13
5.3整体系统的调试14
5.4实际硬件制作结果14
6.总结与展望14
参考文献16
致17
附录18
1.引言
1.1研究背景及意义
数字电流表(Digitalammeter)简称AMP,它的测量原理是通过数字化测量技术,把输入的连续模拟量(直流输入电流)转换成不连续、离散的数字形式,然后通过液晶显示屏来显示的仪表。
过去传统的指针式电流表不仅功能单一,而且精确度低,无法满足现今数字化时代的需求,然而基于单片机的数字电流表,不仅具有精确度高、抗干扰能力强,可扩展性强、集成方便的特点,还可以与PC进行当前实时通信等信息的传输。
现今,基于各种型号单片机、A/D转换器等设计成的数字电流表,已经在电子电工测量、工业自动化仪表、自动检测系统等许多智能化测量领域起到了举足轻重的地位,得到了越来越多使用者的青睐,体现出数字电流表强大的生命力。
与此同时,各种基于AMP扩展而成的通用及专用数字化仪表仪器,也把电量和非电量测量的技术水平提高到更高的位置。
在进行课题设计之前,我们要学会如何在互联网和图书馆查找所需的资料,同时复习过去所学的课程知识并加深理解记忆,不仅为毕业设计打好良好基础,同时也为以后的工作做充分的准备。
通过对毕业设计题目的分析,了解数字电流表的组成特性和工作原理;学会如何使用数字电流表测量数据、调试、校准的方法;学会如何进行分流电路的连接设进和计算;学习了解过载电路保护的工作原理和功用。
最终,通过本课程设计,我们掌握电子设计的基本步骤和方法,培养自己分析问题、解决问题和处理问题的能力。
数字电流表和传统的指针式电流表相比,具有如下优点:
1.可以直观准确的读取数字;
2.能够显示小数点后面的位数;
3.测量时数字分辨率高,准确度高;
4.可以测量的量程围较大;
5.能够扩展;
6.工作效率高;
7.输入阻抗高;
8.电路集成度高,功率消耗少;
9.抗干扰能力较强。
综上可知,数字型电流表代替传统指针电流表不仅是时代发展的必然趋势,也是现今市场的迫切需求。
而此次课题的选择和设计正是基于AT89C51单片机来进行设计的。
1.2国外研究现状
数字电流表自问世以来,已经经过多年的发展和改进,大体上可以概括为五代产品。
第一代产品是电子管数字电流表,问世于20世纪50年代,第二代产品是晶体管数字电流表,问世于20世纪60年代,第三代产品是中、小规模集成电路的数字电流表,研制于20世纪70年代。
第四代、第五代产品是近些年来由国外相继研制推出的由大规模集成电路(LSI)或者超大规模集成电路(VLSI)组成的数字电流表、智能数字电流表。
这些数字电流表的问世不仅在电子测量的进程中开创了先河,更凭借着准确度高、可靠性强、分辨力高、性价比高等优良特性而备受人们的喜爱。
1.3本文主要容安排
前期通过查阅大量的杂志、期刊、论文等相关重要的资料、文献之后,对基于单片机的数字电流表的设计思路进行大体的把握,具体的行文章节安排如下。
第一章:
引言中介绍数字电流表的研究背景和意义,发展现状和取得的研究成果。
第二章:
详细的介绍数字电流表的基本理论知识。
第三章:
详细的介绍数字电流表的设计方案和数字电流表的任务指标以及整体电路图的设计。
第四章:
介绍Protel99SE软件的使用和编程语言的学习。
第五章:
对数字电流表进行硬件、软件和整体系统的调试。
第六章:
对论文进行总结和展望。
2.数字电流表的理论
2.1数字电流表的工作原理
数字电流表是一个可以将输入的连续模拟电流量经过A/D转换器转变为不连续、离散的数字形式,并通过液晶显示屏显示出电流读数的仪表,和指针式电流表相比,数字式电流表有着测量数据准确明了,显示的读数位数精度高等特点,类似于常用的数字式万用表,其使用性能相当广泛实用。
首先我们通过单片机和外部扩展电路做成一个理想的电压[1],硬件电路设计由7个部分组成:
主控模块AT89C51单片机系统,A/D转换电路,显示系统,驱动电路,复位电路,晶振电路以及测量电压输入电路。
硬件电路设计框图如图2-1所示:
图2-1系统硬件设计框图
人们常说的电流表指的是灵敏电流计,由于其量程太小,不能直接测量电流,只能通过它检测有无电流和电流的流向,所以需将一个理想电压表改装成一个多量程或者量程较大的数字电流表。
本次课题设计是基于一个阻为无穷大数字电压表的基础上,并联上一个分流电阻来构成的数字电流表,其工作原理如图2-2所示,电路图用G表示。
当待测电流流过电阻,电流表的量程就由G的满量程电压和电阻的阻值来决定,记U为G的满量程电压,根据欧姆定律U=RI,当U和R已知,则电流表的满量程电流就是I的数值。
图2-2数字电流表的基本工作原理
2.2A/D转换器
数模转换器,又称D/A转换器,简称DAC,它的主要功能是把数字量转变成模拟量。
D/A转换器的组成基本上包括4个部分,即权电阻网络、运算放大器、基准电源和模拟开关。
模数转换器中一般都要用到数模转换器,模数转换器即A/D转换器,简称ADC,它的主要功能是把连续的模拟信号转变为离散的数字信号[2]。
通过对转换器的了解与本设计的要求,同时考虑到具体转换器的具有性能指标等特点,我们选择PCF8591作为本设计的A/D转换器。
PCF8591转换器是一个具有单片集成、能够进行独立供电、功耗低、8-bitCMOS数据获取的器件。
PCF8591有着4个模拟输入、1个模拟输出和1个串行I2C总线接口。
PCF8591的地址引脚有3个,分别为A0、A1和A2,可用来进行硬件地址的编程,可以在不添加额外硬件的情况下,在同一个I2C总线上接入8个PCF8591器件。
在PCF8591器件上输入地址、输出地址、控制信号和数据信号通常都是通过双线双向的I2C总线以串行的方式进行传输信息的[3]。
PCF8591具有多路模拟量输入、置跟踪保持、8-bit模数和数模转换等功能,而且I2C总线的最大速率决定了PCF8591的最大转化速率。
特征如下:
[1]独立的供电系统
[2]PCF8591的电压操作围是2.5V-6V
[3]待机消耗电流低
[4]通过I2C总线串行输入/输出
[5]PCF8591通过3个硬件地址引脚寻址
[6]PCF8591的采样率由I2C总线速率决定
[7]4个模拟输入可以编程为单端型或差分输入
[8]自动增量频道选择
[9]PCF8591模拟电压的围从VSS到VDD
[10]PCF8591置跟踪保持电路
[11]8-bit逐次逼近A/D转换器
[12]实现DAC增益可以通过1路模拟输出来实现
原理图如图2-3所示:
图2-3PCF8591原理图
PCF8591引脚信息[4]如图2-4所示:
图2-4PCF8591引脚
AIN0~AIN3:
模拟信号的输入端。
A0~A2:
引脚地址端。
VDD、VSS:
电源端(2.5V~6V)。
SDA、SCL:
I2C总线的数据线、时钟线。
OSC:
外部时钟的输入端,部时钟的输出端。
EXT:
部、外部时钟的选择线,EXT接地时使用部时钟。
AGND:
模拟信号地。
AOUT:
A/D转换输出端。
VREF:
基准电源端。
2.3AT89C51单片机
单片机(Microcontrollers)是一种集成电路芯片,通过超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域得到广泛应用[5]。
AT89C51是一种可以编程、可以擦除的只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压微型处理器,ATMEL生产的AT89C51是一种将多功能8位CPU和闪烁存储器组合在单个芯片中的高效微控制器。
采用其AT89C51单片机制作的很多嵌入式控制系统不仅灵活性高而且设计方案价廉,从而深受人们青睐。
图2-5AT89C51单片机
AT89C51单片机各引脚结构如图2-5所示[6]。
引脚功能介绍:
[1]VCC——接电源引脚。
[2]GND——接地引脚。
[3]P0口:
8位,漏极开路的准双向I/O口,具有部上拉电阻,该引脚可驱动8个LS型TTL负载。
当P0口的管脚第一次写入“1”时,被定义为高阻输入。
P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0口外部必须被拉高。
[4]P1口:
8位,具有部上拉电阻的准双向I/O口,P1口缓冲器允许接收输出4个LS型TTL负载。
P1口管脚写入“1”后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。
在FLASH进行编程和校验时,P1口作为第八位地址接收。
[5]P2口:
8位,具有部上拉电阻的准双向I/O口,P2口缓冲器允许接收输出4个LS型TTL负载,当P2口被写“1”后,其管脚被部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于部上拉的缘故。
当P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
[6]P3口:
8位,具有部上拉电阻的准双向I/O口,可接收输出4个LS型TTL负载。
当P3口写入“1”后,它被部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL),这是由于上拉的缘故。
P3口也可作为AT89C52的一些特殊功能口,如下所示[7]:
P3.0/RXD:
8位准双向并行口,串行数据输入口
P3.1/TXD:
8位准双向并行口,串行数据输出口
P3.2/
:
8位准双向并行口,外部中断0申请信号输入端
P3.3/
:
8位准双向并行口,外部中断1申请信号输入端
P3.4—T0:
8位准双向并行口,定时器/计数器0外部脉冲的输入端
P3.5—T1:
8位准双向并行口,定时器/计数器1外部脉冲的输入
P3.6/
:
8位准双向并行口,外部数据存储器(RAM)写选通
P3.7/
:
8位准双向并行口,外部数据存储器(RAM)读选通
P3口同时也为闪烁编程和编程校验接收一些控制信号。
[7]RST——复位输入口。
当振荡器处于复位器件时,要保持RST脚的两个机器周期的高电平时间。
[8]ALE/
——当访问外部存储器时,地址锁存允许输出电平用于锁存地址的低位字节。
在FLASH进行编程期间,其引脚能够用于输入编程脉冲。
在平时,ALE端口以恒定不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,所以它可用作外部输出的脉冲或用于定时目的。
但要注意的是:
当作为外部数据存储器时,将跳过一个ALE脉冲。
如果想要禁止ALE的输出可以在SFR8EH地址上置0。
这时,ALE只有在执行MOVX,MOVC指令时才起作用。
另外,该引脚略微被拉高。
微处理器在外部执行状态如果ALE被禁止,则置位无效。
[9]
——外部程序存储器的选通信号。
当处于外部程序存储器取指期间,每个机器周期两次
有效。
但处于访问外部数据存储器时,这两次有效的
信号将不会出现。
[10]
/VPP——当
保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。
注意加密方式1时,EA将部锁定为RESET;当EA端保持高电平时,此间部程序存储器。
在FLASH进行编程的时候,此引脚也可以用于施加12V编程电源(VPP)。
2.4液晶显示器
LCD(LiquidCrystalDisplay)是液晶显示器名称的缩写,我们在日常生活中随处可见。
液晶显示器不仅具有显示图像质量高,而且采用数字式接口、体积小、质量轻、功耗低等优点,所以在生活中得到广泛应用。
LCD1602是专门用来显示数字、字母、符号等点阵式字符型液晶显示模块,常见的几种规格主要有16*1,16*2,20*2和40*2等,常见的有字符型、点阵型和笔段型。
模块部元器件的主要构成有LCD显示屏、控制器、列驱动器和偏压产生电路[8]。
本课题设计以太阳人电子生产制造的1602液晶显示器为例来简单介绍其用法。
常见的1602字符型液晶显示器引脚如图2-6所示:
图2-6LCD1602引脚
LCD1602引脚采用的是标准16脚接口,其各引脚的功能如下[9]:
引脚1:
GND为接地电源。
引脚2:
VCC接5V正极电源。
引脚3:
VO为调整液晶显示器的对比度端口,当正电源接在其端口时,对比度处于最弱状态;当地电源接在其端口时,对比度处于最高状态(当对比度过高时就会产生“鬼影”,在使用时,可以通过一个10K的电位器来调整对比度)。
引脚4:
RS是选择寄存器,当其处于高电平1时,选择数据寄存器;当其处于低电平0时,选择指令寄存器。
引脚5:
RW是读写信号线,当其是高电平1时,进行读操作;当其处于低电平时,进行写操作。
引脚6:
E(或EN)端是使能(enable)端口,当其处于高电平1时,读取信息;负跳变时执行此指令。
引脚7~14:
DB0~DB7是8位的双向数据端。
引脚15~16:
空脚或背灯电源端。
15引脚是背光正极端口,16引脚是背光负极[10]端口。
3.数字电流表的设计
3.1方案论证
(一)设计方案
该数字电流表的设计主要由电压信号采样电路、A/D(PCF8591)转换电路以及LCD显示电路构成,其中采样电路部分包括采样电阻和差分放大电路,以及芯片电路三个模块。
数字电流表的设计方案如图3-1所示。
图3-1数字电流表设计方案
(二)硬件电路描述
首先通过对论文题目的分析,根据题目要求考虑所用到的单片机,鉴于合理选取及实例的具体分解,同时考虑到本课题的单片机需求,选取AT89C51单片机作为本课题设计的单片机。
AT89C51不仅可以按照常规编程方法进行,而且还可以实现在线编程。
它能够将通用的微处理器和Flash存储器结合在一起,同时Flash存储器具有可反复擦写功能,有效地降低开发成本。
AT89C51是一种功耗低、性能高的CMOS8位微控制器,具有4K系统可编程Flash存储器,由Atmel公司高密度非易失性存储器技术制造。
片上的Flash允许程序存储器在系统可编程,也适用于常规的编程器。
在单芯片上,AT89C51拥有灵巧的8位CPU和可在系统编程Flash,众多的嵌入式控制应用系统都采用其作为核心部件,并且得到广泛应用。
再次,在进行电流测量时,电流输入的是模拟量,而单片机只能处理数字信号,所以需要通过A/D转换芯片进行转换,通过筛选和分析,本课题采用PCF8591作为A/D转换芯片。
A/D转换器的概念:
即模数转换(AnalogtoDigitalConversion),当输入端输入模拟量(比如电压信号)时,会相应输出一个与模拟量相对应的数字量(通常以二进制形式表示)。
例如在参考电压VREF为5V,8位的模数转换器情况下,当输入的电压为0V时,输出的数字量为00000000,当输入的电压为5V时,输出的数字量为11111111。
当输入的电压在0V到5V之间变化时,输出的数字量会在00000000到11111111之间变化。
这样每次输入的电压值都会对应输出一个数字量,从而实现了模数转换功能。
最后,电路显示屏部分采用的是LCD1602液晶显示。
3.2任务指标
本课题设计要求以单片机为基础制作出数字电流表。
通过该设计了解A/D转换器的原理、51系列单片机的使用和LCD液晶显示器的使用方法、显示过程。
功能要求为:
(1)三位直流数字电流表;
(2)量程围为0-100mA;(3)通过LCD显示屏显示待测电流的数值;(4)8通道进行电流值采集。
本设计系统主要通过硬件设计、软件编程的手段来实现相应的要求功能。
第一,根据题目设计的要求制作出能相应功能的电路图。
第二,根据电路图编写程序控制单片机(可以使用C语言或者VB语言,本课题采用的是C语言),使单片机能够控制A/D转换器进行模数转换,并通过LCD显示屏直接显示出来相对应的电流值。
3.3整体电路图
整体电路图设计如图3-2所示。
图3-2数字电流表整体电路图
4.软件设计
4.1软件设计的主程序流程图
主程序设计流程图如图4-1所示:
图4-1主程序设计流程图
4.2编程语言介绍
C语言是一门通用计算机程序设计语言,美国贝尔实验室的DennisM.Ritchie在1972年推出的,它的工作单元是由高级语言的基本语句与低级语言的实用性结合而成的,它不仅具有高级语言的特点,还具有汇编语言的特点。
1978年后,C语言先后被移植到大、中、小及微型机上,它不仅可以作为工作系统设计语言,编写系统的应用程序,还可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它有着广泛的应用围,超强的数据处理能力,不仅在软件开发上,而且各类科研工作上都需要用到C语言,可以用来编写系统软件,三维、二维图形和动画,具体应用体现在单片机以及嵌入式系统开发。
单片机C语言的优点[11]:
1.语言简洁紧凑、使用灵活方便。
C语言总共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。
2.丰富的运算符。
C语言有着广泛的运算符围,总共有34种运算符。
在C语言中,赋值符号、括号、强制类型转换等都会当作运算符处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 电流表 设计 本科生 毕业论文