欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    于基单片机8位数据采集设计学生本科毕业设计文档格式.docx

    • 资源ID:8323085       资源大小:166.71KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    于基单片机8位数据采集设计学生本科毕业设计文档格式.docx

    1、第三章 硬件部分 83.1主机部分 83.1.1 主机部分原理图设计 83.2 从机部分 133.2.1 从机的电路原理图设计 13第四章 软件部分 224.1 主机程序设计 264.2 从机部分程序设计 30第五章 调试结果 33致谢 36参考文献 37附录1 40第 一 章 绪 论传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把握。本系统采用下位机负责模拟数据的采集,从单片机负责采集八路数据,并应答主机发送的命令,上位机即主

    2、机是负责处理接受过来的数字量的处理及显示,主机和从机之间用RS-232C进行通信。这样用户可以在上位机上编写各种程序对文件中的数据进行有效查询和分析,有利于工业过程的长期正常运行和检查。该系统采用的是AT89S52单片机,此芯片功能比较强大,能够满足设计要求。第二章 数据采集系统简介数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。在该系统中需要将模拟量转换为数据量,而 A/D是将模拟量转换为数字量的器件,他需要考虑的指标有:分辨率、转换时间、转换误差等等。而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数

    3、据传输等一系列的任务。在该系统中采用的是8051系列的单片机。双机通信的串行口可以采用RS-232-C标准接口,由芯片MAX232实现双机的通信。而数据的显示则采用的是LED数码管,该器件比较简单,在生活中接触也较多。数据采集系统一般由信号调理电路,多路切换电路,采样保持电路,A/D,单片机等组成。所需要的系统框图如图2.1所示:图2.1 系统框图第三章 硬件部分3.1主机部分该系统是一个主从式多路数据采集系统,主机和从机均用单片机实现,它的主机部分负责数据处理和显示,主机和从机之间用RS-232进行通信。它由AT89S52、MAX232、LED数码显示器组成。3.1.1 主机部分原理图设计由

    4、于主机要对从机有一个命令,所以用到按键,将按键接到单片机AT89S52的P3.4的端口上,按键的一端接地,当P3.4这条I/O线是一个低电平时,则表示按键按下。主机还要负责对采集到的数据进行处理和LED显示,用两个74HC573,一个与单片机AT89S52的P2.7口相连用于位选,一个与单片机AT89S52的P2.6口相连用于段选。单片机的P0口的8位数据线与用于段选的74HC573的D0D7相连,用于数码管上具体的数字的显示。单片机P0口的八位数据线与用于位选的74HC573的D0D7相连,用于在哪个数码管上显示。主机跟从机的连接,又涉及到一个串行口双机通信的问题,根据单片机双机通信距离、抗

    5、干扰性等要求,选择RS-232-C串行接口方法,选择串行口MAX232来连接主机和从机,将MAX232的11、12脚分别与单片机AT89S52的P3.1,P3.2脚相连,再将MAX232上的13、14脚分别与db-9的3、6脚相连。单片机AT89S52的18、19脚与它的晶振电路相连,第9脚与它的复位电路相连。其原理图如图3.1所示图3.1主机部分电路原理图3.2 从机部分 该系统的从机负责A/D模数转换,并应答主机的命令,需要用到ADC0809、AT89S52,又由于它们两个的时钟频率不一样,所以又要用到一个74LS74。3.2.1 从机的电路原理图设计该部分需要对模拟量进行一次模数转换,则

    6、要用到一个ADC0809,又因为它们之间的时钟频率不一样又需要用到一个74LS74对其进行一个二分频的工作,这个只需要将74LS74的第3根引脚与单片机AT89S52的第30根引脚相连,将74LS74 的第9根引脚与ADC0809的时钟信号引脚相连。单片机AT89S52的P0口与ADC0809的D0D7相连,而ADC0809的ADDA、ADDB、ADDC分别与P0口的低三位相连。其用到的MAX232与主机部分的电路连接方法一样。其电路图如3.5所示 图3.5 从机部分电路设计图第四章 软件部分4.1 主机程序设计本软件系统有一个主程序,五个子程序,五个子程序分别为向串口发送数据子程序putc_

    7、to_serialport()、键盘扫描子程序Keys_Scan()、LED数据显示子程序Display_Result(int d)、延时子程序Delay()、主机串口接受中断子程序Serial_INT() interrupt 4。(1)主程序主程序对系统进行初始化,主要是进行定时/计数的初始化,然后调用键盘扫描程序Keys_Scan(),再根据按下的键来调用向串口发送数据子程序putc_to_serialport()将相应的数据发送给串行口。当没有键按下时,则送一个数F给LED显示器。其流程图见图4.1(2)向串口发送数据子程序putc_to_serialport() 该程序首先将数据发送到

    8、串行口,当T1=0时,表明传送结束。其流程图如4.2所示(3)键盘扫描子程序Keys_Scan() 该程序是先将行选好,然后再选定列就可以确定到具体的哪一个按键。其流程图如图4.3所示(4)LED显示程序Display_Result(int d)该子程序用的数码管动态显示方式。先将单片机的P2.7口选通进行位选,然后将位选的值发送给单片机P1口。接着将单片机的P2.6口选通进行段选,然后将要显示的数字的值发送给P0口。然后调用延时,接着将P2.7、P2.6口置0,下面是重复上面的过程,直到要显示的数字全部显示在数码上。其流程图如4.4所示。(5)主机串口接受中断子程序Serial_INT()

    9、interrupt 4。当RI =1时,接受串口过来的数据,并对该数据进行X*05H/0FFH的处理,接下来用处理过的数据调用LED显示程序Display_Result(int d)。如图4.4所示图4.1主程序图4.2 向串口发送数据子程序putc_to_serialport()图4.3键盘扫描子程序Keys_Scan()图4.4 LED显示程序Display_Result(int d)图4.5 主机串口接受中断子程序Serial_INT() interrupt 44.2 从机部分程序设计该部分的程序包括一个主程序、三个子程序,三个子程序分别为从机串口接受中断函数Serial_INT() i

    10、nterrupt 4、向串口发送数据子程序putc_to_SerialPort(uchar c)和模数转换子程序ADCON。主程序是进行系统的初始化,由于主从两个单片机要进行通信,所以两个单片机的初始化应该是相同的,并调用A/D转换。其流程图如图4.6所示(2)从机串口接受中断函数Serial_INT() interrupt 4因为发送完成和接受到新字节都会触发串口中断,因此串口中断程序里用if(RI)来表示接受中断,然后将RI清0。再判断接受到的数据第4位是否为1,如果为1,则按照主机发送过来的通道进行采集,如果为0,则调用循环采集程序。如图4.7所示(3)模数转换子程序ADCON先要选通A

    11、DC0809,又因为ADC0809具有8个通道,利用For循环进行8次采集,接下来选择转换通道,F8HFFH用以选择输入模拟信号的通道IN0IN7的选择,首先从第一个通道开始,然后执行一条读取转换结果的指令,再将转换得到的结果送给串行口,再依次循环,将通道号自增1,直到8个通道全部转换完。其流程图如图4.8所示(4)向串口发送数据子程序putc_to_SerialPort(uchar c)程序首先将数据发送到串行口,当T1=0时,表明传送结束。如图4.2所示图4.6 主程序图4.7 从机串口接受中断函数Serial_INT() interrupt 4图4.8模数转换子程序ADCON第五章 调试

    12、结果 这个系统是一个主从式的数据采集系统。系统调试以程序为主,硬件调试应先检测电路的焊接是否正确,然后用外用表检测或通电检测其是否有短路或断路。软件调试包括调试程序和对硬件准确性的调试。在整个系统中,主机用到了9个按键,按键0按下后,发送一个00H的数据给从机,而从机接收到这个信号就开始调用一个循环采集方式,然后从机采集完数据后再将转换好的数据和采集线路的通道号发送给主机并用LED数据显示器显示出来;按键1-8用于选择采集方式,分别送相应的采集线路的通道号给从机,然后再将从机转换好的数据和采集线路的通道号发送给主机并用LED数据。致谢大学三年学习时光已经接近尾声,在此我想对我的母校,我的父母、

    13、亲人们,我的老师和同学们表达我由衷的谢意。感谢我的家人对我大学三年学习的默默支持;感谢我的母校兰州文理学院给了我在大学三年深造的机会,让我能继续学习和提高;感谢兰州文理学院的老师和同学们三年来的关心和鼓励。老师们课堂上的激情洋溢,课堂下的谆谆教诲;同学们在学习中的认真热情,生活上的热心主动,所有这些都让我的三年充满了感动。 这次毕业论文设计我得到了很多老师和同学的帮助,其中我的论文指导老师苑老师对我的关心和支持尤为重要。每次遇到难题,我最先做的就是向苑老师寻求帮助,而苑老师每次不管忙或闲,总会抽空来找我面谈,然后一起商量解决的办法。苑老师平日里工作繁多,但我做毕业论文的每个阶段,从选题到查阅资

    14、料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。这几个月以来,苑老师不仅在学业上给我以精心指导,同时还在思想给我以无微不至的关怀,在此谨向苑老师致以诚挚的谢意和崇高的敬意。感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,在此,我再一次真诚地向帮助过我的老师和同学表示感谢!参考文献1 严洁.单片机原理及其接口技术.机械工业出版社,2010,65-1052 范红刚.51单片机自学笔记.北京航空航天大学出版社,20093 高云.基于MSP430的温室多路数据采集系统.农机化研究,2009,No.84 常铁原,王欣,陈文军. 多路数

    15、据采集系统的设计.电子技术应用,2008,No.115 叶红海,李丽敏.基于单片机的多路数据采集系统的设计与实现.2008,No.46 彭伟.单片机C语言程序设计实训100例.电子工业出版社,2009,46-48,104-1107 杨居义,杨晓琴,王益斌等.单片机课程设计指导.清华大学出版社,2009,135-1418 刘刚,秦永左,朱杰斌.单片机原理及应用.北京大学出版社,2006,76-98,134-1559 林祝亮,武林,杨金华.基于双单片机的多路数据采集系统设计.仪器仪表学报,2006,No.610 元增民,张文希.单片机原理与应用基础.国防科技大学出版社,2006,205-26611

    16、 王琳,商周,王学伟.数据采集的发展及应用.电测与仪表,2004,No.46412 V. Schmidt, Control, data acquisition, and remote participation for fusion research, Fusion Eng. Des. 81 (2006) 17021712. 13 A.Neto,H.Fernandes,A.Duarte, Firesignal-Data acquisition and control system software.FusionEngineering and Design 82(2007)1359-1364.附

    17、录1主机部分程序#include#define uchar unsigned char#define uint unsigned intsbit k1=P34;sbit smgd=P26;sbit smgk=P27; uchar Pre_KeyNo=16,KeyNo=16;uchar code LEDData=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07, 0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79, 0X71/*延时子程序*/void Delay(uint x) uchar i; while(x-)for(i=0;i4; /该表达式

    18、将高4位移到低四位 swith(Tmp) /判断按键发生在哪列 case 1:KeyNo=0;break; case 2:KeyNo=1; case 4:KeyNo=2; case 8:KeyNo=3; default: KeyNo=16; /无键按下P3=0X0F; /高4位置0,放入4列Tmp=P30xF0; / 按键后00001111将变成0000XXXX,X中有一个为0,3个仍为1,而异或操作会把3个1变成0,唯一的0变成1switch(Tmp) /03行分别附加起始值0,4,8,12 case 1:KeyNo+=0;KeyNo+=4;KeyNo+=8;KeyNo+=12;/*向串口发

    19、送数据子程序*/void putc_to_serialport(uchar C) SBUF=C; while(T1=0);TI=0;Display() smgK=1; P1=0X01; Smgd=1; P0=OXOF; /*主程序*/ 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(P3!=0

    20、X0F) Keys_Scan(); swith(KeyNo) case 0:putc_to_serialport(0X00); break;putc_to_serialport(0XF8);putc_to_serialport(0XF9); case 3:putc_to_serialport(0XFA);putc_to_serialport(0XFB); case 5:putc_to_serialport(0XFC); case 6:putc_to_serialport(0XFD); case 7:putc_to_serialport(0XFE);putc_to_serialport(0XFF

    21、); case 16:/*主机串口接受中断函数*/void Serial_INT() interrupt 4 if(RI) int i,j,m; long int n; uchar c; c=SBUF; i=c*0x05; j=i*0x10; n=j*0x10; m=n/0xFF; Display_Result(m); 从机部分程序# include sbit ST=P32;sbit EOC=P36;sbit OE=P37;uchar i;while(x-) for(i=0;/*向串口发送数据子程序*/void putc_to_SerialPort(uchar c) SBUF=c; while(TI=0);/*A/D转换子程序*/void Adcon() int j,m=0XF8; uchar n; for(j=0,P0=m;j+;j8) ST=0;ST=1;ST=


    注意事项

    本文(于基单片机8位数据采集设计学生本科毕业设计文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开