当前位置:文档之家› 单片机电压检测

单片机电压检测

单片机电压检测
单片机电压检测

河南机电高等专科学校电气工程系

电子课程设计报告设计题目:电压、电流检测

专业:电力系统自动化技术

班级:电力092

学号:090313209

姓名:冯冲

指导教师:毛景魁

设计时间:2011.6.7——2011.6.19

微控制器技术课程设计任务书

设计题目:流水灯数码显示

设计时间:2011.6.7——2011.6.19

设计任务:

在Proteus中画出原理图或使用实物,编制程序,实现以下功能:

1、使用液晶或者八段发光字符管显示测量的电压或电流值;

2、使用电位器模拟被测电压、电流输入;

3、电压或电流输入为零时,有声音提示。

背景资料:1、单片机原理与应用

2、检测技术

3、计算机原理与接口技术

进度安排:

1、第一天,领取题目,熟悉设计内容,分解设计步骤和任务;

2、第2-3天,规划设计软硬件,编制程序流程、绘制硬件电路。

3、第4-6天,动手制作硬件电路,或编写软件,并调试。

4、第7天,中期检查。

5、第9-10天,完善为完成内容,书写设计报告。

6、第11天,提交设计报告,整理设计实物,等待答辩。

7、第12天,设计答辩。

一、设计目的

(1)通过课程设计,应能加强学生如下能力的培训:

(2)独立工作能力和创造力;

(3)查阅图书资料,产品手册和各种工具书的能力;

(4)工程绘图的能力;

(5)编写技术报告和编制技术资料的能力

(6)综合运用专业及基础知识,解决实际工程技术问题的能力;

二、设计要求

(1) 独立完成设计任务

(2) 绘制系统硬件总框图

(3) 绘制系统原理电路图

(4) 制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释

三、设计内容及方法

1、主控电路

该设计中我们主控电路部分采用了单片机AT89C52芯片来实现这些功能,AT89C52是一个低电压,高性能CMOS的8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256B的随机存取数据存储器(RAM)。

其引

脚如下图所示:

图1.AT89C52引脚图

VCC:供电电压。

GND:接地。

P0口(P0.0-P0.7):P0口来控制数码管的段选,以显示相应的数值。

P1口(P1.0-P1.7):P1口用来控制数码管的位选,以达到动态显示的效果。

P2口(P2.0-P2.7):P2口来控制LED的亮灭。

P3口(P3.0-P3.7):P3.0为RXD(串行输入口),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(外部数据存储器读选通)。

XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义

2 、按键控制扫描模块

按键用于控制数码显示、LED显示、扬声器等模块的工作。通过扫描按键是否按下,来设定各模块的工作情况,使各模块可以在按键的控制下,有序地进行工作。设计中使用单个按键实现单个功能,属于较为简单的控制方式.

图2.按键输入电路

在多功能系统设计的实验中中我们使用四个按键分别与单片机的P1.4、P1.5、P1.6、P1.7相连,按键1控制数码管显示、按键2控制LED流水灯、按键3控制蜂鸣器发声,按键4控制作息时间。通过按下相应的按键来处理相应的程序。

3、DS1302实时时钟模块

图3.DS1302模块电路图

DS1302与CPU的连接:实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。

4、数码管显示模块

设计中采用四位共阳极数码管,共阳极是指其公共端接正极,通过单片机AT89C52的P1口控制其位选,以达到动态显示的效果,再通过P0口,控制其段选以显示相应的数值。在其位选控制部分,采用了一个9012型三极管,要求当P1口输出低电平时,位选成功。

图5.数码管显示电路

硬件电路中,数码管显示的小时和分.小时通过按键2控制,分通过按键3控制。

5、LED显示模块

图6. LED显示电路

本次设计中通过按键2来控制其流水显示,打开电源后按下按键2流水灯模块有效。由于电路中LED为共阳极,故控制流水灯显示的P2口应为低电平时才有效。

6、扬声器模块

扬声器模块通过按键3来实现。要求扬声器能够发出连续,断续的声音及音

乐,我们可以选择一个蜂鸣器来实现这些功能。

图7. 扬声器电路

在这个设计中是通P3.4口控制其发声的。由于P3.4与ds1302是连在一起的,当P3.4口输出低电平时蜂鸣器发出声响。故只要ds1302工作,就可以设定使扬声器发出声音。

四、硬件原理图

设计硬件原理连接图如图所示:

五、主程序:

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符#define uint unsigned int //定义无符号整数void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8个流水灯反向逐个闪动{

P1=~temp;

delay(100); //调用延时函数

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8个流水灯依次全部点亮{

P1=temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮{

P1=temp;

delay(100); //调用延时函数

temp>>=1;

}

}

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

/************************************************************ *89C51、S51单片机32个IO口流水灯测试程序

*Flash0、1、2、3分别对应单片机的P0、1、2、3四个口

*a程序对应流水灯从全灭到一个一个亮

*b程序对应流水灯从全亮到一个一个灭

*2006-7-26 10:57,OK!

*************************************************************/ #include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define TimeDelay 60000

void delay(uint n);

void Flash0a(void);

void Flash0b(void);

void Flash1a(void);

void Flash1b(void);

void Flash2a(void);

void Flash2b(void);

void Flash3a(void);

void Flash3b(void);

/************************************************************ *Function: 主函数

*parameter:

*Return:

*Modify:

*************************************************************/ void main(void)

{

while(1)

{

Flash1b();

Flash1a();

delay(TimeDelay);

delay(TimeDelay);

Flash0b();

Flash0a();

Flash2b();

Flash2a();

Flash1b();

Flash1a();

Flash3b();

Flash3a();

}

}

/************************************************************ *Function: 延时

*parameter:

*Return:

*Modify:

*************************************************************/ void delay(uint n)

{

while(n!=0)

{

n--;

}

}

void Flash0a(void)

{

uchar i;

uchar Temp;

Temp = 0x80;

for(i=0;i<8;i++)

{

P0 = ~Temp;

delay(TimeDelay);

Temp = Temp >> 1;

}

P0 = 0xff;

}

void Flash0b(void)

{

uchar i;

uchar Temp;

Temp = 0x80;

for(i=0;i<8;i++)

{

P0 = Temp;

delay(TimeDelay); Temp = Temp >> 1; }

P0 = 0;

}

void Flash1a(void) {

uchar i;

uchar Temp;

P1 = 1;

Temp = 0x80;

for(i=0;i<8;i++) {

P1 = ~Temp; delay(TimeDelay); Temp = Temp >> 1; }

P1 = 0xff;

}

void Flash1b(void) {

uchar i;

uchar Temp;

P1 = 1;

Temp = 0x80;

for(i=0;i<8;i++) {

P1 = Temp;

delay(TimeDelay); Temp = Temp >> 1; }

P1 = 0;

}

void Flash2a(void) {

uchar i;

uchar Temp;

P2 = 1;

Temp = 0x80;

for(i=0;i<8;i++) {

P2 = ~Temp;

delay(TimeDelay); Temp = Temp >> 1; }

P2 = 0xff;

}

void Flash2b(void) {

uchar i;

uchar Temp;

P2 = 1;

Temp = 0x80;

for(i=0;i<8;i++) {

P2 = Temp;

delay(TimeDelay); Temp = Temp >> 1; }

P2 = 0;

}

void Flash3a(void) {

uchar i;

uchar Temp;

P3 = 1;

Temp = 0x80;

for(i=0;i<8;i++) {

P3 = ~Temp; delay(TimeDelay); Temp = Temp >> 1; }

P3 = 0xff;

}

void Flash3b(void) {

uchar i;

uchar Temp;

P3 = 1;

Temp = 0x80;

for(i=0;i<8;i++) {

P3 = Temp;

delay(TimeDelay); Temp = Temp >> 1;

}

P3 = 0;

}

===========

;P1口八个LED灯做三路流水灯实验

;*************************************************************** ;* Date : 2004.4.20 *

;*************************************************************** ORG 0000H

LJMP MAIN

ORG 030H

MAIN:MOV P1,#0DBH ;11011011--0为亮,1为灭

ACALL DELAY

MOV P1,#06DH ;01101101

ACALL DELAY

MOV P1,#0B6H ;10110110

ACALL DELAY

AJMP MAIN

DELAY:MOV R7,#255 ;延时子程序

D1: MOV R6,#255

D2: DJNZ R6,D2

DJNZ R7,D1

RET

END

六、硬件制作与调试

硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么问题的。没有出现什么问题。用所给的调试程序,调试结果很好,各模块都能正常工作。

静态调试一般采用的工具是万用表,其是在用户系统未工作时的一种硬件检测。

动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。调试步骤是:首先把电路分成若干模块,调式过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内;故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。

七、设计总结

通过这次课程设计,我明白了一次不能将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常的,但我

们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。

但本次的课程设计过程中也出现了不少问题,如若遇到问题,应该检查电路本身是否有问题,有无短路或断路。

经过这两周的课程设计,使我对单片机系统有了更深的认识,更加是锻炼了我对所学知识的认知应用能力,在老师的悉心指导下,使我们认识到课程的重要性,同时也感受到理论与实践之间的差距,使我们对单片机系统的应用有了更加深刻的认识。

通过本次课程设计,又进一步巩固了KEIL软件的使用方法,并学会了一些看似简单但又不一定会的东西,例如如何烧程序到芯片内以及如何对做出的硬件进行硬件和软件调试等。在软件设计过程中,通过查阅资料学会了许多指令的使用及其适用范围。

七、参考文献

《单片机实验与应用设计教程》冶金工业出版社邓红张越

《单片机原理及接口技术》清华大学出版社胡汉才

《MCS-51系列单片机原理与接口技术》人民邮电出版社李玉峰倪虹霞

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

单片机课程设计 ——电压表的设计 学院:信息工程学院 专业:电子信息科学与技术 班级: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显示数字电压信号

应用单片机测试蓄电池剩余电量

机电设备 2004年第1期 — 39 — 应用单片机测试蓄电池剩余电量 Application of Single Chip Computer in Measuring Residual Electricity Quantity of Accumulators 王宗亮,董国保,刘建东 (海军潜艇学院 青岛266042) 摘 要 介绍利用单片机在线测量蓄电池剩余电量的方法.该方法通过测量蓄电池内阻,推算出其剩余电量. 关键词 单片机 在线测量 蓄电池 剩余电量 Abstract The paper introduces the method of using single chip computer in online measurement of residual electricity quantity of accumulators. This method calculates the residual electricity quantity through measuring internal resistance of the accumulator. Keywords single chip computer, online measurement, accumulator, residual electricity quantity 蓄电池的荷电量与整个供电系统的可靠性密切相关,蓄电池剩余电量越多,系统可靠性越高,否则则相反.对于一些重要的用电领域,例如信息处理中心,如果能在既不消耗蓄电池能量,又不影响用电设备正常工作的条件下,实现蓄电池剩余电量的在线监测,具有重要意义. 预测蓄电池剩余电量的常用方法有:密度法、开路电压法、放电法、内阻法.前三种方法测量精度较低且不适合密封蓄电池的在线测量,实际应用也较难.内阻法对被测蓄电池的影响很小,由于蓄电池完全充电(充满)和完全放电(放完)时,其内阻相差(2~4)倍左右,因此,用内阻法预测蓄电池剩余电量有较高的精度,正逐步得到实际应用. 1 内阻法测量原理 1.1 蓄电池等效模型 蓄电池交流等效阻抗Z 模型如图1所示. 图1 蓄电池交流等效阻抗模型 图中:R 1、R 2—正、负电极的极化电阻; C 1、C 2—正、负电极的极化电容; L —引线电感; R Ω—蓄电池欧姆电阻. 蓄电池欧姆电阻表征了电池的荷电程度.但为了简化测量通常从等效阻抗Z 中仅分离纯电阻R (R 由R Ω、R 1、R 2组成),R 与R Ω呈线性关系,故可用R 间接地表征电池荷电程度. 1.2 四线法内阻测量 由于蓄电池内阻很小,一般为十万分之几欧姆,因此测量线的阻抗就不可忽略,为此采用四线法测量,即将驱动电流回路和感应电压电路分开.内阻四线法测量原理如图2所示,其中R S 为取样电阻. 图2 内阻四线法测量原理图 测量蓄电池内阻的方法是:在蓄电池两端施加一个电流源i s ,然后检测蓄电池端电压V 0,以及i s 和V 0两者的夹角θ.三者之间的关系如图3所示.

嵌入式系统软件测试技术期末报告

期末总结报告 课程名称:嵌入式系统软件测试技术 学院:信息工程与自动化 专业:计算机科学与技术 年级: 2010级 学生姓名: 学生学号: 201010803116 指导教师:江虹 日期: 2013年1月2日

一、嵌入式软件测试的特点及步骤 嵌入式软件测试作为一种特殊的软件测试,它的目的和原则同普通的软件测试氏相同的,同样是为了验证或达到可靠性要求而对软件进行的测试。 但是和一般的应用软件测试的可靠性测试相比,嵌入式软件测试有自身的特点:(特别是对于没有操作系统的嵌入式应用软件而言) 1)嵌入式软件测试是在特定的硬件环境下才能运行的软件。因此,嵌入式软件测试最重要的目的就是保证嵌入式软件能在此特定的环境下更可靠地运行。 2)嵌入式软件测试除了要保证嵌入式软件在特定环境中运行的高可靠性,还要保证嵌入式软件的实时性。比如在工业控制中,如果某些特定环境下的嵌入式软件不具备实时响应的能力,就可能造成巨大的损失。 3)嵌入式软件产品为了满足高可靠性的要求,不允许内存在运行时有泄漏等情况发生,因此嵌入式软件测试除了对软件进行性能测试、GUI测试、覆盖分析测试是同普通软件测试一样都不可或缺之外,还需要对内存进行测试。 4)嵌入式产品不同于一般的软件产品,在嵌入式软件和硬件集成测试完成之后,并不代表测试全部完成,在第一件嵌入式产品生产出来之后,还需要对其进行产品测试。嵌入式软件测试的最终目的是使嵌入式产品能够在满足所有功能的同时安全可靠地运行。 因此,嵌入式软件测试除了要遵循普通软件测试的原则之外,还应该遵循以下几个原则; 1)嵌入式软件测试对软件在硬件平台的测试氏必不可少的。 2)嵌入式软件测试需要在特定环境下对嵌入式软件进行测试,比如,对某些软件在工业强磁场的干扰下测试,这也是为保证嵌入式软件可靠性所必须进行的测试。 3)必要的可靠性负载测试,比如,测试某些嵌入式系统能否连续1000个小时不断电工作。 4)除了要对嵌入式软件的功能进行测试之外,还需要对实时性进行测试。 在判断系统是否失效方面,除了看它的输出结构是否正确,还应考虑其是

基于单片机的电压监控

基于单片机的频率、电压监测系统设计 随着信息化、数字化在各行各业的迅猛发展,武器系统中的信息化、数字化也将成为未来的发展趋势。武器系统中,司乘人员在空间狭小的操作仓里,经常要面对功能众多、大小不等、量程各异的仪表盘,这些仪表盘不仅占用空间,而且不够直观,在分秒必争的战场中,情况紧急时,容易造成司乘人员的误操作或反应滞后,给操作带来不必要的麻烦。本文提出一种进行交流电频率、电压测量的方法,以简化武器系统的操作仓,节省了空间,使司乘人员更加直观地进行系统供电频率、电压的监测,而不用先找位置,再进行各种仪表体积、量程的对比确认,最后才进行观测参数的读取,简化了过程,节省了时间。 1频率、电压监测装置的硬件设计 1.1 ATMEL89系列单片机简介 ATMEL89系列单片机共有AT89C51、AT89C52、89C1051、89C2051等型号,该芯片采用51内核,兼容MCS-51产品,100 000次重复编程/擦写,具有5 V供电和低压供电型号。下面以AT89C52为例进行说明。ATMEL89C52是美国ATMEL,公司生产的低电压、高性能C MOS8位单片机,具有PLC C、TQFP和DIP等封装,片内含8 kB的程序存储器,256 B的数据存储器,3个16 b定时/计数器,1个标准串行通讯口,8各中断源,内部带有振荡器、上电复位和看门狗电路、5个I/O口、多达36根I/O线。特别是内部的8 kB 闪存,为程序开发提供了很大方便。 1.2 系统设计框图 以日常照明所用的50~60 Hz交流电为测量对象进行测量原理的摸底,测量系统的硬件电路主要包含供电、隔离变压、电压信号比较输出、A/D转换以及单片机接口控制、串口输出部分构成,测量系统框图如图1所示。

基于单片机的蓄电池监测系统设计

河南科技大学 课程设计说明书 课程名称电气控制技术 题目基于单片机的蓄电池容量测试系统设计学院农业工程学院__班级__学生姓名 指导教师___日期 2015年4月3日

专业课程设计任务书 班级:农电112 姓名:唐聪杰学号: 111403010224 设计题目:基于单片机的蓄电池容量测试系统设计 一、设计目的 熟悉专业课程设计的相关规程、规定,了解电力系统,电网设计数学模型的基本建立方 法和相关算法的计算机模拟,熟悉相关电力计算的内容,巩固已学习的相关专业课程内 容,学习撰写工程设计说明书,对电力系统相关状态进行模拟,对电网设计相关参数计 算机计算设计有初步的认识。 二、设计要求 (1)通过对相应文献的收集、分析以及总结,给出相应项目分析,建立数学模型。 (2)通过课题设计,掌握电力系统计算机算法设计的方法和设计步骤。 (3)学习按要求编写课程设计报告书,能正确阐述设计方法和计算结果。 (4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及 实现,给出个人分析、设计以及实现。 三、设计任务 (一)设计内容 1.了解蓄电池容量测试原理; 2.设计基于单片机的蓄电池容量测试系统,包括软件和硬件; 3.利用protues软件对所设计系统进行仿真; 4.相关论文在学校图书馆中文数据库“万方数字化期刊”中查找。 (二)设计任务 1.建立相关算法、模型。 2.设计说明书,包括全部设计内容,对电力系统相关状态进行模拟。 3.总体方案图,仿真软件模拟波形图,计算相关参数。 四、设计时间安排 查找相关资料(2天)、确定总体方案,进行必要的计算。(1天)、对电力系统相关 状态进行模拟,计算相关参数,(2天)、 使用(MATLAB)等相关软件进行电路图系统图设计与仿真。(2天)、撰写设计报告(2 天)和答辩(1天)。 五、主要参考文献 [1] 电力工程基础 [2] 工厂供电,电力系统分析 [3] 相关设计仿真软件手册,如(MATLAB)等。 [4] 数学建模算法分析等 [5] 电气工程设计手册等 [2] 图书馆中文数据库“万方数字化期刊”其他相关网络资料 指导教师签字:年月日 基于单片机的蓄电池容量测试系统设计

嵌入式软件测试报告(内部)

软件(内部)测试报告 XXX系统 测试分析报告评审 V1.0 编写人: 编写日期: 审核人: 审核日期:

修订页

目录 目录 (1) 软件测试报告(内部) (2) 安装及使用测试 (3) 运行环境 (3) 安装易用性 (3) XXX测试 (4) 安装、使用问题及建议 (4) 功能单元测试 (5) 串口指令响应功能测试 (5) 1.测试方法及工具 (5) 2.功能测试 (5) 3.性能测试 (6) 4.稳定及安全性测试 (6) 5.BUG及建议 (6) xxx功能测试 (7) 整机测试 (8) 长时间工作稳定性整机测试 (8) 1.测试方法及工具 (8) 2.测试步骤及结果 (8) xxx整机测试 (8) 整机测试问题及建议 (8) 安装及使用测试附件 (10) 功能单元测试附件 (11) 整机测试附件 (12)

软件测试报告(内部) CRABXLAB-0628-15 TA/0001 软件测试报告编写:首先做对产品的安装及使用测试,如从运行环境、软件安装、故障指示、用户可操作性、界面友好性等方面来检测是否合理可靠;其次从功能完整性上测试,并对每个功能单元进行功能测试、性能测试、安全及稳定性测试,保证每个功能单元都稳定可靠;最后做整机测试,整机测试主要从长时间工作稳定性、异常处理(如网络、电量异常)合理可靠性等方面检查整机稳定可靠性。

安装及使用测试 开发出来的软件要基于对客户或者量生产上考虑产品的使用及安装环境的易用、安全、可操作性、友好性等。 运行环境 安装易用性

XXX测试 章节同安装及使用测试范例,由开发人员完善其他需要的测试项安装、使用问题及建议

基于单片机的直流电压检测系统设计_课程设计说明书

山东建筑大学 课程设计说明书 题目:基于单片机的直流电压检测系统设计课程:单片机原理及应用B课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111 姓名:张安珍 学号:2011081342 指导教师:张君捧 完成日期:2015年1月

目录 摘要......................................................... I I 正文.. (1) 1 设计目的和要求 (1) 3 设计内容和步骤 (2) 3.1单片机电压测量系统的原理 (2) 3.2 单片机电压测量系统的总体设计 (3) 3.2.1 硬件选择 (4) 3.2.2 软件选择 (4) 3.3 硬件电路的设计 (4) 3.3.1 输入电路模块设计 (4) 3.3.2 LM7805稳压电源电路介绍 (5) 3.3.3 显示模块电路设计 (5) 3.3.4 A/D转换设计 (7) 3.3.5 单片机模块的简介 (9) 3.4系统软件的设计 (12) 3.4.1主程序的设计 (12) 3.4.2 各子程序的设计 (14) 总结与致谢 (16) 参考文献 (17) 附录一系统整体电路图 (18) 附录二 A/D转换电路的程序 (19) 附录三 1602LCD显示模块的程序 (21)

摘要 随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段。对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。本设计在查阅了大量前人设计的数字电压表的基础上,利用单片机技术结合A/D转换芯片ADC0832构建了一个直流数字电压表。本文首先简要介绍了单片机系统的优势,然后详细介绍了直流数字电压表的设计流程,以及硬件系统和软件系统的设计。 本文介绍了基于89S51单片机的电压测量系统设计,介绍1602LCD液晶的功能和ADC0832的转换原理。该电路设计简单,方便。该设计可以测量0~5V的电压值,并在1602LCD液晶上显示出来。 本系统主要包括三大模块:主程序模块、显示模块、A/D转换模块,绘制点哭原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路,在软件编程上,采用了c语言进行编程,开发了显示模块程序,A/D转换程序。 关键词:89S51单片机;1602LCD液晶;ADC0832

51单片机测量5V电压

数字电压表 1.实验任务 利用单片机STC89C52与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。 2.现有元件 模数转换器ADC0804,STC89C52单片机,两个共阳极数码管。 3.硬件设计 3.1模数转换器ADC0809与单片机STC89C52的连接 (1) ADC0809规格及引脚分配图如下图3-1所示: 图3-1 ADC0809引脚图 (2) STC89C52各个引脚分布如下图3-2所示: 图3-2 STC89C52引脚图 (3) 硬件连线 (a) 把“单片机系统”区域中的P3.0与”模数转换模块ADC0809“区域中的ST端子用导线

相连接。 (b) 把“单片机系统”区域中的P3.1与”模数转换模块ADC0809“区域中的ALE端子用导线相连接。 (c) 把“单片机系统”区域中的P3.2与”模数转换模块ADC0809“区域中的OE端子用导线相连接。 (d) 把“单片机系统”区域中的P3.6与”模数转换模块ADC0809“区域中的EOC端子用导线相连接。 (e) 把“单片机系统”区域中的P3.7与”模数转换模块ADC0809“区域中的CLK端子用导线相连接。 (f) 把“模数转换模块ADC0809”区域中的ADDA、ADDB、ADDC端子用导线连接到单片机的VCC端子上。把“模数转换模块ADC0809”区域中IN7与外接输入电压相连。 (g) 把“单片机系统”区域中的P2.0-P2.7连接到“模数转换模块ADC0809”区域中D0D1D2D3D4D5D6D7端子上。 (h) 把“单片机系统”区域中的P1.0-P1.7连接到“数码管”区域中ABCDEFG端子上。把“单片机系统”区域中的P0.0-P0.1连接到“数码管”区域中12端口。 4. 电路原理图 图4 电路原理图 5. 程序设计内容 由于ADC0809在进行A/D转换时需要CLK信号,而此时ADC0809的CLK是接在单片机的P3.7口,也就是要求从P3.7输出CLK信号供ADC0809使用。因此产生CLK信号的方法就要用软件来产生。 6. C语言源程序 #include sbit ALE = P3^1; sbit ST = P3^0; sbit EOC = P3^2;

单片机测试实验报告

AVR学习板测试实验报告 姓名:冯进福班级:09机械1班学号:0915020064 一、测试程序目录 (1)跑马灯1 (2)跑马灯2 (3)跑马灯3 (4)蜂鸣器(Buzz.hex) (5)定时器数码管显示 (6)数码管显示 (7)数模DAC7512单片电压输出(DAC7512.hex) (8)1602液晶显示 (9)12864液晶实验显示 (10)AD模数转换实验 (11)DS18B20温度数码管显示 (12)EEPROM开机记忆存储实验 (13)I2C-24C01 (14)I2C-PCF8563 (15)PCF8563T串口接收 (16)PCF8563T蜂鸣报警 (17)PCF8563T数码管显示 (18)SPI接口实验 (19)按键实验LED显示 (20)串口接收-24C01.hex (21)串口收发 (22)看门狗实验 (23)按键实验 二、使用的单片机简介 1)、CPU核心板mega128,AVR单片机主芯片,内包含有:128K Flash、4K SRAM、4KByte EEPROM,芯片可与AT mega64互换。 2)、AT24C02,I2C总线器件,EEPROM数据存储器,256Byte EEPROM。 3)、74HC595,SPI总线器件,SPI总线并口扩展器件,8位移位寄存器(串行输入,3S并行锁存输出)。 4)、PCF8563T,时钟芯片。 5)、RS232,RS232接口芯片,两组接口(和下面485接口共用CPU两组UART接口)。 6)、MAX487,485网络驱动芯片,产品组网中最常用最方便的一种方式,大部分室外控制网络采用485通信。 7)、8个输入按键、1个复位按键。 8)、4位动态扫描LED数码管、8位LED发光二极管。 9)、1个无源蜂鸣器。 10)、2路A/D输入可调电位器。 11)、1个三线扩展接口,可用来扩展热敏电阻、DS18B20数字温度计等实验。

基于单片机的电量检测系统设计方案

基于单片机的电量检测系统设计方案 1绪论 自第一个微处理器问世以来,以微处理器为核心构成的计算机以各种各样的形式,无孔不入的渗入到人们的生产、生活、科研等各个领域,为人类带来了渗透到各个领域的“智能”。微处理器是整个智能仪器仪表的核心,检测电路时微处理器的外围设备,微机通过接口发出各种控制信息给检测电路,以规定功能、启动测量、改变工作方式等。微机通过查询或检测电路向微机提出的中断请求,使微机及时了解检测电路的工作状态。当检测电路完成一次测量后,微机读取测量数据,进行了解检测电路的工作状态。当检测电路完成一次测量后,微机读取测量数据,进行必要的加工、计算、变换等处理,最后以各种方式输出,如送显示器、打印机打印,或送给系统的主控制器等等。 近二十年来,以计算机科学,信息学,生命科学为代表的各门新兴学科的迅猛发展,极大限度的刺激了全球经济的发展,在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,电能是人们日常生活和工业生产中的重要能源之一,在现代社会中起着越来越重要的作用,而电压、电流是其中最关键的两个因素,是否准确的测量电压、电流对我们的生活和生产有着至关重要的影响,特别是电工和电力系统等领域经常要对交流电量进行采样测试以了解工作电压或整个电网的工作情况。

2 WB系列交流电量传感器 2.1 概述 WB系列交流电量传感器采用电磁隔离技术和专用厚膜集成电路。对电网或电路中的交流电流或交流电压进行实时测量,将其变换成跟踪电压暑促(Vg)、直流电压输出(Vz)、直流电压输出(Iz)、频率输出(Fk)。传感器的输出可以与各型AD转换器配接构成数据采集系统,也可以与传统模式、数字式指示仪表配接,显示被测量之值。体积小、重量轻、精度高、耗能低,输入电路、输出电路完全隔离,输出信号可以共地,输出形式多样,满足各种使用要求,在0~120%标称输入围,输出信号入输出信号之间保持正比例关系,通聘宽带,可以测量5kHz以的正弦交流电流或交流电压。结构形式多样,提供直插式、DIN卡装式安装方式,方便各种场合使用等特点。 2.2 WB交流电量传感器的工作原理 本系列传感器采用模块化电路结构,如图2-1主要由电流测头1(或电压侧头2)、采样电路3、定标放大器4、装用厚膜集成转化器5、6、7组成。 E Vg Vz Iz Fk +E 图2-1 电路结构 被测电流信号Ix﹝或被测电压信号Ux﹞经电流测头1﹝或电压测头2﹞隔离变换,在二次回路形成高精度毫安级跟踪电流,经采样电路3转换为跟踪电压信号,在经定标放大器4进行放大、定标,形成跟踪电压输出Vg;跟踪电压信号经AC/DC转换器5后,形成直流电压输出Vz。Vz输出经V/I转换器6后形成直流输出Iz,Vz输出经V/F变换器7后形成频率输出Fk。只有输出跟踪电压Vg的产品才使用正负电源

单片机测电压

仲恺农业工程学院 20010 —2011学年 第二学期 课程设计 课题名称:基于AT89c51单片机的数字电压表 设计时间: 2011.06.01—2011.06.9 系部:机电工程系 班级: 姓名: 指导教师: [摘要]本文介绍一种基于89c51单片机的一种电压测量电路,该电路采用ICL7135高精

度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示, 可以与PC机进行串行通信。正文着重给出了软硬件系统的各部分电路,介绍了双 积分电路的原理,89c51的特点,ICL7135的功能和应用,LCD1601的功能和应用。 该电路设计新颖、功能强大、可扩展性强。 [关键词]电压测量,ICL7135,双积分A/D转换器,1601液晶模块 第一章前言 1.1概述 目前,由各种单片机机A/D 转换器构成的测量数字电压的结构,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。 1.2系统原理及基本框图 如图1.1所示,模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。处理后的数据送到LCD中显示,同时通过串行通讯与上位机通信。 图1.1系统基本方框图 第二章硬件设计

2.1输入电路 图2.1.1量程切换开关 图2.1.2衰减输入电路 输入电路的作用是把不同量程的被测的电压规范到A/D转换器所要求的电压值。智能化数字电压表所采用的单片双积分型ADC芯片ICL7135,它要求输入电压0-±2V。本仪表设计是0-1000V电压,灵敏度高所以可以不加前置放大器,只需衰减器,如图3.1.2所示9M、900K、90K、和10K电阻构成1/10、1/100、1/1000的衰减器。衰减输入电路可由开关来选择不同的衰减率,从而切换档位。为了能让CPU自动识别档位,还要有图3.1.1的硬件连接。 2.2 A/D转换电路 A/D转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。本设计采用双积A/D转换器,它的性能比较稳定,转换精度高,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低。在对转换精度要求较高,而对转换速度要求不高的场合如电压测量有广泛的应用。 2.2.1双积A/D转换器的工作原理

开题报告——基于单片机的锂离子电池电量检测系统毕业设计论文

(此文档为word格式,下载后您可任意编辑修改!) 南昌工程学院 09 级毕业(设计)论文开题报 告 机械与电气工程学院系(院)电气工程及其自动化专 业 题目基于单片机的锂离子电池电量检测系统设计 班级09电气工程及其自动化(1)班 学号 指导教师饶繁星

日期2013 年 1 月 4 日 南昌工程学院教务处订制

题目:基于单片机的锂离子电池电量检测系统设计 一、选题的依据及课题的意义 随着手机、数码相机、摄像机、手提电脑、音频视频播放器等便携式电子设备的迅猛发展,由于其便携性的特点,便携式设备必须由电池来进行供电。目前,便携式仪表的主流供电电池有铅酸电池,镍镉电池,镍氢电池,锂电池和锂聚合物电池等。与其它主流可充电电池相比,具有高单体电池电压、高功率密度、长循环寿命、无记忆效应、低自放电率等优点。锂电池是指以锂为负极材料的化学电池的总称,大致可分为两类:锂金属电池和锂离子电池。锂离子电池不含有金属态的锂,该类电池具有较高能量质量比和能量体积比。 为了提高电池的使用率及全面掌握电池的状态,大多数设备在应用场合需要显示电池组的剩余电量信息,以供使用者明确电池组的工作状态,及时对电池组进行充电。在电池放电过程中,电池电压与剩余电量、工作时间之间并不是线性关系,所以并不能简单地采用电压采样、函数计算剩余电量。针对该要求,设计了一种基于单片机的锂离子电池电量检测系统,该检测系统的设计对全面掌握锂离子电池的电量状态,提高其利用率具有现实意义。本设计的研究成果若能广泛应用于便携式电子产品,为人类日常生活和生活质量的提高有着深远的意义。

二、研究概况及发展趋势综述 锂电池常用的电量检测方法有两种,一种是利用库仑计,根据电池工作的电流与时间进行计算出电池的实际容量,此种检测方法是最准确的检测方法,一般用的芯片有TI,美信等电池管理芯片,但是成本太高,调试复杂。另一种方法是利用电池工作的电压曲线来分析出电池的容量,这种方式比较简单,成本也低,由于直接采用比较器如LM339,LM324等,检测精度低,检测相对很不准确,温漂大,功耗大。 在满足要求的前提下,本设计尽可能采用简单的锂离子电池电量检测方案,提出的基于单片机的锂离子电池电量检测方案,抗干扰能力强,并且可以实现对锂离子电池电量的高精度检测。 在本设计方案中,没有考虑电池老化等复杂因素对电量检测精度产生的负面影响,所以检测结果稍有误差。未来在要求更高精度的锂离子电池电量检测应用中,该检测系统必须考虑这些复杂问题对检测精度的影响,还需要做进一步的改进,让检测精度提高一个水平。

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告

一、实验目的 1.了解超声波测距原理; 2.根据超声波测距原理,设计超声波测距器的硬件结构电路; 3.对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用 超声波方法测量物体间的距离; 4.以数字的形式显示所测量的距离; 5.用蜂鸣器和发光二极管实现报警功能。 二、实验容 1.认真研究有关理论知识并大量查阅相关资料,确定系统的总体设计方案,设计出系 统框图; 2.决定各项参数所需要的硬件设施,完成电路的理论分析和电路模型构造。 3.对各单元模块进行调试与验证; 4.对单元模块进行整合,整体调试; 5.完成原理图设计和硬件制作; 6.编写程序和整体调试电路; 7.写出实验报告并交于老师验收。 三、实验原理 超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距S=Ct/2,式中的C为超声波波速。由于超声波也是一种声波,其声速C与温度有关。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理,单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED显示电路进行显示。 (一)超声波模块原理: 超声波模块采用现成的HC-SR04超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。实物如下图1。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。

锂电池检测

锂电池检测 电池测试是一项看似简单却不简单,基础又重要的工作。当拿到一只电池或一组电池组时,怎样判断它的好坏呢?单从外表上我们得不到太多的有用信息,这就需要借助设备仪器对电池进行有目的的测试。 在测试之前我们一定要先收集这个电池的信息,比如这个电池是用在什么地方的,电池的关键材料是什么,电池的型号是什么,它是能量型的还是功率型的。这样我们才能有针对性的对电池或电池组作出准确的评价。电池按照应用范围的不同可以分为能量型电池和功率型的电池,两种电池的区别在于一中适合于小电流放电,一种适合于大功率放电,一种能量密度相对较大,一种能量密度相对较小。对电池的测试可以参考不同的标准,有国家标准有行业标准也有国外的标准,我们公司目前的动力电池测试是采用的汽车行业的动力锂离子电池检测标准《电动车辆用锂离子电池》 一、单体电池的检测 1.基本性能 基本性能包括电池的容量(一般常温25℃0.5C或1/3C)、内阻、质量、体积和能量比。 例: 1.1某厂样品电池基本性能

从基本性能上我们可以判断出电池的一致性,上面的数据可以看出此电池内阻质量容量和中值电压上差值较小,所以其内阻。 2.电化学性能 电化学性能是电池最重要的性能也是直接反应电池好坏的一项性能。电化学性能主要包括倍率性能、循环性能、高低温性能、搁置贮存性能等 2.1倍率性能 倍率的概念都知道了,就不多说了。不同电池要测试的倍率也不一样。能量型的电池对倍率性能的要求不高,所以测试的最大倍率可以小些。功率型的电池要测试的最高倍率就要大很多,根据情况甚至可以达到15C。 那么倍率性能要关注那些东西呢?首先最应关注的是其倍率放电平台电压。平台电压没有一个确切的概念,行业内一般把电池放电的中值电压(即容量放出一半时电池的放电电压)定为电压平台。我们平时说锰锂的工作电压是3.7v,钴锂和三元的工作电压是3.6v,磷

嵌入式系统压力测试阶段报告

嵌入式系统压力测试阶段报告 从10月下旬到12月20号,将近2个月的时间,对嵌入式收费系统进行大数据量测试。现将问题说明一下: 一、最初测试一直是在nfs文件系统上运行,经常出错,各种现象都有。后来想到可能是nfs 传输同步的速度跟不上我们生产数据的速度,所以将测试移到tf卡上进行。 二、测试到过车数量4千多的时候出现异常,可能是我们软件的问题(QByteArray double free),修改后没有再发生。 三、进一步测试发现程序经常在sqlite保存数据时出错,所以将保存数据入库去掉,直接存 成文件。 四、随后的测试经常出现tf卡变成只读。还有Qt本身的组件报错(qtgui,qtcore)。 现在问题大概有以下几个方面: 一、存储介质 目前我们使用的是TF卡。西达提供给我们两批开发板,这两批对于tf卡的挂载效果是不一样的。 第一批,能正确挂载tf卡上的多个分区(fat32,ext2,swap),经过压力测试,数据写入出错的时候,系统还是可以继续运行的。 /dev/mmcblk0p1 on /mnt/yyext type ext2 (rw,relatime,errors=continue)这是挂载状态。errors = continue 决定 第二批,无论是fat32,ext2都挂载成vfat(这批板子都有问题) /dev/mmcblk0p1 on /mnt/yy type vfat (rw,relatime,errors=remount -o ro)这是挂载状态remount -o ro 决定了tf卡变成只读,系统这时会死掉。 二、程序经常报double free 问题。类似下面: *** glibc detected *** ./lanetestmp: corrupted double-linked list: 0x002e9030 *** ======= Backtrace: ========= /lib/libc.so.6(+0x70188)[0x41101188] /lib/libc.so.6(+0x743b4)[0x411053b4] /lib/libc.so.6(realloc+0xfc)[0x41106e54] /opt/qt/qt-4.7.2/lib/libQtGui.so.4(+0x17cf68)[0x40334f68] /opt/qt/qt-4.7.2/lib/libQtGui.so.4(+0x2e5f44)[0x4049df44]

基于单片机的过零检测控制系统的设计

基于单片机的过零检测控制系统的设计 如下图所示为按上述思想设计的电压正向过零检测电路。220V的交流电首先经过电阻分压,然后进行光电耦合,假设输入的是A相电压,则在A相电压由负半周向正半周转换时,图中三极管导通并工作在饱和状态,会产生一个下降沿脉冲送入ADμC812的INT0引脚使系统进入中断程序。微机系统进入中断程序后,发出采样命令并从采样保持器读取无功电流值Iqm,这个无功电流即为A相的无功电流,经过1/4个周期电压达到最大值,此时对电压进行采样,得到UM,由UM=1.414U可以得到电压有效值U。 过零检测及单片机调压 首先用PWM(脉宽调制)方法用于可控硅控制是有条件的,即调制频率不能大于市电频率(50Hz),也就是周期

不能小于20mS,否则就不能达到调制作用,调制频率超过市电频率时,可控硅即处于连续导通状态而不能达到调压目的。只有调制频率低于市电频率才能起到调压目的,即限制市电的周波通过可控硅的数量而起到调压的目的。因此用该种方法调制的电压周波数一定是小于50HZ,超过了人眼视觉暂留效应,此就是用于调光产生闪烁的原因。该调压方法用在调功或对脉动电压不敏感的用途上尚可。如果采用可控硅调压用在调光上,须采用移相的调制方法,可使光连续可调。采用移相方法就需过零检测作为移相基点。过零检测其实并不难,如果要求调压比不是很高采用简单的方法即可奏效;用一只三极管即可。用单片机进行移相调压控制可以做得很精。

/********************************************************************************/ #i nclude __CONFIG (CPD&PROTECT&BOREN&MCLRDIS&PWRTEN&WDTEN&INTIO); /********************************************************************************/ // void init (void); /********************************************************************************/ // bit fg_pw,fg_vs,fg_zq; volatile unsigned char fg_count; volatile unsigned int time1_temp,buff; /********************************************************************************/ #define powon GPIO|=0B00110000 #define powoff GPIO&=0B00001111 #define vpp GPIO2 #define feedback GPIO0 /********************************************************************************/ void init (void) { CLRWDT(); TRISIO=0B11001111; WPU=1; IOCB=4; //使能过零信号中断 VRCON=0; PIE1=1; OPTION=0; INTCON&=7; INTCON|=0B10001000; CMCON=7; T1CON&=1;

锂电池保护板的简单检测方法

锂电池保护板的简单检测方法 锂电池保护板对锂电池进行过充、过放、过流(充电过流、放电过流和短路)保护,有些保护板上设计有热敏电阻,用于对电池进行过热保护,但过热保护通常是由外电路完成的,并不由保护板实现。保护板上的热敏电阻仅仅是给外电路提供一个温度传感器。如果保护板不良,电池就很容易损坏。本文介绍一种锂电池保护板的简单检测方法。 检测电路如下图: 电路很简单,主要元件就是一个电容和两个电阻,两个开关可以用鳄鱼夹或手动搭线都没问题的。色框内的部分是锂电池保护板的内电路。 原理: 电解电容C连接到保护板上的电池接点(B+,B-)上,充当电池,可进行充电和放电,连接时别弄错极性就行。电压表(数字万用表20V电压档)并联在电容两端,用于监视电池电压。 初始时,电容C没电,保护板上的控制芯片无工作电源,保护板处于全关断状态,即使接通开关K2,电容也不会充电。断开开关K2,电容也无电可放。即使电容有电,但电压达不到保护芯片的工作电压,也不会通过R1、R2放电。 如果带保护板的锂电池(比如手机电池)放置太久,电池因自身放电和保护板电路耗电使电池电压低于保护板上控制芯片的工作电压,保护板则全关断。测量电池引出电极P+、P-无电压,充电也充不进,就相当于上述这种初始情况。对这样的电池,一般人只能将它报废处理。其实很多时候电池并没有坏,只是必须拆开电池的封装外壳跳过保护板直接给电池芯充电,当电池芯的电压达到保护板上控制芯片的工作电压之后,电池才起死回生,能正常充电和使用。 本电路中,电容C充当电池的作用,下文关于电路原理的叙述中一律称之为电池。 接通开关K2,如前所述,电池并不会充电。按下按钮开关K1,5V电源通过R1、保护板的P+、B+(保护板上的这两个接点是直通的)、K1给电池充电,电压表上可实时读取电池两端的电压,当电池电压上升到控制芯片的工作电压(约2V)时,放开K1,这时保护板已正常工作,电池会继续充电,电池电压持续上升。如果想知道保护板在多大的电池电压下开始工作,不要长按K1,按一下,放一下,让电池电压每次上升一点点,注意观察电池电压,当电压到某个值时,不按K1电池电压也继续上升,则这个值就是保护板开始工作的最低电池电压值。 当电池电压上升到过充启动电压时(约),保护板关断充电通路,进入过充保护状态,充电停止。这时电压表上显示的就是过充保护电压。由于电压表有内阻,以及保护板上控制芯片工作也需要耗电(电流很小),所以电池通过这两条通路缓慢放电,电压表上可看到电池电压缓慢下降。当下降到控制芯片的过充解除电压(约)时,过充

PIC单片机的交流电压测量C语言实例

第11章交流电压测量 11.3.2 程序清单 该程序已在模板上调试通过,可作读者的参考。有关显示部分请读者参考本书相关章节,有关A/D转换的详细设置请参考前面章节。 #include #include #include //该程序用于测电网的交流电压有效值,最后的结果将在4个LED上显示,保留 //1位小数。 //为了保证调试时数据运算的精确性,需要将PICC的double型数据选成32位 union adres { int y1; unsigned char adre[2]; }adresult;//定义一个共用体 bank3 int re[40];//定义存放A/D转换结果的数组,在bank3中 unsigned char k,data;//定义几个通用寄存器 double squ ,squad;//平方寄存器和平方和寄存器,squ又通用为存储其 //它数值 int uo; bank1 unsigned char s[4];//此数组用于存储需要显示的字符的ASII码 const char table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90}; //不带小数点的显示段码表 const char table0[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//带小数点的显示段码表 //A/D转换初始化子程序 void adinitial() { ADCON0=0x41;//选择A/D通道为RA0,且打开A/D转换器 //在工作状态,使A/D转换时钟为8Tosc ADCON1=0X8E;//转换结果右移,及ADRESH寄存器的高6位为"0" //把RA0口设置为模拟量输入方式 ADIE=1;//A/D转换中断允许 PEIE=1;//外围中断允许 186

相关主题
文本预览
相关文档 最新文档