您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页数字式电压控制器

数字式电压控制器

来源:小侦探旅游网


数字式电压控制器

摘要:本系统采用ATS52单片机作为系统的控制中心,将通过ADC0809采集转换来的

数字电压量进行处理,通过LCD1602液晶显示器显示出来,实现一个简易的数字电压表的功能。该系统将前向通道采集来的数据通过控制系统的处理通过输出设备输出显示出来,是一个很典型的微型计算机系统。

Abstract: this system adopts the ATS52 single chip microcomputer as control

center, will be collected by ADC0809 conversion to digital voltage for processing, through LCD1602 LCD display, the function of the realization of a simple digital voltmeter.To channel before the system will be collected by the control system of data processing through the display output device output, is a very typical microcomputer system.

关键字:ATS52,ADC0809,输出显示 Key words: ATS52, ADC0809, output display

引言:本文介绍了一种基于单片机的数字式充电控制器的设计。数字充电器主要由分压电

路,A/D转换电路,单片机复位电路和时钟电路,数码显示电路,以及利用继电器设计的控制保护电路组成。A/D转换主要由芯片PCF8591来完成,把采集到的模拟量转换为相应的数字量在传送到单片机,单片机采用的是ATC52来完成,其负责把PCF8591传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示,并控制继电器电路的运行,当充电电压大于12V时,发光二极管亮,提醒充电状态。

一、系统要求:

1.通过ADC芯片测量充电电压,并通过数码管显示出来。

2.可同时测量多组不同幅度范围的电压值(最多8组不同幅度范围的电压值,相同幅度范围算一组。多组幅度范围电压值测量通过定时切换或手动切换方式在数码管上显示出数值。若只能测量一组电压值,要求测量范围0-50v,精度0.1v),在数码管端可切换显示。

3.在电压达到12v以上时,用LED小灯提示。在电压超过14v以上时,使用继电器动作断开电路(此电路为充电电路,继电器动作不会影响电压检测电路)。

4 .扩展功能:实现定时充电,设置一定时间(秒数)后继电器通电。

二、系统原理:

该系统结构非常简单,通过A/D转换器将采集来的模拟电压转换为数字量,经过单片机处后显示在数码管显示器上,不断采集并显示达到电压的更新。

三、系统硬件设计

1 单片机最小系统

单片机最小系统电路介绍,单片机最小系统主要由时钟电路,复位电路,按键扫描电路组成。单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。单片机最小系统晶Y1也可以采用6MHz或者11.0592MHz,,在正常工作的情况下可以采用更高频率的晶振,本次设计中采用的是11.0592MH晶振。51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。单片机最小系统起振电容C2、C3一般采用15~ 33uf 。

2 A/D转换电路设计

A/D转换电路用来将量程转换电路输入的直流电压信号转成数字电压信号,以供单片

机进行数据处理。ADC0809是一款很常用的8位的A/D转换器,有8个模拟量输入引脚,A B C三位通道选通引脚,地址锁存引脚ALE用来锁存地址,基准电压源引脚提供转换的基准电压,8位数据输出引脚,时钟引脚CLK,最大时钟频率0kHz,START引脚用来启动A/D转换,转换结束后EOC引脚变为高电平,OE引脚用来使能读操作。

本设计使用滑动变阻器提供待测电压,8路模拟量由IN0-IN7口输入ADC0809,地址端口A B C及数字量输出端口连接ATS52扩展总线P1口,作为单片机的片外扩展外设,由于电平刚好相反,单片机的WR RD引脚接反相器与ADC0809相连,WR连接ALE和START引脚用于锁存通道地址以及启动A/D转换,EOC引脚与单片机的P1.1相连,送达转换完成信号,CLK与P1.3相连,由单片机模拟时钟。

3 数码显示电路:

本设计采用的是3位共阳极数码管,本设计中由ATC51的p0口输出8位

{a,b,c,d,e,f,g ,dp},由p2口进行片选 。 其数码显示电路图如下:

p0口做输出时要添加外部上拉电阻,而本设计中直接与I/O相连;片选端口需要添加三极管,采用的是s8550(PNP型三极管),为简化仿真,电路图中并没有采用三极管,特此说明。

四、程序设计流程图及程序

本系统的软件结构,其思想就是不断的从ADC0809中读取数据,然后转换并循环显示出3路电压值,当然其标号也要随之不断变化以指明当前显示的是哪路电压。

软件结构分为采样电压部分,计算转换部分,驱动显示部分,三部分综合组成软件系统的基本结构。

流程图如下:

开始 初始化定时器 初始化LCD 显示标题 开始 CLK引脚取反 返回 获取电压函数 开始 开始 转换并存入缓冲 写显示位置 显示电压 永真 写通道地址 获得8路电压值 转换并显示 等待转换完成 取数据 返回

应用程序如下: #include #include #define uchar unsigned char #define uint unsigned int

//各数字的数码管段码(共阳)

uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

返回 uchar code DSY_CODE1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar wei[]={ 0xe0,0xd0,0xb0,0x70 }; long int d,q,b,s,g; uchar duan; sbit CLK=P1^3; sbit ST=P1^2; sbit EOC=P1^1; sbit OE=P1^0; sbit ADDA=P1^4; sbit ADDB=P1^5; sbit duankai=P1^6; sbit jingbao=P1^7; //延时

void DelayMS(uint ms) { }

//显示转换结果 void Display_Result() {

q=4*(d*500/255)/1000; uchar i; uchar i; while(ms--) {

for(i=0;i<120;i++); }

//时钟信号

//启动信号

//转换结束信号

//输出使能

b=4*(d*500/255)/100%10; s=4*(d*500/255)/10%10;

g=4*(d*500/255) %10;

if(s==1)

{

if(b<2) {

duankai=0;jingbao=0; }

else if(b<4)

jingbao=1;

else {

duankai=1;jingbao=1;

}

}

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

P2=wei[i];

if(i==0){duan=DSY_CODE1[b];} else if(i==1){duan=DSY_CODE[q];} else if(i==2){duan=DSY_CODE[q];} else if(i==3){duan=DSY_CODE[s];} P0=duan; DelayMS(2); } //主程序 void main() {

TMOD=0x02; }

TH0=0x14; TL0=0x00; IE=0x82; TR0=1; duankai=0; jingbao=0; while(1) {

ST=OE=0;

//启动A/D转换 }

//T0定时器中断给ADC0808提供时钟信号 void Timer0_INT() interrupt 1 { }

CLK=~CLK; Display_Result();

}

while(!EOC); OE=1; d=P3;

//等待转换完成

ST=1; ST=0;

五、总电路设计仿真图(见附录) 六、器件选择及实现功能:

1、52单片机 (一个):实现由模数转换器传输的数字信号,经过运算公式,实现对数码管个个引脚赋值

2、ADC0809 (一个):实现由电源传输的模拟信号到数字信号的转换

3、数码管 (一个):实现整个电路功能的电压显示 4、二极管 (一个):通过亮与不亮来判断电路是否工作

5、三极管 (三个):放大数码管的电流,实现数码管显示的暗亮程度 6、继电器 (一个):实现保护电路的功能 7、监控开关 (一个):复位开关

8、稳压管 (一个):实现待测电源电压在5V范围内 9、晶振 (一个):实现整个电路工作在一定的频率下 10、电源 (一个):提供整个电路的电源

11、1K电阻,4.7K电阻,3.3电容, 104电容 12、导线若干 13、插针若干

七、心得体会

通过本次设计,自己有了长足的进步,在这次电子工艺实习中,无论是在硬件连接方面还是在软件编程方面都有了很大的提高。除此之外,还掌握了Protus和keil等软件的安装和使用,学会了软件编程设计和系统仿真。本次设计采用STCC52单片机,其功能更为完善,应用领域也更为广泛,本次实习,对单片机引脚和各部分功能进一步加深,掌握了时钟电路,复位电路等最基本的设计。设计中采用的AD转换转换芯片PCF8591,可以熟练地运用各部分功能,

总之这次电路的设计和仿真,基本上达到了设计的功能要求,当然自己还存在许多不足,尤其是在软件编程方面,需要查阅大量的资料和咨询。在以后的实践中,要继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。

八、参考文献

【1】电子工艺实习.机械工业出版社,2003年

【2】单片机原理及接口技术.北京:机械工业出版社,2004年10月 【3】数字电路逻辑设计.高等教育出版社,2005年12月 【4】单片机使用入门.北京:化学工业出版社,2009年

图真仿路电总 录附

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务