xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 50KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-07
  • 語言: 其他
  • 標(biāo)簽: modbus??RTU??C51??

資源簡介

modbus RTU 的C51源程序,單片機(jī)89S52,編譯器keilC7.06

資源截圖

代碼片段和文件信息

#include?“main.h“

/******************************
微控電子?www.mcuc.cn
modbus?RTU?的C51程序?
單片機(jī)89S52
通信波特率?9600?8位數(shù)據(jù)?1位停止位?偶校驗?485通位接口
單片機(jī)控制板地址?localAddr(變量)
通信可設(shè)置數(shù)據(jù)的地址:
字地址?0?-?255?(只取16位的低8位)
位地址?0?-?255?(只取16位的低8位)
*******************************/

uint32 dwTickCountdwIntTick; //時鐘
uint8 idata?sendBuf[16]receBuf[16];?//發(fā)送接收緩沖區(qū)
uint8 idata?checkoutError; //?==2?偶校驗錯??
uint8 idata?receTimeOut; //接收超時
uint8 idata?c10ms; //10ms?計時
bit b1msbt1msb10msbt10msb100msbt100ms; //定時標(biāo)志位

//?串行中斷程序
void?commIntProc()?interrupt?4
{
if(TI)
{
TI?=?0;?
if(sendPosi? {
sendPosi++;
ACC?=?sendBuf[sendPosi];
TB8?=?P; //加上校驗位
SBUF?=?sendBuf[sendPosi];
}
else
{
b485Send?=?0;????//發(fā)送完后將485置于接收狀態(tài)
receCount?=?0;???//清接收地址偏移寄存器
checkoutError?=?0;
}
}
else?if(RI)
{
RI?=?0;
receTimeOut?=?10;????//通訊超時值
receBuf[receCount]?=?SBUF;
ACC?=?receBuf[receCount];
if(P?!=?RB8)
checkoutError?=?2; //偶校驗出錯
receCount++;??????????//接收地址偏移寄存器加1
receCount?&=?0x0f;????//最多一次只能接收16個字節(jié)
}

}???//?void?CommIntProc()

//定時器0?1ms?中斷
void?timer0IntProc()?interrupt?1
{
TL0?=?TIMER_LOW;?
????TH0?=?TIMER_HIGHT;
????dwIntTick++;
bt1ms?=?1;
????c10ms++;
????if(c10ms?>=?10)?
????{
????????c10ms?=?0;??????//10ms計時器清零
????????bt10ms?=?1;
????}
}???//?void?Timer0IntProc()

//外部中斷0
void?intEx0Proc(void)?interrupt?0
{

}

//計數(shù)器1中斷
void?counter1IntProc(void)?interrupt?3?using?1
{

}


//定時處理
void?timeProc(void)
{
static?uint8?c200ms;

????bWatchDog?=?~?bWatchDog;????//看門狗取反
b1ms?=?0;
b10ms?=?0;
b100ms?=?0;

ET0?=?0;
dwTickCount?=?dwIntTick;
ET0?=?1;

if(bt1ms)
{
bt1ms?=?0;
b1ms?=?1;

????????if(receTimeOut>0)
????????{
????????????receTimeOut--;
????????????if(receTimeOut==0?&&?receCount>0)???//判斷通訊接收是否超時
????????????{
????????????????b485Send?=?0;???????//將485置為接收狀態(tài)
????????????????receCount?=?0;??????//將接收地址偏移寄存器清零
checkoutError?=?0;
????????????}
????????}
}

if(bt100ms)
{
bt100ms?=?0;
b100ms?=?1;
}
????if(bt10ms)??????//判斷中斷10ms標(biāo)志位是否1
????{
????????bt10ms?=?0;?????//清中斷10ms標(biāo)志位
b10ms?=?1;

????????c200ms++;???????????????????//200ms計時器加1
????????if(c200ms?>=?20)????????????//判斷是否計時到200ms
????????{
????????????c200ms?=?0;?????????????//清200ms計時器
????????????bRunLED?=?~bRunLED;?????//取反運行指示燈??????????
????????}
????}
}???//?void?TimerProc(void)

//初始化串口
void?initUart(void)
{
//T2?用于波特率?9600
T2CON?=?0x30;
RCAP2H?=?0xff;
RCAP2L?=?0xb8;
TR2?=?1;

//偶校驗?
SCON?=?0xd0;
????PCON?=?0;
????ES?=?1;
}//void?initUart(void)

//初始化中斷
void?initInt(void)
{
TMOD?=?0x51;
TH0?=?TIMER_HIGHT;
TL0?=?TIMER_LOW;
TR0?=?1;
????ET0?=?1;
TH1?=?0; //9600
????TL1?=?0;
TR1?=?0; //定時器1用于計數(shù)定時器2用于波特
ET1?=?1;
//PT1?=?1;

IT0?=?1;
????IT1?=?1;
EX0?=?0;
PX0?=?1;
????EX1?=?0;

initUart();

EA?=?1;
}???//?void?initInt(void)

//初始化
void?in

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2005-03-16?16:35??modbus51\
?????文件????????3432??2005-03-16?16:41??modbus51\main.c
?????文件?????????485??2005-03-16?16:21??modbus51\main.h
?????文件????????8187??2005-03-16?16:48??modbus51\main.LST
?????文件???????10019??2005-03-16?16:48??modbus51\main.OBJ
?????文件?????????943??2005-03-16?16:48??modbus51\main.Opt
?????文件????????2069??2005-03-16?16:26??modbus51\main.Uv2
?????文件????????1685??2005-03-16?16:47??modbus51\main_Opt.Bak
?????文件???????12991??2005-03-16?16:31??modbus51\modbus.c
?????文件?????????523??2005-02-04?00:07??modbus51\modbus.h
?????文件???????32845??2005-03-16?16:48??modbus51\modbus.LST
?????文件???????20023??2005-03-16?16:48??modbus51\modbus.OBJ
?????文件???????25292??2005-03-16?16:48??modbus51\modbus51
?????文件????????6075??2005-03-16?16:48??modbus51\modbus51.hex
?????文件???????36909??2005-03-16?16:48??modbus51\modbus51.M51
?????文件?????????168??2005-03-16?16:48??modbus51\modbus51.plg
?????文件????????5116??2003-09-26?11:56??modbus51\STARTUP.A51
?????文件???????11666??2005-03-16?16:48??modbus51\Startup.LST
?????文件?????????749??2005-03-16?16:48??modbus51\Startup.OBJ

評論

共有 條評論