基于单片机的多路数据采集系统设计论文毕设论文.doc
《基于单片机的多路数据采集系统设计论文毕设论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的多路数据采集系统设计论文毕设论文.doc(20页珍藏版)》请在咨信网上搜索。
基于单片机的多路数据采集系统设计 物理与电子信息学院 电子信息科学与技术专业 学号:指导教师: 摘要:本文介绍了基于单片机的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。数据采集与通信控制采用了模块化的设计,数据采集与通信控制采用了单片机AT89S52来实现,硬件部分是以单片机为核心,还包括A/D模数转换模块,显示模块,和串行接口部分。该系统从机负责数据采集并应答主机的命令。8路被测电压通过模数转换器ADC0809进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过串行口MAX232传输到上位机,由上位机负责数据的接受、处理和显示,并用LED数码显示器来显示所采集的结果。软件部分应用VC++编写控制软件,对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。 关键词:数据采集;89C52单片机;ADC0809;MAX232 The Design Of Multi-channel Data Acquisition System Based On SCM Li Zhe College of Physics and Electronic Information Electronic information science and technology No: 010414055 Tutor: Zhai Yan-Lei Abstract: This article describes the hardware design and software design of the data on which based on signal-chip microcomputer .The data collection system is the link between the digital domain and analog domain. It has an very important function. The introductive point of this text is a data to collect the system. The hardware of the system focuses on signal-chip microcomputer .Data collection and communication control use modular design. The data collected to control with correspondence to adopt a machine 8051 to carry out. The part of hardware’s core is AT89S52, is also includes A/D conversion module, display module, and the serial interface. Slave machine is responsible for data acquisition and answering the host machine.8 roads were measured the electric voltage to pass the in general use mold-few conversion of ADC0809,the realization carries on the conversion that imitates to measure the numeral to measure towards the data that collect .Then send the data to the host machine through MAX232.the host machine is responsible for data and display, LED digital display is responsible display the data. The software is partly programmed with VC++. The software can realize the function of monitoring and controlling the whole system. It designs much program like data-acquisition treatment,data-display and data-communication ect. Key words: AT89C52; ADC0809; MAX232 目 录 摘要 1 目 录 3 1 引言 6 1.1 研究背景及其目的意义 6 1.2 国内外研究现状 6 1.3 该课题研究的主要内容内容 6 2 数据采集 7 2.1 数据采集系统 7 2.2 方案器件选择 8 2.2.1 A/D模数转换的选择. 8 2.2.2单片机的选择. 8 2.2.3 串行口的选择 8 2.2.4 显示部分 8 2.2.5 按键 8 3 硬件电路 8 3.1 主机电路 8 3.1.1 主机电路原理图设计 8 3.1.2 单片机 8 3.1.3 LED数码显示器的应用原理 9 3.2 从机电路 9 3.2.1 从机电路原理图设计 9 3.2.2 单片机之间的通信 9 3.2.3 模数转换器ADC0809 10 4 软件部分 10 4.1 简介KeilUvision2 10 4.2 主机程序设计 11 4.3 从机程序设计 14 5 调试结果 16 6 总结 16 参考文献 16 附录1 16 附录2 17 3 1 引言 1.1 研究背景及其目的意义 近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。 数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文。20世纪70年代后期,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统[1]。20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。第二类以数据采集卡、标准总线和计算机构成。 20世纪90年代至今,该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。 1.2 国内外研究现状 数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。 1.3 该课题研究的主要内容内容 数据采集技术是信息科学的重要分支之一, 它研究信息数据的采集、存储、处理以及控制等问题。 本系统采用下位机负责模拟数据的采集,从单片机负责采集八路数据,并应答主机发送的命令,上位机即主机是负责处理接受过来的数字量的处理及显示,主机和从机之间用RS-232进行通信。 2 数据采集 2.1 数据采集系统 数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。 在该系统中需要将模拟量转换为数据量,而 A/D是将模拟量转换为数字量的器件。在该系统中采用的是8051系列的单片机。它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。双机通信的串行口可以采用RS232C标准接口,由芯片MAX232实现双机的通信。而数据的显示则采用的是LED数码管,在生活中接触也较多[2]。 完成毕业设计所需要的系统框图如图2.1所示: A/D转换器 单片机 单片机 LED显示器 键盘 MAX232 采集信号 图1 系统框图 2.2 方案器件选择 2.2.1 A/D模数转换的选择:在本设计选用的是逐渐逼近式A/D转换器——ADC0809. 2.2.2单片机的选择:而本设计选用的是AT89C52. 2.2.3 串行口的选择:该串行口我选用了标准RS-232C接口,常用的芯片是MAX232。 2.2.4 显示部分:本设计选用的是八段发光二极管数码显示器。采用动态扫描显示法。 2.2.5 按键 键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。非编码键盘有两种方法:一种是独立按键接口;另一种是矩阵式按键接口。该系统曹勇矩阵式按键。 3 硬件电路 3.1 主机电路 该系统是一个主从式多路数据采集系统,它的主机包括按键和显示两部分。 3.1.1 主机电路原理图设计 图2 主机电路原理图 3.1.2 单片机 P0口用来显示显示数据,由于P0口输出两路数据,所以需要连接74HC573,进行数据的锁存和传输,并由P2.6和p2.7控制。P1口接按键进行采集通道的选择。 3.1.3 LED数码显示器的应用原理 简单的讲,LED数码显示器就是由发光二极管组成的LED数码显示器有两种连接方式:共阴极接法;共阳极接法。该系统上采用共阴极接法[3]。 3.2 从机电路 3.2.1 从机电路原理图设计 从机单片机P1.0-P1.2口接ADC0809的A、B、C端,进行地址的选择。P2口接ADC0809的OUT1-OUT8。单片机ALE接四分频,四分频输出接ADC0809的CLK端。P1.4接OE,P1.5接EOC,P1.6接ADC0809的START和ALE端。 图3 从机电路设计图 3.2.2 单片机之间的通信 单片机与MAX232的连接如图3.6所示 图4 单片机与MAX232的连接图 3.2.3 模数转换器ADC0809 1、ADC0809时序图 图5 ADC0809的时序图 4 软件部分 4.1 简介KeilUvision2 Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些组合在一起。其使用的过程为:新建工程、新建程序文件、把程序文件添加到工程文件开始调试[4]。 4.2 主机程序设计 本软件系统有一个主程序,五个子程序,五个子程序分别为向串口发送数据子程序putc_to_serialport()键盘扫描子程序Keys_Scan()、LED显示子程序Display_Result(int d)、延时子程序Delay()主机串口接收中断子程序Serial_INT() interrupt 4 [5]。 开始 初始化 启动定时器1 开中断 再根据扫描到的键盘号,发送相应的数据给串口。 调用一个Display()在LED上显示F 判断是否有按键按下 Y N 图6主程序 数据发送到串行口 当T1=0时,则传送结束 TI=0 图7 向串口发送数据子程序putc_to_serialport() 开始 显示个位 显示十分位 显示百分位 显示小数点 结束 图8 LED显示程序Display_Result(int d) 开始 先将低4位置1选定4行 然后判断该按键发生在哪一列 是否有按键按下 将列数赋给KeyNo KeyNo=16 将高4位置1选定4列 再判断发生在那一行 0—3行分别附加起始值0,4,8,12 返回 N Y 图9键盘扫描子程序Keys_Scan() 开始 接受数据 对数据进行相关处理 调用Display_Result(m) 图10 主机串口接受中断子程序Serial_INT() interrupt 4 4.3 从机程序设计 该部分的程序包括一个主程序、三个子程序,三个子程序分别为从机串口接收中断函数Serial_INT() interrupt 4、向串口发送数据子程序putc_to_SerialPort(uchar c)和模数转换子程序ADCON。串口发送数据子程序如图7 。开始 初始化 启动定时器1 开中断 调用Adcon() 结束 图11 主程序 开始 选定通道号 开始转换 转换结束将得到的数据发送给串口 结束 图12 模数转换子程序ADCON 开始 接收串口数据 判断接受到的数据第4位是否为1 Y N 按选定的通道号采集 选定循环采集方式 结束 图13 从机串口接收中断函数Serial_INT() interrupt 4 5 调试结果 在整个系统中,主机用到了9个按键,按键0按下后,发送一个00H的数据给从机,而从机接收到这个信号就开始调用一个循环采集方式,按键1-8用于选择采集方式,分别送相应的采集线路的通道号给从机,然后再将从机转换好的数据和采集线路的通道号发送给主机并用LED数据显示器显示出来;当主机没有按键按下时,则发送一个数F给LED [6]。 6 总结 在翟老师充分了解每个学生对知识掌握程度的基础上,通过对论文知识体系以及框架结构的精心筛选,最终确定了我的论文设计内容。在具体的设计过程中,翟老师不厌其烦的给与设计上的指导方案,实践、修正,再实践、再修正,反反复复最后设计完成。这些给了我极大地帮助和动力。这些总能让我在困惑的时候看到光明。在此感谢翟老师的悉心指导,使我的毕业设计一步步走向完善,取得今天的成功。 参考文献 [1] 严洁.单片机原理及其接口技术[M].机械工业出版社,2010:65-105. [2] 范红刚.51单片机自学笔记[M].北京航空航天大学出版社,2009:116-130. [3] 高云.基于MSP430的温室多路数据采集系统[M].西安电子科技大学出版社,2009:No.8. [4] 常铁原,王欣,陈文军. 多路数据采集系统的设计[M].电子工业出版社,2008:No.11. [5]李丽敏.基于单片机的多路数据采集系统的设计[M].电子科技大学出版社,2008:No.4. [6] 彭伟.单片机C语言程序设计实训100例[M].电子工业出版社,2009:104-110. 附录1 系统硬件电路仿真图: 附录2 主机电路程序 19 #include<reg51.h> #define uchar unsigned char #define uint unsigned int uint KeyNo; sbit smgd=P2^6; sbit smgk=P2^7; uchar code LEDData[]={0X3F,0X06,0X5B,0X4F,0X66, 0X6D,0X7D,0X07, 0X7F, 0X6F,0X77, 0X7C,0X39,0X5E,0X79, 0X71}; void Delay(uint t) //定义延时函数 { register uint bt; for(;t;t--) for(bt=0;bt<124;bt++); } /**************LED显示子程序***************/ void Display_Result(int d) { smgk=1; P0=0X7E; smgk=0; smgd=1; P0=LEDData[d/100]; smgd=0; //显示百位 Delay(5); smgk=1; P0=0X7D; smgk=0; smgd=1; P0=LEDData[(d%100)/10]; //显示十位 smgd=0; Delay(5); smgk=1; P0=0x7B; smgk=0; smgd=1; P0=LEDData[d%100%10]; //显示个位 smgd=0; Delay(5); smgk=1; P0=0X77; smgk=0; smgd=1; P0=0x80; smgd=0; //显示小数点 Delay(5); } /************键盘扫描子程序**************/ void Keys_Scan() { uchar Tmp,An; P1=0XF0; //低四位置1,放入4行 Delay(1); An=P1^0XF0; //按键后11110000将变成XXXX0000,X中有一个为0,3个仍为1,而异或操作会把3个1变成0,唯一的0变成1 Tmp=An>>4; //该表达式将高4位移到低四位 switch(Tmp) //判断按键发生在哪列 { case 1:KeyNo=0;break; case 2:KeyNo=1;break; case 4:KeyNo=2;break; case 8:KeyNo=3;break; default: KeyNo=16; //无键按下 } P1=0X0F; //高4位置0,放入4列 Delay(1); Tmp=P1^0x0F; //改过处## // 按键后00001111将变成0000XXXX,X中有一个为0,3个仍为1,而异或操作会把3个1变成0,唯一的0变成1 switch(Tmp) //0-3行分别附加起始值0,4,8,12 { case 1:KeyNo+=0;break; case 2:KeyNo+=4;break; case 4:KeyNo+=8;break; case 8:KeyNo+=12;break; } } /********向串口发送数据子程序*********/ void putc_to_serialport(uchar C) { SBUF=C; while(TI==0); //改过处 TI=0; } Display() { smgk=1; P0=0X07; smgk=0; smgd=1; P0=0X0F; smgd=0; } /*******主程序*******/ void main() { P0=0x00; SCON=0x50; //串口工作于方式1 TMOD=0x20; //T1工作于模式2 PCON=0x00; //波特率不加倍 TH1=0xFD; //波特率为9600 TL1=0xFD; TI=RI=0; TR1=1; //启动定时器1 IE=0x90; //允许串口中断 while(1) { Delay(100); if(P1!=0X0F) Keys_Scan(); else {switch(KeyNo) { case 0:putc_to_serialport(0X00); //循环按键即4列1行 break; case 1:putc_to_serialport(0XF8); break; case 2:putc_to_serialport(0XF9); break; case 3:putc_to_serialport(0XFA); break; case 4:putc_to_serialport(0XFB); break; case 5:putc_to_serialport(0XFC); break; case 6:putc_to_serialport(0XFD); break; case 7:putc_to_serialport(0XFE); break; case 8:putc_to_serialport(0XFF); break; case 16:Display(); } } } } /*******主机串口接收中断函数*********/ void Serial_INT() interrupt 4 { int i,j,m; long int n; uchar c; if(RI) { RI=0; c=SBUF; Display_Result(c); } } 从机电路程序 # include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit OE=P1^4; sbit EOC=P1^5; sbit ST=P1^6; void Delay(uint x) { uchar i; while(x--) for(i=0;i<120;i++); } /********向串口发送数据子程序********/ void putc_to_SerialPort(uchar c) { SBUF=c; while(TI==0);TI=0; } /*********A/D转换子程序*********/ void Adcon() { int j,m=0XF8; uchar n; for(j=0;j<8, P1=m;j++) { ST=0;ST=1;ST=0; while(EOC==0); OE=1; n=P2; OE=0; putc_to_SerialPort(n); m++; Delay(255); } } /*******主程序*******/ void main() { TMOD=0X20; //T1工作于模式2 SCON=0X50; //串口工作于方式1 PCON=0X00; //波特率不加倍 TH1=0XFD; TL1=0XFD; TI=RI=0; IE=0X90; //允许串口中断 TR1=1; //启动定时器1 while(1) { } } /********从机串口接收中断函数********/ void serial_INT() interrupt 4 { uint i,c; uchar val; if(RI) { RI=0; c=SBUF; i=c&0X08; //判断接收到的第四位是否为1,如果为1,则按选定的通道采集,否则就是循环采集 switch(i) { case 0: Adcon();break; case 8: P1=c; ST=0;ST=1;ST=0; while(EOC==0); OE=1; val=P2; OE=0; putc_to_SerialPort(val); break; } } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 路数 采集 系统 设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文