电力系统远动实验--遥测量遥信量采集方案设计.docVIP

电力系统远动实验--遥测量遥信量采集方案设计.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电力系统远动实验 遥测量遥信量采集方案设计 姓名:蒋梦姣 学号:0908190205 指导老师:张俊芳 日期:2012.12.12 一、实验目的 设计一个遥测、遥信信号采集系统,同时将采集到的信号通过串口在PC端显示 实验要求 ⒈画出信号采集系统的原理图 ⒉选出主要功能芯片 ⒊编写关键程序代码 实验内容 芯片选择 AD0809 ADC0809 是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器,一个A/D转换器和一个三态输出锁存器组成(见图1)。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 C51单片机 本实验中的核心芯片,MCS-51系列单片机拥有4组I/O口,用于控制A/D采样,遥信量采集,同时与上位机进行串口通讯。 ⒊ MAX232 MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片。 由于单片机接口电压达不到PC串口标准,需要使用MAX232电平转换芯片做驱动,以实现与PC端的串口通信。 方案原理 遥测量即为0~5V电压量,为模拟信号,需通过单片机和AD芯片方能转化为数字信号;遥信量仅有0和1两种状态,可直接使用单片机IO口进行采集。本方案展示原理,方便起见,遥信遥测量各采一路。再利用单片机的串口通信功能,借助于驱动电路,与PC端串口进行通讯,上传信息,在PC端界面显示。 实验原理图 关键代码 单片机端代码(信息采集与发送)平台:C语言 #includereg51.h unsigned char sbuf[4]; unsigned int i; unsigned int j; unsigned char getdata; unsigned int temp; unsigned int temp1; unsigned char count; unsigned char d; sbit ST=P1^1; sbit OE=P1^2; sbit EOC=P1^3; sbit CLK=P3^3; sbit yaoxin=P1^0; void TimeInitial(); void Delay(unsigned int i);// void TimeInitial() { SCON =0x50; TMOD=0x12; TH1=(65536-200)/256;//定时时间为2us,亦即CLK周期为0.4us TL1=(65536-200)%256; ET1=1; TR1=1;TH2=0xfd; TL2=0xfd; //装入初值 串行口初始化波特率9600,定时器,工作方式2 SM0=0; SM1=1;//串行口工作于方式2 EA=1;// 总中断允许 } void Delay(unsigned int i)//延时函数 { unsigned int j; for(;i0;i--) { for(j=0;j125;j++) {;} } } void () { SBUF=77; while(!TI); TI=0; Delay(10); SBUF=yaoxin; while(!TI); TI=0; Delay(10); SBUF=99; while(!TI); TI=0; Delay(10); SBUF=temp; while(!TI); TI=0; } void main()//主函数 { TimeInitial(); while(1) { ST=0;//关闭转换 OE=0;//关闭输出 ST=1;//开启转换 ST=0;//关闭转换 while(EOC==0);//判断是否转换结束:是则执行以下语句,否则等待 OE=1;//开启数据输出允许 getdata=P;//将数据取走,存放在变量getdata中 OE=0;//关闭输出 temp=getdata*1.0/255*500;//电压值转换,5V作为参考电压,分成256份 } } void t1(void) interrupt 3 using 0//定时器中断服务函数;作用:产生CLK信号 { TH1=(65536-200)/256; TL1=(65536-200)%256; CLK=~CLK; } MSComm1.PortOpen = False关闭串口 Unload Form1卸载form1 End Sub Private Sub

文档评论(0)

baihuamei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档