基于MODBUS协议的通讯系统 - 图文(8)

2019-03-29 15:18

if(day==30) {

day=1; month++; } } else {

if(day==29) {

day=1; month++; } } break; }

if(month>=13) {

month=1; year++;

write_com(0x80+0x43);

write_data(table[year/1000]);

write_data(table[year00/100]); write_data(table[year0/10]);

write_data(table[year]); if((year%4)==0) run=1; else run=0;

} write_com(0x80+0x48);

write_data(table[month/10]);

write_data(table[month]); write_com(0x80+0x4b); write_data(table[day/10]);

write_data(table[day]); } write_com(0x80+0x00); write_data(table[hour/10]); write_data(table[hour]);

} write_com(0x80+0x03); write_data(table[min/10]);

write_data(table[min]); } write_com(0x80+0x06);

34

write_data(table[sec/10]); write_data(table[sec]); if(sendflag) { EX0=0; TxBuf[0] = 0x02; TxBuf[1] = 0xff; TxBuf[2] = 0x00; TxBuf[3] = 0x00;

// Transmit Tx buffer data 发数据

nRF24L01_TxPacket(TxBuf);

SetRX_Mode(); //设置为接收模式 EX0=1; } } }

void main() {

init(); Init_timer0(); init_NRF24L01();

SetRX_Mode();

//设置为接收模式 系统大多数时候都处于接收模式

write_com(0x80+0x00); write_data(table[hour/10]);

write_data(table[hour]); write_data(table[13]); write_data(table[min/10]); write_data(table[min]); write_data(table[13]); write_data(table[sec/10]); write_data(table[sec]); write_com(0x80+0x43); write_data(table[year/1000]); write_data(table[year00/100]); write_data(table[year0/10]); write_data(table[year]); write_data(table[11]); write_data(table[month/10]); write_data(table[month]); write_data(table[11]); write_data(table[day/10]); write_data(table[day]); if((year%4)==0) run=1;

else run=0;

while(1)

35

{

if(s1==0)

{

delayms(10); if(s1==0) {

sendflag = 0; TxBuf[0] = 0x00; TxBuf[1] = 0x00; TxBuf[2] = 0x00; TxBuf[3] = 0x00; EX0=0;

// Transmit Tx buffer data 发数据

nRF24L01_TxPacket(TxBuf);

SetRX_Mode(); //设置为接收模式

EX0=1;

while(s1==0); }

}

if(s2==0)

{

delayms(10); if(s2==0) {

sendflag = 0; TxBuf[0] = 0x01; TxBuf[1] = hour; TxBuf[2] = min; TxBuf[3] = sec; EX0=0;

nRF24L01_TxPacket(TxBuf); SetRX_Mode(); EX0=1; while(s2==0); }

}

if(s3==0) //位置选择

// Transmit Tx buffer data 发数据

//设置为接收模式

{

delayms(10); if(s3==0) {

weizhi++; weizhi=weizhi%7; switch(weizhi) {

case 0: write_com(0x0c);

36

TR0 = 1; break; case 1: TR0 = 0;

write_com(0x80+0x01); write_com(0x0f);

break; case 2: write_com(0x80+0x04); write_com(0x0f); break;

case 3: write_com(0x80+0x07); write_com(0x0f); break; case 4: TR0 = 0;

write_com(0x80+0x46); write_com(0x0f);

break; case 5: write_com(0x80+0x49); write_com(0x0f); break;

case 6: write_com(0x80+0x4c); write_com(0x0f);

break; } while(s3==0); } }

if(s4==0) //加 {

delayms(10); if(s4==0) {

switch(weizhi) {

case 1:if(hour==23)hour=0; else hour++;

write_com(0x80+0x00);

write_data(table[hour/10]);

write_data(table[hour]);

write_com(0x80+0x01); break;

case 2:if(min==59)min=0; else min++;

write_com(0x80+0x03);

write_data(table[min/10]);

write_data(table[min]);

37

write_com(0x80+0x04); break; case 3:if(sec==59)sec=0; else sec++;

write_com(0x80+0x06);

write_data(table[sec/10]);

write_data(table[sec]); write_com(0x80+0x07); break; case 4: year++;

if((year%4)==0) run=1; else run=0; write_com(0x80+0x43);

write_data(table[year/1000]);

write_data(table[year00/100]); write_data(table[year0/10]); write_data(table[year]);

write_com(0x80+0x46); break;

case 5:if(month==12)month=1; else month++; write_com(0x80+0x48);

write_data(table[month/10]);

write_data(table[month]);

write_com(0x80+0x049); break; case 6:if(day==31)day=1; else day++;

write_com(0x80+0x4b);

write_data(table[day/10]);

write_data(table[day]); write_com(0x80+0x4c);

break; } } while(s4==0); }

if(s5==0) //减 {

delayms(10); if(s5==0) {

switch(weizhi) {

38


基于MODBUS协议的通讯系统 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:神东煤炭集团公司外委工程安全管理办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: