版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学信息商务学院2014届毕业设计说明书毕业设计说明书基于单片机的电力数据采集系统设计学生姓名: 学号:信息商务学院学院:自动控制系系别:电气工程及其自动化专业:指导教师:基于单片机的电力数据采集系统设计摘要本文介绍了基于单片机的电力数据采集的硬件设计和软件设计,电力数据采集系统是电力模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用。本文介绍的重点是电力数据采集系统,而该系统硬件部分的重心在于单片机。数据采集与通信控制采用了单片机STC89C52来实现,硬件部分是以单片机为核心,还包括A/D模数转换模块,显示模块,USB接口和串行接口部分。该系统从机负责数据采集并应答主机的命令。8路被测电压通过模数转换器PCF8591进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过USB-UART转换电路PL2303传输到上位机,由上位机负责数据的接受、处理和显示,并用LED数码显示器来显示所采集的结果。软件部分应用KeilUvision3编写控制软件,对数据采集系统、模数转换系统、数据显示、数据通信等程序进行了设计。关键词:单片机,数据采集,STC89C52,PCF8591BasedMicrocontrollerOfDataAcquisitionSystemDesignPowerAbstractThisarticledescribesthehardwaredesignandsoftwaredesignofthedataonwhichbasedonsignal-chipmicrocomputer.Thedatacollectionsystemisthelinkbetweenthedigitaldomainandanalogdomain.Ithasanveryimportantfunction.Theintroductivofthistextisadatatocollectthesystem.Thehardwareofthesystemfocusesonmicrocomputer.Datacollectionandcommunicationcontrolusemodulardesign.ThedatacollectedtocontrolwithcorrespondencetoadoptamachineSTC89C52tocarryout.Thepartofhardware’scoreisSCM,isalsoincludesA/Dconversionmodule,displaymandtheserialinterface.Slavemachineisresponsiblefordataacquisitionandanshostmachine.8roadsweremeasuredtheelectricvoltagetopasstheingeneralusemconversionofPCF8591,therealizationcarriesontheconversionthatimitatestomeanumeraltomeasuretowardsthedatathatcollect.ThensendthedatatothehostmachinethroughPL2303orRS-232.thehostmachineisresponsiblefordataanddisplay,LEDddisplayisresponsibledisplaythedata.ThesoftwareispartlyprogrammedwithKeiluvision3Thesoftwarecanrealizethefunctionofmonitoringandcontrollingthewholesystem.Itdesignsmuchprogramlikedata-acquisitiontreatment,data-displayanddata-communicationetc.KeyWords:SCM,Dataacquisition,STC89C52,PCF8591 中北大学信息商务学院2014届毕业设计说明书中北大学信息商务学院2014届毕业设计说明书中北大学信息商务学院2014届毕业设计说明书目录绪论错误!未定义书签。研究背景及目的意义错误!未定义书签。国内外研究现状21.3该课题研究的主要内容31.4采用方法错误!未定义书签。1.5实现步骤32开发环境及开发工具5Protel99se介绍5KeilUvision3介绍6MicrosoftVisualStudio2005介绍73数据采集8数据采集系统8方案论证8单片机的选择8A/D模数转换的选择9串行口的选择9LED显示部分10按键10通信方式10硬件部分12芯片选择及功能介绍12单片机的概述12简介STC89C521374HC138简介1874HC245简介19PL2303简介2124C01简介23 第I页共Ⅱ页LED数码显示器的应用原理24模数转换器PCF859125原理图设计28PCB图设计29软件部分30单片机主程序设计30PC机显示界面程序设计33调试结果346总结35附录A:电路原理图36附录B:电路布线图37附录C:电路PCB图38附录D:单片机电力数据采集代码39附录E:PC机接收显示界面代码47参考文献49致谢51 第II页共II页中北大学信息商务学院2014届毕业设计说明书中北大学信息商务学院2014届毕业设计说明书 第页共51页附录D:单片机数据采集系统代码#include<reg51.h>#include<intrins.h>typedefunsignedcharuint8;typedefunsignedintuint16;typedefunsignedlonguint32;#defineSLAVEADDR0x90#definenops()do{_nop_();_nop_();_nop_();_nop_();_nop_();}while(0)sbitSCL=P3^7;//I2C时钟sbitSDA=P3^6;//I2C数据uint8number[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xa7,0xa1,0x86,0x8e};sbitENLED=P1^4;sbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;sbitLED=P0^0;staticuint8digit=0;uint8thousandsdigit,hundredsdigit,tensdigit,singledigit;voiddelay(uint16n){while(n--);}voiddelay_ms(uint16n){uint8m=120;while(n--)while(m--);}voidi2c_start(){SCL=1;nops();SDA=1;nops();SDA=0;nops();SCL=0;}voidi2c_stop(){SCL=0;nops();SDA=0;nops();SCL=1;nops();SDA=1;nops();}voidi2c_ACK(bitck){if(ck) SDA=0;elseSDA=1;nops();SCL=1;nops();SCL=0;nops();SDA=1;nops();}biti2c_waitACK(){SDA=1;nops();SCL=1;nops();if(SDA){SCL=0;i2c_stop();return1;}else{SCL=0;return0;}}voidi2c_sendbyte(uint8bt){uint8i;for(i=0;i<8;i++){if(bt&0x80)SDA=1;elseSDA=0;nops();SCL=1;bt<<=1;nops();SCL=0;}}uint8i2c_recbyte(){uint8dee,i;for(i=0;i<8;i++){SCL=1;nops();dee<<=1;if(SDA)dee=dee|0x01;SCL=0; nops();}returndee;}biti2c_readbyte(uint8com,uint8*dat){i2c_start();i2c_sendbyte(SLAVEADDR);//地址if(i2c_waitACK())return1;i2c_sendbyte(com);//控制字节if(i2c_waitACK())return1;i2c_start();i2c_sendbyte(SLAVEADDR+1);//地址if(i2c_Wakita())return1;*dat=i2c_recbyte();//读数据i2c_ACK(0);//因为只读一字节数据,不发送ACK信号i2c_stop();return0;}voiduart_init(void){ET1=0;TMOD|=0x21;//定时器1工作在方式2(自动重装)SCON=0x50;//10位uart,允许串行接受TH1=0xFD;TL1=0xFD;TR1=1;}voidUART_Send_Byte(uint8dat){SBUF=dat;while(TI==0);TI=0;}voidrefresh(){switch(digit){case0:ADDR0=0;ADDR1=0;ADDR2=0;break;case1:ADDR0=1;ADDR1=0;ADDR2=0;break;case2:ADDR0=0;ADDR1=1;ADDR2=0;break;case3:ADDR0=1;ADDR1=1;ADDR2=0;break;default:break;}}voidUART_Send_Dat(uint8dat){UART_Send_Byte(dat/100%10+'0');UART_Send_Byte(dat/10%10+'0');UART_Send_Byte(dat%10+'0');}voidtranslate(uint8ans){uint32voltage=ans;voltage=voltage*1000/51;Thousandsdigit=voltage/1000;Hundredsdigit=voltage%1000/100;Tensdigit=voltage%100/10;singleDigit=voltage%10;}main(){uint8ans;uint16counter;ENLED=0;ADDR3=1;TMOD=0x01;TH0=0xFC;TL0=0x67;TR0=1;uart_init();i2c_readbyte(0x40,&ans);UART_Send_Dat(ans);translate(ans);while(1){if(1==TF0){TF0=0;TH0=0xFC;TL0=0x67;counter++;switch(digit){case0:P0=number[singleDigit];break;case1:P0=number[tensDigit];break;case2:P0=number[hundredsdigit];break;case3:P0=number[thousandsdigit]&0x7f;break;default:P0=number[thousandsdigit]&0x7f;break;}refresh();digit++;if(4==digit)digit=0;}if(2000==counter){i2c_readbyte(0x40,&ans);UART_Send_Dat(ans);UART_Send_Byte('\r');UART_Send_Byte('\n');translate(ans);counter=0;}}}附录E:PC机接收显示界面代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.OleDb;usingSystem.IO.Ports;namespacef{publicpartialclassForm1:Form{SerialPortport=newSerialPort();publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){port.PortName="COM4";port.BaudRate=9600;port.DataBits=8;port.StopBits=StopBits.One;}voidtranslate(intans){intvoltage=ans;intthousandsdigit,hundredsdigit,tensDigit,singleDigit;voltage=voltage*1000/51;Thousandsdigit=voltage/1000;Hundredsdigit=voltage%1000/100;tensDigit=voltage%100/10;singleDigit=voltage%10;label2.Text=thousandsdigit.Stripping()+"."+hundredsdigit.ToString()+tensDigit.ToString()+singleDigit.ToString();}privatevoidbutton1_Click(objectsender,EventArgse){port.Open();stringa;a=port.Breadline();translate(Convert.ToInt32(a));port.Close();}}}参考文献李朝青.单片机原理及接口技术(简明修订版).北京:北京航空航天大学出版社,2004何立民.单片机应用系统设计.北京:北京航空航天大学出版社,2006[3]张迎新,等.单片机初级教程.北京:北京航空航天大学出版社,2003李维祥.单片机原理与应用.天津:天津大学出版社,2001林国汉,李晓秀.基于单片机的数据采集与处理系统的设计.湖南工程学院报(自然科学版),2009,19(2)姜志玲.用凌阳单片机实现多路数据采集与传输系统.西华大学学报(自然科学版),2005,24(2)何志明.基于单片机数据采集及传输系统的研究.重庆职业技术学院学报,2008,17(3)谢中华,张振军,王永泉.一种用于多种地学信号观测的信号采集系统研究.测绘通报,2006,(10)刘宝栋,刘汉峰.基于ATmega128单片机数据采集系统.电子产品世界,2006张旭,李世光.基于STM32电力数据采集系统的设计.山东科技大学,2010,11(3)宋恒力,董浩斌.利用SOC单片机的数据采集卡.电子设计应用,2004,(3)刘小强,粟梅.基于CAN总线的数据采集处理系统的设计.仪表技术与传感器,2006,(9)韩世进,张乐年.基于RS-485的多路数据采集系统.现代电子技术,2003,(11)祝常红.数据采集与处理技术[J].2000(3):30-33任家富,庹先国,陶永莉.数据采集与接口技术[M].北京:北京航空航天出版社,2007.10-12林苹华.基于AT89C51嵌入式数据采集器的设计与应用.机电技术,2007,30(2)林大增,邵强,王光强.电力数据采集几处理方法.福建省电力有限公司福州电业局,2012.12任静华.最新版VisualBasic与RS-232串行通信控制MsComm[M].北京:北京航空航天大学出版社,2005.12Microchip﹒MPLAB-ICDUser’sGuide.2003Microchip﹒PIC16F87XDataSheet.2005张友德,赵志英,涂时亮.单片微
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026生物制药细胞培养设备行业市场供需分析及投资评估规划分析研究报告
- 2026中国角膜接触镜市场消费者画像与渠道变革趋势研究
- 2026中国物流职场人才培养与薪酬结构研究报告
- 2026年初中化学期末试卷
- 2026中国智慧零售业市场深度调研及发展趋势与投资前景预测研究报告
- 2026中国智能车载智能生产线质量控制质量管理质量管理调度系统行业市场现状供需分析及投资评估规划分析研究报告
- 轻轨项目挤塑聚苯板外墙保温施工方案
- 建筑装饰技术实习报告
- 跨境数字食品安全中跨国食品中农药代谢物线上毒理互认-基于国际食品法典农药残留代谢物评估指南及各国毒理数据库差异实证
- 冠心病患者抗凝治疗-2026版介入指南核心解读
- 新能源客车安全培训课件
- GB/T 43683.3-2025水轮发电机组安装程序与公差导则第3部分:立式混流式水轮机或水泵水轮机
- 2025一级消防工程师继续教育题库及答案
- 2025-2030中国拍立得行业发展状况与未来前景预测分析报告
- 电工四级练习题库(含参考答案)
- 牛结节病的症状和治疗方法
- 企业违反纪律检讨书范文(8篇)
- 《非遗手工技艺(拓印)》课件-第一章 拓片的由来和历史
- 工程量清单及招标控制价编制服务采购实施方案
- (高清版)JTGT 5440-2018 公路隧道加固技术规范
- (正式版)QBT 2821-2024 金属晾衣架
评论
0/150
提交评论