单片机课程设计汇报基于atc51数字电压表设计
专业班级: |
设计时间:
基于ATC51单片机数字电压表设计
摘要
数字电压表是常见对电子电路进行检测较精密仪器之一。本文设计思想是一个基于单片机数字电压
表设计方法。该设计关键由三个模块组成:A/D转换模块、数据处理主控模块和显示模块。A/D转换模
块关键由芯片ADC0808来完成,它负责将采集到模拟量转换为对应数字量传送到数据处理模块(单片
机)。数据处理主控模块由单片机ATC51来完成,它负责将ADC0808传送过来数字量经过一定数
据处理,产生相对应显示码传送到显示模块进行显示。另外,它还控制芯片ADC0808工作。经过仿真
软件结果表明本设计中电压表电路简单,所用元件较少,成本低且测量精度高。此电压表能够测量
0—5V模拟输入电压值,并经过一个四位一体共阴数码管显示出来。
关键词:数字电压表,单片机,A/D转换,ATC51,ADC0808
目 录
第1章绪论.........................................................1第2章系统整体设计思绪及方案.......................................22.1 设计题目....................................................22.2 设计思绪....................................................22.3 设计方案....................................................2第3章数字电压表硬件设计...........................................33.1 单片机主控制模块设计........................................3
3.1.2 ATC51 各引脚功效...................................3 |
3.2.1 ADC0808 关键特征.....................................7 3.2.2 ADC0808 各引脚功效...................................7 3.3 显示电路设计................................................8 3.4 总体电路设计...............................................10第4章数字电压表软件设计..........................................11 4.1 设计步骤图.................................................11 4.2 各子程序介绍...............................................12第5章软件调试....................................................13 5.1 软件调试...................................................13 5.2误差分析...................................................13
结论...............................................................15参考文件...........................................................16附录程序截图及解释................................................17
第1章绪论
在电量测量中,电压、电流和频率是最基础三个被测量,其中电压量测量最为常常。而且伴随电子技术发展,更是常常需要测量高精度电压,所以数字电压表就成为一个必不可少测量仪器。数字电压表(DigitalVoltmeter)简称DAM,它是采取数字化测量技术,把连续模拟量转换成不连续、离散数字形式并加以显示仪表。传统指针式电压表功效单一、精度低,不能满足数字化时代需求,采取单片机数字电压表,有精度高、抗干扰能力强、集成方便,还可和PC进行实时通信等优点。
现在,由多种单片机和A/D转换器组成数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等领域,显示出了它极强生命力。和
此同时,由DVM 扩展而成多种通用及专用数字仪表仪器,也把电量及非电量技 |
拟信号进行转换,控制关键ATC51再对转换结果进行运算处理,最终驱动输出装置LED显示数字电压信号。
第2章系统整体设计思绪及方案2.1设计题目
基于单片机ATC51数字电压表设计
2.2设计思绪
(1)依据设计题目,选择ATC51单片机为关键控制器件。
(2)A/D转换采取ADC0808实现,连接单片机P1口和P3口四位引脚。
(3)电压显示采取4位一体LED数码管。
(4)LED数码管段码输入由端口P0产生;位码输入用端口P2产生。
2.3设计方案
本设计选择ATC51单片机作为关键控制器件。A/D转换采取ADC0808来实
现。输入采取0~5V直流电压源,电压显示采取4位一体LED 数码管,LED数码
示系统、时钟电路、复位电路和测量电压输入电路。硬件电路设计图2-1所表示。
ATC51
时钟电路 | P1 | A/D 转换 | 测量电压 |
P3
显示系统
复位电路
P0 | 统 | |
P2 | 图2-1 系统设计框图 |
P1
第3章数字电压表硬件设计
3.1单片机主控制模块设计
3.1.1ATC51性能介绍
ATC51是美国ATMEL企业生产低电压,高性能CMOS8位单片机,片内含有4KB可反复擦写只读程序存放器和128字节随机存放器。该器件采取ATMEL高密度非易失存放器制造技术制造,和工业标准MCS-51指令集和输出管脚相兼容,因为将多功效8位CPU和闪烁存放器组合在单个芯片中,ATMELATC51是一个高效微控制器,它为很多嵌入式控制系统提供了一个灵活性高且价廉方案。
ATC51功效性能:和MCS-51成品指令系统完全兼容;4KB可编程闪速存
级程序存放器锁定;128*8B 内部RAM;32 个可编程I/O 口线;2 个16 位定时/ |
ATC51提供以下标准功效:4KBFlash闪速存放器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中止结构,一个全双工串行通信口,片内震荡器立即钟电路,同时,ATC51可降至0Hz静态逻辑操作,并支持两种软件可选节电工作模式。空闲方法停止CPU工作,但许可RAM,定时/计数器,串行通信口及中止系统继续工作,掉电方法保留RAM中内容,但震荡器停止工作并严禁其它全部工作直到下一个硬件复位。ATC51采取PDIP封装形式,引脚配置图3-1所表示。
图3-1 ATC51 引脚图
ATC51芯片各引脚功效为:
分别适适用于不一样情况,第一个情况是C51 不带外存放器,P0 口能够为通 |
第二种情况是C51带片外存放器,P0.0-P0.7在CPU访问片外存放器时先传送片外存放器低8位地址,然后传送CPU对片外存放器读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。
P1口:这8个引脚和P0口8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7功效和P0口第一功效相同,也用于传送用户输入和输出数据。
P2 口:这组引脚第一功效和上述两组引脚第一功效相同即它能够作为通用I/O口使用,它第一功效和P0口引脚第二功效相配合,用于输出片外存放器高8位地址,共同选中片外存放器单元,但不像P0口那样传送存放器读/写数据。 P3口:这组引脚第一功效和其它三个端口第一功效相同,第二功效为控制
功效,每个引脚并不完全相同,以下表3-1所表示:
表3-1 P3 口各位第二功效
P3 口各位 | 第二功效 |
P3.0 | RXT(串行口输入) |
P3.1 | TXD(串行口输出) |
P3.2 | /INT0(外部中止0 输入) |
P3.3 | /INT1(外部中止1 输入) |
P3.4 | T0(定时器/计数器0 外部输入) |
P3.5 | T1(定时器/计数器1 外部输入) |
P3.6 | /WR(片外数据存放器写许可) |
P3.7 | /RD(片外数据存放器读许可) |
ALE:地址锁存许可线,配合P0口第二功效使用,在访问外部存放器时,
C51CPU在P0.0-P0.7引脚线去传送随即而来片外存放器读/写数据。在不访问
片外存放器时,C51自动在ALE 线上输出频率为1/6震荡器频率脉冲序列。
该脉冲序列能够作为外部时钟源或定时脉冲使用。
EA:片外存放器访问选择线,能够控制C51使用片内ROM或使用片外ROM,
若EA=1,则许可使用片内ROM,若EA=0,则只使用片外ROM。
PSEN:片外ROM 选通线,在访问片外ROM时,C51 自动在PSEN线上产生一个负脉冲,作为片外ROM芯片读选通信号。 RST:复位线,能够使C51处于复位(即初始化)工作状态。通常C51复
位有自动上电复位和人工按键复位两种。
XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接C51片内OSC(震荡器)定时反馈回路。
3.1.3ATC51复位电路和时钟电路
单片机中CPU每实施一条指令,全部必需在统一时钟脉冲控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中时序电路发出。CPU实施一条指令各个微操作所对应时间次序称为单片机时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于组成震荡器,XTAL1为该放大器输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其它电路。
单片机ATC51时钟电路图3-2所表示,关键由电容C1-C3、电阻R1、晶
振X1 等组成。AT C5118 脚(XTAL2)和19 脚(XTAL1)接时钟电路,其中19 脚是ATC51 内部振荡器倒相放大器输入端,用于接外部晶振和微调电容一端;18 |
图3-2 ATC51 时钟电路图
单片机在开启运行时全部需要复位,使CPU和系统中其它部件全部处于一个
确定初始状态,并从这个状态开始工作。MCS-51 单片机有一个复位引脚RST,采 |
平即可确保时器件复位。复位完成后,假如RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其它工作状态。图3-3是51系列单片机统常见复位电路。
图3-3 ATC51 复位电路
3.2A/D 转换电路设计
现实世界物理量全部是模拟量,能把模拟量转化成数字量器件称为模/数转
种A/D 芯片转化原理可分为逐次迫近型,双积分式A/D 转换器 |
含有8路模拟选通开关及地址译码、锁存电路等,它们能够和单片机系统连接,将数字量送到单片机进行分析和显示。一个n位逐次迫近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次迫近型A/D转换器转换速度快,所以在实际中广泛使用。
3.2.1ADC0808关键特征
ADC0808是CMOS单片型逐次迫近式A/D转换器,带有使能控制端,和微机直接接口,片内带有锁存功效8路模拟多路开关,能够对8路0-5V输入模拟
电压信号分时进行转换,因为ADC0808 设计时考虑到若干种模/数变换技术优点, | |
等领域。 | |
ADC0808是分辨率为8位、以逐次迫近原理进行模/数转换器件。其内部有一个8通道多路开关,它能够依据地址码锁存译码后信号,只选通8路模拟输入信号中一个进行A/D转换。ADC0808是ADC0809简化版本,功效基础相同。通常硬件仿真时采取ADC0808进行A/D转换,实际使用时采取ADC0809进行A/D转换。
3.2.2ADC0808各引脚功效
ADC0808 芯片有28条引脚,采取双列直插式封装,其引脚图图3-4所表示。
下面说明各个引脚功效:
IN0-IN7(8条):8路模拟量输入线,用于输入和控制被转换模拟电压。
ALE:地址锁存许可输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。
ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中一路,其对应关系如表3-2所表示:
表3-2ADC0808 通道选择表
|
0 | 0 | 0 | IN0 |
START:START为“开启脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿开启ADC工作。
EOC:EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量
已锁入三态输出锁存器。
OE:数据输出许可信号,输入,高电平有效。当A/D转换结束时,此端输
REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。 |
3.3显示电路设计
LED是发光二极管显示器缩写。LED因为结构简单、价格廉价、和单片机接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段显示器件。在单片机中使用最多是七段数码显示器。
在应用系统中,设计要求不一样,使用LED显示器位数也不一样,所以就生产了位数,尺寸,型号不一样LED显示器供选择,在本设计中,选择4位一体数码型LED显示器,简称“4-LED”。本系统中前一位显示电压整数位,即
个位,后三位显示电压小数位。 | |
4-LED 显示器引脚图3-5 所表示,是一个共阴极接法4 位LED 数码显示管, | |
其中a,b,c,e,f,g为4位LED各段公共输出端,1、2、3、4分别是每一位位数选端,DP是小数点引出端,4位一体LED数码显示管内部结构是由4个单独LED组成,每个LED段输出引脚在内部全部并联后,引出到器件外部。
图3-5 4 位LED引脚
本设计中LED和单片机连接图3-6,图中能够看出,本设计用单片机P0.0~P0.7作为LED显示片选端口,P2端口作为LED位选信号。
3.4 总体电路设计 | |
经过以上设计过程,可设计出基于单片机简易数字电压表硬件电路原理 |
图图3-7所表示。
图3-7 设计电路总图
ADC0808,经过A/D 转换后,读取转换后采样值,经过公式:电压=采样值/采此电路工作原理是:+5V 模拟电压信号经过变阻器RV1 分压后由IN0 进入 |
示段码经过P0口传送给共阴数码管,P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管亮灭。
ATC51经过P3.4给ADC0808CLOCK提供时钟信号,当给单片机P3.0输出一个正脉冲,利用其下降沿可开启A/D转换,由P3.2检测A/D转换是否完成,转换完成后,经过P3.1使输出许可控制端OE置为高电平,许可单片机读取转换数据,将转换结果送给共阴数码管显示出来。
第4章数字电压表软件设计
4.1设计步骤图
主程序关键完成信号存放、信号处理、A/D转换和调用显示等。
主程步骤图4-1所表示:程序首先从ORG0000H开始,然后无条件件跳转
至主程序首地址开始,初始化后,先调用模数转换程序进行输入信号数字化,然
后调用显示子程序将处理后数字输出,一次数据结束后,循环实施调用两个子程
序。 | |
| |
到转化没有完成则继续转化,假如转化完成,实施下一条指令,将取得模数转化
结果并转换为工程量,然后显示转换结果,此为一次模数转换,如此循环可转换 | |
下一组数据,全部转换完成后,结束。 | |
图4-2 A/D 转换子程序步骤图 | |
4.2各子程序介绍
初始化子程序关键工作是设置定时器工作模式,初值预置,开中止和打开定
时器等。
A/D转换子程序用来控制对输入模块电压信号采集测量,并将对应数值存入
对应内存单元。
显示子程序采取动态扫描实现四位数码管数值显示,在本设计中,为了简化
硬件设计,关键采取软件定时方法,即用定时器0方法2产生40ms定时,经过
软件延时程序来实现10ms延时。
第5章软件调试
5.1软件调试
软件调试关键任务是排查错误,错误关键包含逻辑和功效错误,这些错误有
些是显性,而有些是,能够经过仿真开发系统发觉逐步更正。Proteus 软件 |
芯片包含8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus能够完成单片机系统原理图电路绘制、PCB设计,更为显著特点是能够和uVisions3 IDE工具软件结合进行编程仿真调试。
本系统调试关键以软件为主,其中,系统电路图绘制和仿真我采取是Proteus软件,程序方面,采取是C语言,用Keil软件将程序写入单片机。
5.2误差分析
因为单片机ATC51为8位处理器,当输入电压为5.00V时,ADC0808输出数据值为255(FFH),所以单片机最高数值分辨率为0.0196V(5/255)。这就决定了电压表最高分辨率只能到0.0196V,从下表可看到,测试电压以靠近0.01V幅度改变。
本文数字电压表能够测量0-5V 电压值,最大分辩率为0.001V。经过仿真测 |
标准电压 | 0.00 | 0.50 | 1.00 | 1.50 | 2.00 | 2.50 | 3.00 | 3.50 | 4.00 | 4.50 | 5.00 |
测量电压 | 0.00 | 0.509 | 1.000 | 1.509 | 2.000 | 2.490 | 3.000 | 3.490 | 4.000 | 4.490 | 5.000 |
绝对误 | 0 | 0.009 | 0 | 0.009 | 0 | 0.010 | 0 | 0.010 | 0 | 0.010 | 0 |
表5-1 误差分析 | |
从上表能够看出,简易数字电压表测得值和标准电压值偏差在0-0.02V,这 | |
能够经过校正ADC0808基准电压来处理。因为该电压表设计时直接用5V供电电源作为电压,所以电压可能有偏差。
结论
经过近段时间努力,基于ATC51单片机数字电压表设计基础完成。但设计中仍然存在很多不足之处。这次设计是我第一次设计电路,并用Proteus实现了仿真。在这过程中,我对电路设计,单片机使用等全部有了新认识。经过这次设计学会了Proteus和Keil 软件使用方法,掌握了从系统需要、方案设计、功效
模块划分、原理图电路图仿真设计步骤,积累了不少经验。
基于单片机数字电压表使用性强、结构简单、成本低、外接元件少。在实际
应用工作应能好,测量电压正确,精度高。系统功效、指标达成了论文预期要求,
本文设计关键实现了简易数字电压表测量一路电压功效,具体说明了从原理图设
计、电路图仿真再到软件调试。
经过此次设计,我对单片机这门课有了深入了解。不管是在硬件连接方面还
是在软件编程方面。此次设计采取了ATC51单片机芯片,设计中还用到了模/
数转换芯片ADC0808,以前在学单片机课程时只是对其理论知识有了初步了解。
经过这次设计,对它工作原理有了更深了解。在调试过程中碰到很多问题,硬件
上理论知识学得不够扎实,对电路仿真方面也不够熟练。
总而言之这次电路设计和仿真,基础上达成了设计功效要求。在以后实践工
设计方面能有所提升。
作中,我将继续努力学习电路设计方面理论知识,并理论联络实际,争取在电路
参考文件
[1]王瑾.基于Proteus数字电压表仿真设计[J].电子设计工程,
[2]赵兆.基于FPGA瞬变电磁数据采集系统设计[J].自动化和仪器仪表,(03)
[3]高荣杰,章海亮,龚亮明,等.基于PROTEUS单片机AD转换仿真[J].计算机和现
代化,(11).
[4]胡健.单片机原理及接口技术.北京:机械工业出版社,10月
[5]王毓银.数字电路逻辑设计.高等教育出版社,12月
[6]宋凤娟,孙军,李国忠.基于C51单片机数字电压表设计[J].工业控制计
算机,/04
[7]谢维成、杨加国.单片机原理和应用及C51程序设计实例.电子工业出版社,3
[8]李广弟.单片机基础.北京航空航天大学出版社,5 月 |
[11]周润景.Protues在MCS-51&ARM7系统应用百例.第一版.北京:电子工业出版
社
[12]边春远等著.MCS-51单片机应用开发实用子程序[M].北京:人民邮电出版
社./9
[13]苗红霞.单片机实现数字电压表软硬件设计[J].河海大学常州分校学报,,
(03).
[14]于殿泓、王新年.单片机原理和程序设计试验教程.西安电子科技大学出版
社,/5 |
|
附录程序截图及解释
Copyright © 2019- ltkm.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务