8路数据采集及报警控制系统.docx

上传人:牧羊曲112 文档编号:3151310 上传时间:2023-03-11 格式:DOCX 页数:9 大小:40.89KB
返回 下载 相关 举报
8路数据采集及报警控制系统.docx_第1页
第1页 / 共9页
8路数据采集及报警控制系统.docx_第2页
第2页 / 共9页
8路数据采集及报警控制系统.docx_第3页
第3页 / 共9页
8路数据采集及报警控制系统.docx_第4页
第4页 / 共9页
8路数据采集及报警控制系统.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《8路数据采集及报警控制系统.docx》由会员分享,可在线阅读,更多相关《8路数据采集及报警控制系统.docx(9页珍藏版)》请在三一办公上搜索。

1、8路数据采集及报警控制系统目 录 1.总体设计: 1.1 设计思路 1.2 课题目的 1.3 器件选择 2.硬件电路设计: 2.1 数据输入模块 2.2 模数转换模块 2.3 主控电路-单片机 2.4 显示模块 3.系统程序设计: 3.1 程序流程框图 3.2 主程序 4.总结 5.附录 1.总体设计: 1.1 设计思路 我们选择单片机与A/D转换芯片结合的方法实现本设计。使用的基本元器件是:AT89C52单片机,ADC0809模数转换芯片,74LS164,数码管,按键,电容,电阻,晶振等。 数字电压测量电路由A/D转换、数据处理及显示控制等组成。A/D转换由集成电路ADC0809完成。ADC

2、0809具有8路拟输入端口,地址线可决定对哪一路模拟输入作A/D换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2uS宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端。 通过对单片机p2.5口置低电平控制LED亮灯报警。 1.2 课题目的 掌握数据采集系统的设计方法。 结合8051设计一个8路数据采集系统。 1.3 器件选择 单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。此

3、系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路,还有可能包括定时/计数器、串行通信口、显示驱动电路、脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个最小但完善的计算机任务。单片机要使用特定的组译和编译软件编译程序,本设计选用80C51单片机。 键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。根据案件的识别方法分类,有编码键盘和非编码键盘两种。通过硬件识别的键盘称编码键盘;通过软件识别的键盘成为非编码键盘。非编码键盘有两种接口方法:一种是独立按键接口;另一种是矩阵式按键接口。本设计使用矩阵键盘。 A/D转换器的种类很多,就位数来说,可以

4、分为8位、10位、12位和16位等。位数越高其分辨率就越高,价格也就越贵。A/D转换器型号很多,而其转换时间和转换误差也各不相同。,在价格、转换速度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器ADC0809。 设计方案的框图 二、硬件电路设计: 2.1 数据输入模块 本次采集器设计的输入的模拟信号比较简单,采用滑动变阻器,外接+5V电压作为输入模拟信号,标示为RV1分别接入模数转换芯片ADC0809的IN0-IN7。完全符合输入模拟信号0-5V的调节范围,有效可靠的模拟电压信号。 2.2 模数转换模块 模拟信号通过输入端IN0IN7:8路模拟量输入端。ADDA,ADDB,ADDC三

5、个是数据选择控制端输入片选信号与P3.2,P3.3,P3.4连在一起,由A,B,C和IN0-IN7构成3-8数据器,通过AT89S51中的按键程序控制片选信号。START是 AD转换启动脉冲输入端,输入一个正脉冲使其启动。ALE是地址锁存允许信号,输入,高电平有效。将ALE和START连在一起与P3.4相连,在A/D转换完成后正脉冲的处于高电平,即可控制地址锁存器。该脉冲依靠编写的单片机中断程序模拟一个正脉冲控制。OE端口是数据输出允许信号,由单片机输入高电平控制。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。OUT1-OUT8是A/D转换的输出数字端口,与P1口相连。

6、连接方式是OUT1-OUT2和P1.7-P1.0。12和16号管脚是接基准电压分别接VCC和GND。另外10号端口是时钟频率大小不得超过640KHZ。本次设计中我们采用终端输出脉冲来模拟这个时钟脉冲,但是效果不好,所以采用外接500KHZ的信号。 2.3单片机 这是单片部分的复位电路和时钟脉冲电路。复位电路采用电平复位的方式,晶振的频率为12MHZ。连接方式分别连到单片机的19,18,9引脚。 这是单片主控部分的接法,其中P3.1到P3.7与A/D转换芯片相连,做控制口。在A/D部分已经详细介绍了连法。P2.0-P2.4是五位数码显示管的控制端。P0.0-P0.7是显示的数据输出端与五位位数码

7、管的A-G相连。 2.4 按键电路 通过串行口和2个IO口P2.5,P2.6使用74LS164扩展的矩阵键盘,实现通道的选择以及上限下限的设置。上面八个按键实现通道选择,第二行前四个实现参数设置,其他的按键未用到,没有定义。 2.5 显示电路 显示部分我们使用的是六位数码管,最后一位未用到,其中标示的是P0.0-P0.7和A-DP的连接方式,是数据输出端。P2.0-P2.4与1-5相连,做控制端口,控制哪一位显示。 2.6 报警电路 通过p2.5连接的LED实现报警功能。超过上限闪烁,低于下限一直点亮。 3.系统程序设计: 3.1 程序流程框图 3.2 程序清单 #include #inclu

8、de #define uchar unsigned char #define uint unsigned int #define input P1 sbit START=P35; sbit OE=P36;/允许输出信号位 sbit EOC=P37;/转换完成信号位 sbit AA=P32; sbit BB=P33; sbit CC=P34; sbit LED=P25; sbit p26=P26; sbit p27=P27; sbit shu1=P20; sbit shu2=P21; sbit shu3=P22; sbit shu4=P23; sbit shu5=P24; uchar tt; u

9、char mask; uchar t1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e; uchar t2=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; uint i,j; uint sx,xx; uchar rr; uchar an; uint aa; uint get_char(void); void check_key(void); void delay2ms; void display(uint temp ); /*延时

10、 5ms*/ void delay uint i; for(i=5000;i0;i-); /大约50us的延时 void delay_50us(uint i) uint j; for(;i0;i-) for(j=19;j0;j-); uchar AD uchar dat; START=0; START=1; START=0; /大于200us delay_50us(50); while(EOC=0); OE=1; dat=input; return dat; OE=0; void get_add(uchar add) CC=add/4; BB=add%4/2; AA=add%2; delay;

11、 void display(uint temp ) uint temp2; if(tt= 8) column = 0; continue; else break; /*下列语句分析被按下的键所在的行号并计算键序号*/ if(p26=0) key_code = column; else key_code = 8+column; while(!(p26&p27); delay_50us(200); while(!(p26&p27); switch(key_code) case 8: sx=sx+100; break; case 9: sx=sx-100; break; case 10: xx=xx

12、+100; break; case 11: xx=xx-100; break; default:break; return(key_code); void alarm(uint temp1) if(temp1sx) LED=0; delay_50us(70); LED=1; /delay_50us(70); if(temp1xx) LED=0; void main(void) SCON = 0; /* 将串行口设置成方式0 */ ES = 0; EA=0;/* 禁止串口中断 */ xx=300; sx=400; while(1) check_key; if(an=1&tt8) get_add(

13、tt); rr=AD; c_u(rr); display(aa); alarm(aa); 4.总结 本次课程设计用AT89c51和ADC0809以及四位数码显示管为主要元件,设计出了简单,实用的数据采集器。本文详细介绍了各个芯片的功能和特点,以及介绍了各芯片之间的连接方式。还编写了实现数据采集器的相应程序。本数据采集器最大的优点是结构简单,成本低,且具有很强的可移植性。为数据采集系统提供了一个可靠的解决方案。 经过本次课程设计,使我深深的体会到了理论应用在实际中的存在相当多的问题。要把所学的知识融会贯通也不是一件容易的事情。比如尽管通过Proteus仿真出结果,但是仿真和实际电子元器件依然存在很大的差距。要学会如何矫正这些误差,实现系统的功能着实不容易。在焊接元件的时候一不小心也容易出差错。为后期造成很大的困难, 这次课程设计也让我学到了很多东西,比如对Proteus和keil的使用。学会如何制作仿真图,调用库元件。掌握了如何使用示波器以及其他电子设备。可以使用keil编写简单的程序。对我以后的工作和学习都有巨大的影响。 5.附录 元件清单 名称 AT89c51 ADC0809 30p电容 晶振12MHZ 74LS164 数量 1 1 2 1 1 名称 20up电容 led 200欧电阻 按钮开关 六位数码管 数量 1 1 4 16 1 总体设计原理图

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号