久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
單片機(jī)雙機(jī)通訊源代碼
[打印本頁]
作者:
txyxyxy
時間:
2016-7-19 22:42
標(biāo)題:
單片機(jī)雙機(jī)通訊源代碼
#include <reg52.h>
#define uchar unsigned char //用uchar代替unsigned char
#define uint unsigned int //用unitdaiti unsigned int
sbit P20=P2^0; //LED輸出管腳
uchar Receive_Data[6],cNumber=0,cFlag=0; //串口接收數(shù)據(jù)存放
uchar zhentouxulie;
uchar send0;
uchar send1;
uchar position;
uchar yiwei;
uchar biaozhi;
bit zhentou;
bit shuchu;
uchar PPM[41]; //存放一幀的高低電平信息 6個時隙的幀頭+32個時隙的信息
uchar wz;
uint bit1;
uint bit0; //位置控制位
void DelayMs(unsigned int Delay_MS)
{
uint iNumber,iValue;
for(iNumber=0;iNumber<Delay_MS;iNumber++)
{
iValue=107;
while(iValue--);
}
}
void Init_UART() //串口初始化
{
SCON=0x50; //SCON:串行口工作方式1, 8-bit UART,允許串行接收位(REN=1)
TMOD=0x21; //TMOD:定時器1,方式2,8位自動重裝方式
PCON=0x80; //SMOD=1;(將串口傳送的波特率加倍)
TH1=0xfA; //Baud:9600 fosc=11.0592MHz
TL1=0xfA;
TH0=(65536-500)/256;//賦初值定時
TL0=(65536-500)%256;//定時500us
ET0=1;//開定時器0中斷
TR0=1;//啟動定時器0
TR1=1; //啟動定時器/計數(shù)器1運(yùn)行
ES=1; //開串口中斷
EA=1; //開總中斷
P20=0;
send0=0;
send1=0;
}
void tiaozhi()
{
if((send0==1)&&(send1==1))
{
if(wz<40)
{
if((wz==0)||(wz==7))
{
PPM[wz]=0;
wz++;
}
else if((wz>0)&&(wz<7))
{
PPM[wz]=1;
wz++;
}
else if((wz>7)&&(wz<24)) //開始跳入數(shù)據(jù)發(fā)送
{
if(Receive_Data[0]&0x01) //1發(fā)送
{
PPM[wz]=1;
PPM[wz+1]=0;
}
else //0發(fā)送
{
PPM[wz]=0;
PPM[wz+1]=1;
}
wz=wz+2;
Receive_Data[0]=Receive_Data[1]>>1;
}
else if((wz>23)&&(wz<40)) //開始跳入數(shù)據(jù)發(fā)送
{
if(Receive_Data[1]&0x01) //1發(fā)送
{
PPM[wz]=1;
PPM[wz+1]=0;
}
else //0發(fā)送
{
PPM[wz]=0;
PPM[wz+1]=1;
}
wz=wz+2;
Receive_Data[1]=Receive_Data[1]>>1;
}
}
else if(wz==40)
{
PPM[40]=0;//輸出一個保護(hù)電平時隙
wz=0;
send0=0;
send1=1;
position=0;
}
}
}
void main()
{
DelayMs(50); //穩(wěn)定系統(tǒng)
Init_UART(); //初始化串口
while(1)
{
tiaozhi();
if((send0==0)&&(send1==0))
{
send0=1;
send1=1;
Receive_Data[1]=0xff;
Receive_Data[0]=0x00;
wz=0;//編碼位置
DelayMs(1000);
}
}
}
void timer0() interrupt 1
{
TR0=0;//賦初值時,關(guān)閉定時器
TH0=(65536-500)/256;//賦初值定時 高八位
TL0=(65536-500)%256;//定時500us 低八位
TR0=1;//打開定時器
if((send1==1)&&(send0==0)) //編碼完成
{
if(position<41)
{
if(PPM[position]==1)
{
P20=0;
}
else
{
P20=1;
}
}
else
{
send1=0;//發(fā)送完成
send0=0;
}
position++;
}
else
P20=0;//其余點亮燈
}
void UART_Routine() interrupt 4
{
if(RI==1)//RI為接受中斷標(biāo)志,可能是發(fā)送產(chǎn)生的中斷
{
ES=0; //關(guān)串口中斷
Receive_Data[cNumber++]=SBUF;//將接受數(shù)據(jù)放入預(yù)置數(shù)組
if(cNumber==2)
{
send0=1;
send1=1;
cNumber=0;
wz=0;//編碼位置
}
RI=0;//接受中斷標(biāo)志軟件清零
ES=1; //開串口中斷
}
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
综合网在线
|
午夜999
|
五月在线视频
|
黄色录像免费观看
|
av小说在线观看
|
四虎影视av
|
午夜av福利
|
成人动漫免费观看
|
天天射天天
|
欧美日韩国产在线
|
四虎av
|
аⅴ资源新版在线天堂
|
日韩av资源
|
51调教丨国产调教视频
|
成人激情综合网
|
精品一区二区三区免费
|
在线观看不卡av
|
日本特级黄色片
|
在线观看二区
|
欧美日韩在线一区二区
|
欧美国产日韩一区二区
|
国产日韩欧美日韩大片
|
亚洲欧美日本在线
|
免费视频国产
|
九九热在线视频观看
|
日本一级淫片色费放
|
日韩一级黄
|
欧美777
|
久久一区
|
久久爱综合
|
精品国产一区二区三区久久久蜜月
|
四虎av
|
国产又黄又猛
|
欧美在线免费
|
国产精品一区二区三区四区
|
亚洲精品久久久久久久久
|
中文字幕一区在线观看
|
一级a毛片
|
四虎影视最新地址
|
亚洲三级视频
|
精品久久网站
|