用三菱编程指令,STC单片机上的模拟电位器数据如何采集

用三菱编程指令,STC单片机上的模拟电位器数据如何采集,第1张

可以的,你可以用三菱PLC的专用协议配合STC程序通过串口通讯。或用自由协议,自由协议比较复杂,但STC那边实现起来比较简单直接用串口按规则把电位器的值发送出来,在PLC这边写程序接收解析,PLC这边比较复杂,需要一定的编程功底。

具体的PLC专用协议,自由协议参考你可以去三菱官网下载电子档说明书,以上2种协议我都成功应用在设备上。

(需要外扩通讯板。)

优缺点:PLC专用协议STC那边需要遵守PLC固定的数据格式比如0530304646(WW指令)相对PLC那边就简单的多,因为数据直接写到了指定的寄存器内(如D,M等),可以直接使用。

PLC自由协议STC按照普通的串口发送数据方式按自己固定的格式将AD数据发送,PLC这边程序比较复杂,需要理解PLC的自由协议写法(如RS指令)并利用一定的算法将数据还原并保存到寄存器内。

显示的一个,给你吧

#include<reg52h>

#define Data P0

#define uint unsigned int

#define uchar unsigned char

sbit RS = P2^0;

sbit RW = P2^1;

sbit E = P2^2;

sbit PSB = P1^3;

sbit RET = P1^6;

/////////////////////////////////////////////////////////////////////////

// Bitmap点阵数据表 //

// : C:\桌面\1111bmp,横向取模左高位,数据排列:从左到右从上到下 //

// 尺寸: 128 64 //

/////////////////////////////////////////////////////////////////////////

unsigned char code nBitmapDot[] = // 数据表

{

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xBF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,

0xFF,0xFF,0xC8,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xBF,0xFF,0xF0,0xFF,0xFD,0xEF,0xFF,

0xFF,0xFF,0x9F,0x7F,0xFF,0x93,0xFF,0xFF,

0xFF,0x3F,0xFF,0xEE,0xFF,0xFB,0xF7,0xFF,

0xFF,0xFF,0x3F,0xBF,0xFF,0xBF,0xFF,0xFF,

0xFF,0x7F,0xFF,0xDF,0x7F,0xFB,0xFB,0xFF,

0xFF,0xFF,0x7F,0x9F,0xFF,0x7F,0xFF,0xFF,

0xFF,0x3F,0xFF,0xCF,0x3F,0xF7,0xFF,0xFF,

0xFF,0xFC,0xFF,0xDF,0xFF,0x7F,0xFF,0xFF,

0xFF,0x9F,0xFF,0xEF,0x8F,0xF7,0xFC,0xFF,

0xFF,0xFB,0xFF,0xEF,0xFE,0xFF,0xFF,0xFF,

0xFF,0xDF,0xFF,0xEF,0xE0,0x0F,0xFF,0xBF,

0xFF,0xE7,0xFF,0xE7,0xFD,0xFF,0xFF,0xFF,

0xFF,0xDF,0xFF,0xCF,0xFF,0xFF,0xFF,0xDF,

0xFF,0xCF,0xFF,0xF3,0xF3,0xFF,0xFF,0xFF,

0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xF7,

0xFF,0x3F,0xFF,0xF9,0xC7,0xFF,0xFF,0xFF,

0xFF,0xC3,0xFF,0x9F,0xFF,0xFF,0xFF,0xFD,

0x28,0xFF,0xFF,0xFC,0xBF,0xFF,0xFF,0xFF,

0xFF,0xFC,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xDF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xDF,0xFF,0xBF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xDF,0xDF,0xFF,0xBF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,

0x9F,0xDE,0x0F,0xBF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xE3,0xFC,0xCD,0xFF,0xFE,

0xFF,0x99,0xF7,0xFF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xFC,0x7F,0xE4,0xFD,0x5D,0xFF,0xFF,

0xFF,0x93,0xFB,0xBF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xE7,0xFF,0xEE,0x7F,0x5D,0xFF,0xFF,

0xF7,0x9B,0xFB,0xFF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xEF,0xFF,0xDF,0x7F,0xBD,0xFF,0xFF,

0xFF,0x5F,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xEF,0xFF,0xDF,0xBF,0x3D,0xFF,0xFF,

0xF7,0x7B,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xEF,0xFF,0x94,0x3F,0x3D,0xFF,0xFF,

0xFE,0x5F,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xBF,0xBF,0x3D,0xFF,0xFF,

0xF0,0xDB,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,

0xFF,0xEF,0xFF,0x7F,0xDF,0x3D,0xFF,0xFF,

0xFF,0xDF,0xFB,0xBF,0xBF,0xFF,0xFF,0xFF,

0xFF,0xEF,0xFE,0xFF,0xDF,0x3D,0xFF,0xFF,

0xFF,0xDB,0xFB,0xBF,0xBF,0xFF,0xFF,0xFF,

0xFF,0xE7,0xFE,0xFF,0xCF,0x7E,0xFB,0xFF,

0xFF,0xDB,0xF3,0xDF,0x7F,0xFF,0xFF,0xFF,

0xFF,0xF7,0xFE,0xFF,0xFF,0x7F,0x6B,0xFF,

0xFF,0xDD,0xE7,0xE0,0x7F,0xFF,0xFF,0xFF,

0xFF,0xF0,0x17,0xFF,0xFF,0x7F,0xFF,0xFF,

0xFF,0xDC,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x5E,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xF8,0x00,0x47,0xFF,0xFF,0xC3,0xFE,

0x7F,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,

0xFF,0xF8,0x50,0x03,0xFF,0xFF,0x7D,0xFE,

0xFF,0xFF,0xFF,0xFF,0xFE,0x1F,0xFF,0xFF,

0xFF,0xFB,0xFF,0xFF,0xFF,0x17,0xFF,0xFE,

0x7F,0xFF,0xFF,0xFF,0xFF,0x0F,0xFF,0xFF,

0xFF,0xF9,0xFF,0xFF,0xFD,0xF7,0x7E,0xFE,

0xFF,0xFC,0x40,0x1F,0xFF,0xEF,0xFF,0xFF,

0xFF,0xF9,0xFF,0xFF,0xFB,0xFF,0xFE,0xFE,

0xFF,0xFC,0xFF,0xE0,0x10,0x77,0xFF,0xFF,

0xFF,0xFE,0x00,0x07,0xFB,0xFA,0xFE,0xFE,

0x7F,0xFF,0x7F,0xFF,0xEF,0x37,0xFF,0xFF,

0xFF,0xF8,0xC1,0x0B,0xFF,0xFB,0xFE,0xFE,

0x7F,0xFF,0x02,0x28,0x42,0x67,0xFF,0xFF,

0xFF,0xF8,0x38,0x0B,0xF7,0xFF,0x7E,0xFE,

0x7F,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,

0xFF,0xF8,0x08,0xA3,0xF9,0x6B,0x65,0xFF,

0x7F,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,

0xFF,0xF8,0x08,0x27,0xF7,0xFF,0x1F,0xFD,

0x7F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,

0xFF,0xF9,0xFF,0xFF,0xFB,0xFF,0xBF,0xFD,

0x7F,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,

0xFF,0xF9,0xFF,0xFF,0xFB,0xFF,0x9F,0xFE,

0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xF9,0xFF,0xFF,0xFD,0x4F,0xE0,0x3F,

0x63,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x1C,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0x02,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF

};

void delayUs() ;

void wait();

void writeData(uchar dat)

{

wait();

RS = 1;

RW = 0;

E = 0;

Data = dat;

E = 1;

delayUs();

E = 0;

}

void delayUs()

{uint j,i;

for(i=2;i>0;i--)

for(j = 1; j > 0; j--);

}

void delayMs(uint a)

{

uint i, j;

for(i = a; i > 0; i--)

for(j = 100; j > 0; j--);

}

bit checkBusy()

{

bit busy;

RS = 0;

RW = 1;

E = 1;

delayUs();

busy = (bit)(Data&0x80);

E = 0;

return busy;

}

void wait()

{

while(checkBusy());

}

void writeCmd(uchar cmd)

{

wait();

RS = 0;

RW = 0;

E = 0;

delayUs();

Data = cmd;

delayUs();

E = 1;

delayUs();

E = 0;

}

void init()

{ RET=1;

PSB = 1; //并口方式

writeCmd(0x30); //基本指令, 扩充指令为34H

delayMs(20);

writeCmd(0x0c); //显示开, 关光标

delayMs(20);

writeCmd(0x01); //清屏

delayMs(20);

}

void display(uchar p)

{ uchar x,y;

for(y=0;y<32;y++)

for (x=0;x<8;x++)

{ writeCmd(0x36);

writeCmd(0x80+y);

writeCmd(0x80+x);

writeData(p[2x+16y]); writeData(p[2x+16y+1]); writeCmd(0x30);

}

for(y=0;y<32;y++)

for (x=0;x<8;x++)

{ writeCmd(0x36);

writeCmd(0x80+y);

writeCmd(0x80+x+8);

writeData(p[2x+16y+512]); writeData(p[2x+16y+513]); writeCmd(0x30);

}

}

void main()

{

RET=0;

init();

while(1)

{

display(nBitmapDot); delayMs(100000);

} }

stc单机片程序备份出来的方法如下:

1、把单片机中的程序拷贝出来主要需要使用专业的烧录器,用烧录器来读取单片机中的程序,然后将程序文件保存即可。

2、可以使用其他的调试软件来读取单片机中的程序,然后将程序文件保存至电脑中。

以上就是关于用三菱编程指令,STC单片机上的模拟电位器数据如何采集全部的内容,包括:用三菱编程指令,STC单片机上的模拟电位器数据如何采集、求一个STC-89C52RC控制12864液晶显示的程序、stc单机片程序怎么备份出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9786119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存