|
本帖最后由 wulin 于 2017-11-6 13:15 編輯
你這是通過串口, 實現(xiàn)每100ms發(fā)送一次數(shù)據(jù)串,與串口中斷無關(guān)。
直接與之相關(guān)程序:
unsigned char code str[12]={0xEB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55};
bit flag=0;
unsigned char num;
void InitUART()//11.0592MHz
{
TMOD = 0x21;//定時器0方式1,定時器1方式2(8位重載)
TH0 = 0x4C; //50ms
TL0 = 0x00; //50ms
TH1=0xfd;//波特率9600
TL1=0xfd;//波特率9600
SM0=0; //設(shè)置串口方式1(8位UART波特率可變)
SM1=1; //設(shè)置串口方式1(8位UART波特率可變)
TR0 = 1;//開定時器0
TR1 = 1;//開定時器1
}
void main()
{
unsigned char i;
InitUART();
while(1)
{
if(flag==1)
{
flag=0;
for(i=0;i<12;i++)//數(shù)據(jù)頭+10幀有效數(shù)據(jù)+數(shù)據(jù)尾共12幀
{
SBUF = dis;
while(!TI);
TI = 0;
}
}
}
}
void ser() interrupt 1
{
TH0 = 0x4C; //重裝50ms
TL0 = 0x00; //重裝50ms
num++;
if(num>=2)
flag=1;
}
|
|