单片机电压采集装置.docx

上传人:b****0 文档编号:285501 上传时间:2022-10-08 格式:DOCX 页数:26 大小:576.14KB
下载 相关 举报
单片机电压采集装置.docx_第1页
第1页 / 共26页
单片机电压采集装置.docx_第2页
第2页 / 共26页
单片机电压采集装置.docx_第3页
第3页 / 共26页
单片机电压采集装置.docx_第4页
第4页 / 共26页
单片机电压采集装置.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

单片机电压采集装置.docx

《单片机电压采集装置.docx》由会员分享,可在线阅读,更多相关《单片机电压采集装置.docx(26页珍藏版)》请在冰豆网上搜索。

单片机电压采集装置.docx

单片机电压采集装置

单片机课程设计任务书

专业年级学号学生姓名

任务下达日期:

设计日期:

设计题目:

单片机电压采集装置

设计专题题目:

单片机系统设计

设计主要内容:

制作单片机电压采集装置

设计要求:

1、基本要求

制作单片机电压采集装置电压采集功能在ADC0809的0通道输入0~5V电压,实时显示被测电压值(显示精度0.001V,即显示1位整数,3位小数)。

2、扩展要求

指定通道采集,模式0:

通道0模拟信号采集,模式1:

指定通道模拟信号采集,模式2:

8通道模拟信号自动循环采集,模式3:

设定报警上限值,模式4:

设定报警下限值。

系统有三个按键,分别是:

模式切换、加、减按钮,模式切换:

1号按键,模式加1;加:

2号按键,则值加1;模式1下改变通道,模式3下改变报警值;减:

3号按键,则值减1,模式1下改变通道,模式3下改变报警值。

报警设置:

设置报警上限、下限,超过上线或者低于下线时LED会亮,并发出警报声。

3、创新部分

将数码管换成LCD1602显示模式通道及电压值。

 

指导教师签字:

 

摘要

本设计介绍了基于用89S52单片机和AD0809进行电压采集的基本电路。

系统硬件电路是由主板电路和扩展板电路两部分组成。

主板电路包括单片机的最小系统,键盘电路和8个LED数码显示电路,这部分电路已制成电路板。

扩展电路中包含了A/D转换电路,单片机电压采集电路,通过调节电位器来改变输入的电压值,在主板电路的数码管中显示出所采集的电压值,该部分电路的布线部分是由自己手工完成的。

通过程序调试各个部分的功能,运用C语言编程,完成各功能模块,通过下载软件下载到单片机芯片中,最终实现电压采集功能和扩展功能。

关键词:

单片机;ADC0809芯片;C语言编程;模数转换

 

1绪论

1.1系统概述

基于单片机的电压数据采集系统通过AD0809采集8路模拟信号,转换成数字信号由单片机处理,利用数码管显示相应的电压值,具有超限声光报警功能。

1.2系统设计方案

本次实验要求设计电压采集装置,课程设计分设计、制作和调试三个部分。

设计选题以单片机为核心,基本内容应包括单片机最小系统、键盘和LED显示电路,以及设计系统涉及的其他电路。

系统硬件电路由标准电路和自制电路两部分组成。

标准电路包括单片机最小系统、8个LED数码管电路和键盘电路,这部分电路已制成电路板,可根据设计需要进行配置选用。

自制电路需自行设计焊接,包含标准电路不具备的其他电路。

设计中采用了模数转换器,利用AD0809型8位MOS型A/D转换器。

可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,实现模拟信号到数字信号的转换。

控制部分采用单片机89C52来完成。

显示部分利用LED数码管显示模块,来显示采集到的电压分量。

系统设计原理框图

 

2硬件电路设计

系统硬件电路由标准电路和自制电路两部分组成。

标准电路包括单片机最小系统、8个LED数码管电路和键盘电路,这部分电路已制成电路板,可根据设计需要进行配置选用。

自制电路需自行设计焊接,包含标准电路不具备的其他电路。

2.1单片机电路

2.1.1单片机电路板

CPU

电路

复位电路

晶振电路

数码管显示电路

按键电路

LED显示电路

电路框图

 

2.1.2单片机最小系统

CPU原理图

该原理图包含单片机以及外部连接译码,锁存电路端口,其中的ALE,REST为高电平时用来启动ADC0809.P0、P2口控制数码输出显示,P3口的P3.3、P3.4、P3.5控制按键,P1.1~P1.3控制通道选择。

晶振采用12MHZ,该频率有利于提高串口的通信可靠性,同时又保证单片机有较高的运行速度。

2.1.3单片机的复位电路

 

复位电路

当开关断开的时候,VCC对电容充电,RESET端为低电平;在开关闭合时电容放电,RESET端为高电平。

2.1.4键盘电路

1号按键P3.0---模式切换

2号按键P3.1---通道、报警限加

3号按键P3.2--通道、报警限减

4号按键P3.3--查询法,接收ad转换状态

(不作为按键使用)中断法,收ad结束中断信号

2.1.5显示译码电路

LED显示电路可提供8位LED显示;可显示P1(P3)口状态;也可显示输入按键状态

LED显示电路

显示电路采用6位共阴极LED动态扫描显示,CD4511输出所需字形,74LS138选择字位。

在动态方式中,逐个地循环地点亮各位显示器。

小数点--P2.7,bcd码输出--P2.3~P2.0,字位选择--cba=P2.6~P2.4。

如图7所示:

数码管显示电路

显示译码电路部分由P0口或P2口输出显示、控制信号,信号包含:

--4位BCD码(DCBA)

--1位小数点控制信号(DOT)

--3位位选控制信号(SEL0、SEL1、SEL2)

 

图8:

显示译码电路

显示译码电路

显示译码器采用CD4511芯片:

输入:

BCD输出:

七段码

74LS138芯片是用来控制显示时候的字位的,由于单片机的管脚是有限

 

的通过使用138芯片可以避免少使用些单片机的管脚,当输入001时,译码可得10111111:

输入:

0~7输出:

低电平

 

74LS138

2.2A/D转换

2.2.1ADC0809内部结构

ADC0809由8路模拟开关、地址锁存与译码器、比较器、256电阻阶梯、树状开关、逐次逼近式寄存器SAR、控制电路和三态输出锁存器等组成。

start

clock

输出允许

(=1,输入信号)

转换结束(=1,输出)

地址锁存,输入信号

500KHz~1MHz

启动(高电平脉冲,输入)

ADC0809结构图

2.2.2ADC0809转换原理

ADC0809转换工作时序

工作原理:

当单片机端的P3.3接低电平时,可以使两个非门打开

(1)当模拟量送至某一输入通道后,CPU将标识该通道编码的三位地址信号经数据线或地址线输入到ADDC、ADDB、ADDA引脚上。

(2)地址锁存允许ALE锁存地址信号,启动命令START启动A/D转换。

(3)转换开始,EOC变低电平,转换结束,EOC变为高电平。

EOC可作为中断请求信号。

(4)转换结束后,可通过执行IN指令,设法在输出允许OE脚上形成一个正脉冲,打开三态缓冲器把转换的结果输入到DB,一次A/D转换便完成。

IN0,通道0

参考电压:

5V

转换时钟:

接单片机ALE输出经分频后得到

启动和地址锁存信号

输出使能信号

通道地址信号

输出数据

/WR

/RD

片选信号:

P3.3=0

/INT0

CC4060_7

AD_CS

转换结束:

EOC=1

2.2.3AD转换电路

2.2.4电路设计

硬件资源分配

数码管显示电路:

用P2口:

bcd码输出--P2.3~P2.0;字位选择--CBA=P2.6~P2.4;小数点--P2.7

键盘电路:

3个键--P3(3-5)

ADC0809电压转换电路控制信号:

/WR==P3.6/RD==P3.7

EOC==P3.2CS==P3.3(可以不要,使0809常选通)

数据输出:

==P0转换通道选择地址线:

CBA==P1(3-1)

2.2.5采集数据和对应电压的转换

一个8位二进制的AD采集数据转换为5位10进制显示数据。

对应关系:

00H~FFH---0.000V~5.000V;AD分辨率为:

5/255=19.6mV;算法:

Y=X×19.6=X×196/10

具体步骤:

1、求Y=X×196,结果为双字节二进制数

2、将Y转换为十进制数,最大是一个5位的十进制数

3、去掉十进制数的最低位,相当于除10

2.3芯片74LS02内部电路

3软件设计

3.1设计任务

3.1.1基本任务进行电压采集并显示。

3.1.2扩展任务1、指定通道采集。

2、报警设置:

报警上限、报警下限。

3、将数码管换成LCD1602显示模式通道及电压值。

3.2按键定义及显示标志

系统有三个按键,分别是:

模式切换、加、减按钮。

模式切换:

1号按键,模式加1;

加:

2号按键,则值加1;模式1下改变通道,模式3下改变报警值;

减:

3号按键,则值减1,模式1下改变通道,模式3下改变报警值。

3.3程序设计

3.3.1主程序框图

主程序框图

3.3.2正常采集

把采集的电压值转化为十进制,

显示在数码管的后四位。

显示

三位小数。

正常采集程序框图

光热敏电阻采集信号:

voidkeyscan()

{

if(jian1==0)//AD采集

{

delays(10);

while(jian1==0)

{t=2;key=1;

z=0;//标志位

ad_adda=0;

ad_addb=0;

ad_addc=0;//送地址信号

}

}

if(jian5==0)//光敏电阻

{

delays(10);

while(jian5==0)

{

key=2;t=3;

ad_adda=0;ad_addb=0;ad_addc=1;//送地址信号

z=0;//标志位}

}

}

if(jian13==0)//热敏电阻

{

delays(10);

while(jian13==0)

{key=3;t=4;

ad_adda=1;ad_addb=0;ad_addc=1;//送地址信号

z=0;//标志位

}

}

huan();

}

3.3.3指定采集

指定采集

再按1--数码管最左端显示1,此时为指定通道

--按2:

通道+1,

--按3:

通道-1。

指定采集程序框图

3.3.5报警设置

再按1--数码管最右端显示3,此时为报警设置。

电压上下线显示在右边第三四位。

--按2:

电压+1,

--按3:

电压-1。

再按1--又进入正常采集,依次循环

报警设置程序框图

(使用visio软件画程序框图)

4系统调试

系统调试包括硬件调试和软件调试两部分,介绍一下我在这两方面遇到一些问题,以及如何解决的。

4.1硬件部分

硬件焊接分为单片机板和扩展版两部分。

单片机版已经焊接好,只需焊接扩展版。

在焊接扩展版时,我事先没有布局,任意焊接芯片,导致需要很长的导线,布线不规整。

我把芯片拆下,通过看其他同学的焊接,查看元件管脚图,自己在草稿纸上画出各个芯片的位置。

然后焊接,结果布线比较整齐。

4.2软件部分

开始对单片机C语言很陌生,看程序很困难,自己编写不出程序。

通过老师的讲解,和以前学过的C语言的知识,与单片机C语言基本相同,有些区别,把其中的区别搞懂了,能够编写简单的程序了。

前几个程序通过问同学,反复调试编写了出来,设定电压上下线的程序没有编写出来,通过看同学编写的程序,明白了如何编写。

通过程序调试各个部分的功能,完成各功能模块,把程序下载到单片机中,最终实现电压采集功能和扩展功能。

5总结

 

参考文献:

[1]胡汉才.单片机原理及其接口技术.3版.北京:

清华大学出版社,2010

[2]谢自美,《电子线路设计·实验·测试》(2版),华中科技大学出版社

[3]单片机实验指导书

 

附录

附录1、单片机板电路原理图

附录2、ADC0809与单片机连接图

附录3、元件清

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1