单片机课设:基于STC89LE516AD单片机的数字电压表设计
- 格式:doc
- 大小:393.50 KB
- 文档页数:25
1 题目:数字电压表设计
(一)摘要
数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这数字表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字万用表的准确度【1】.本设计实现对两路0—5V模拟电压进行循环采集,并在在1.25V和2.5V作为两路输入的报警值,指示灯闪烁和蜂鸣器发声,以示警告.可查看制定通道的电压值等功能。本文中数字电压表的控制系统采STC89LE516AD为主要硬件,实现简易数字式直流电压表的硬件电路与软件设计。
关键词:单片机;数字电压表;A/D转换;模拟信号
(二)总体方案设计
方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电压表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模数(A/D)转换芯片的基准电压端+3V,被测量电压输入端分别输入基准电压和被测电压。模数(A/D)转换将被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。
图1—1 系统总体方案设计
此设计介绍的数字电压表是以STC89LE516AD单片机为核 ,由电压采集电路、单片机、电压显示电路等几部分组成。该系统的先进性在于可以数字化显示电压。该系
2 统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化。还可以方便地进行2路A/D转换量的测量,远程测量结果传送等功能。数字电压表可以测量0~5V的2路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。
该电压表有以下几个功能:
1. 对两路0—5V模拟电压进行循环采集,每路采集3次,取平均值,采集的数存入内存并显示。
2. 测量范围为0-5V,小数点后保留两位,误差小于等于正负0.02.
3. 显示中,其中最高位显示通道提示符A-B,低三位显示实际的电压。
4. 键盘控制,可查看制定通道的电压值。
5. 将在1.25V和2.5V作为两路输入的报警值,当结果超过报警值时,指示灯闪烁和蜂鸣器发声,以示警告。
(三)硬件设计
数字电压表中应用的芯片
1. STC89LE516AD单片机
P1.0/ADC01P1.1/ADC12P1.2/ADC23P1.3/ADC34P1.4/ADC45P1.5/ADC56P1.6/ADC67P1.7/ADC78RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119VSS20VCC40P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732EA31ALE30PSEN29P2.728P2.627P2.526P2.425P2.324P2.223P2.122P2.021
图2-1 STC89LE516AD
STC89LE516AD单片机【2】是单时钟/ 机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/ 精简指令集结构,内部集成MAX810
3 专用复位电路。
STC89LE516AD单片机主要性能:
●高速:1 个时钟/ 机器周期,RISC 型8051 内核,速度比普通8051 快12 倍
●宽电压:5.5~3.4V,2.0~3.8V(STC12LE5410AD 系列)
●低功耗设计:空闲模式,掉电模式(可由外部中断唤醒)
●工作频率:0~35MHz,相当于普通8051:0~420MHz--- 实际可到48MHz,相当于8051:
0~576MHz
●时钟:外部晶体或内部RC 振荡器可选,在ISP 下载编程用户程序时设置
● 12K/10K/8K/6K/4K/2K 字节片内Flash 程序存储器,擦写次数10 万次以上
● 512 字节片内RAM 数据存储器
●芯片内E2PROM 功能
● ISP / IAP,在系统可编程/ 在应用可编程,无需仿真器
● 10 位ADC,8 通道,STC12C2052AD系列为8 位ADC
● 4 通道捕获/ 比较单元(PWM/PCA/CCU),STC12C2052AD 系列为2 通道--- 也可用来再实现4 个定时器或4 个外部中断(支持上升沿/ 下降沿中断)
● 2 个硬件16 位定时器,兼容普通8051 的定时器。4 路PCA 还可再实现4 个定时器
●硬件看门狗(W D T )
●高速SPI 通信端口
●全双工异步串行口(UART),兼容普通8051 的串口
●先进的指令集结构,兼容普通8051 指令集、正常工作模式: 典型功耗 2.7mA - 7mA
STC89LE516AD的特点:
1. 增强型 1T 流水线/ 精简指令集结构 8051 CPU
2. 工作电压:5.5V - 3.4V(5V 单片机) / 3.8V - 2.0V(3V 单片机)
3. 工作频率范围:0 - 35 MHz,相当于普通8051 的 0~420MHz.实际工作频率可达48MHz.
4. 用户应用程序空间12K / 10K / 8K / 6K / 4K / 2K 字节
5. 片上集成 512 字节 RAM
6. 通用I/O 口(27/23 个),复位后为: 准双向口/ 弱上拉(普通8051 传统I/O 口)
可设置成四种模式:准双向口/ 弱上拉,推挽/ 强上拉,仅为输入/ 高阻,开漏
每个I/O 口驱动能力均可达到20mA,但整个芯片最大不得超过55mA
7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器
可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
8. EEPROM 功能
4 9. 看门狗
10.内部集成MAX810 专用复位电路(外部晶体20M 以下时,可省外部复位电路)
11.时钟源:外部高精度晶体/ 时钟,内部R/C 振荡器
用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/ 时钟
常温下内部R/C 振荡器频率为:5.2MHz ~ 6.8MHz
精度要求不高时,可选择使用内部时钟,但因为有温漂,应认为是4MHz ~ 8MHz
12.共2 个16 位定时器/ 计数器
13.外部中断2 路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒
1 4 .P W M ( 4 路)/ P C A(可编程计数器阵列),也可用来再实现4 个定时器---
也可用来再实现4 个定时器或4 个外部中断(上升沿中断/ 下降沿中断均可支持)
15. ADC, 10 位精度ADC,共8 路
16. 通用异步串行口(UART)
17. SPI 同步通信口, 主模式/ 从模式
18.工作温度范围: 0 - 75℃ / -40 - +85℃\
STC89LE516AD系统复位
系统上电,初始化程序将70H~77H内存单元清0,P2口置0。系统默认为循环显示8个通道的压值,当进行一次测量后,将显示每一通道的A/D转换值,每个通道显示时间为1s。70H~77H内存单元存放采样值,78H~7BH内存单元存放显示数据,依次为各位、通道标志位。
ISP_CONTR: ISP/IAP 控制寄存器,地址在 0E7H 单元
B7 B6 B5 B4 B3 B2 B1 B0 Reset Value
ISPEN SWBS SWRST CMD_FAIL 1 WT2 WT1 WT0 0000,1000
ISPEN: ISP/IAP 功能允许位。0:禁止ISP/IAP 编程改变Flash,1:允许编程改变Flash
SWBS: 软件选择从用户应用程序区启动(0 ),还是从ISP 程序区启动(1 )。要与SWRST 直接配合才可以实现
SWRST: 0: 不操作; 1 : 产生软件系统复位,硬件自动清零。
MOV ISP_CONTR, #00100000B ;SWBS = 0(选择AP 区), SWRST = 1(软复位)
MOV ISP_CONTR, #00100000B ;SWBS = 0(选择AP 区), SWRST = 1(软复位
MOV ISP_CONTR, #01100000B ;SWBS = 1(选择ISP 区), SWRST = 1(软复位)
MOV ISP_CONTR, #01100000B ;SWBS = 1(选择ISP 区), SWRST = 1(软复位)
选择STC89LE516AD 系列单片机的理由:
超强抗干扰:
1 、高抗静电(E S D 保护)
5 2 、轻松过4KV 快速脉冲干扰(EFT 测试)
3 、宽电压, 不怕电源抖动
4 、宽温度范围, - 4 0 ℃~8 5 ℃
5 、I / O 口经过特殊处理
6 、单片机内部的电源供电系统经过特殊处理
7 、单片机内部的时钟电路经过特殊处理
8 、单片机内部的复位电路经过特殊处理
9 、单片机内部的看门狗电路经过特殊处理
2 74LS164单片机
A11A22QA3QB4QC5QD6GND7RESET8QE9QF10QH11QF12QH13VCC1474LS164
图2-2 74LS164
74LS164是为8位移位寄存器,串行输入并行出。
CLOCK 时钟输入端 CLEAR 同步清除输入端
A.B 串行数据输入端
当清除端为低电平时输出端为低电平,串行数据输入端可控数据。当A.B任何一个为低电平时,禁止新数据输入。当A,B任何一个为高电平时则可以输入新数据,并在CLOCK上升沿作用下决定Q0的状态。
74LS164 是8 位串入并出移位寄存器。下图是利用74LS164 扩展二个8 位输出口的接口电路。当单片机串行口工作在方式0 的发送状态时,串行数据由P3.0(RXD)送出,移位时钟由P3.1(T一位地移入74LS164 中。需要指出的是,由于74LS164 无并行输出控制端,因而在串XD)送出。在移位时钟的作用下,串行口发送缓冲器的数据一位行输入过程中,其输出端的状态会不断变化,故在某些应用场合,在74LS164 的输出端应加接输出三态门控制,以便保证串行输入结束后再输出数据。下面是将RAM 缓冲区30H、31H 的内容串行口由74LS164 并行输出的子程序。
3. LED数码