本帖最后由 qwettyuio 于 2021-12-14 16:48 編輯
#include <reg52.h>
#define UC8 unsigned char
#define UI16 unsigned int
#define one_line_DATA P1
void Line_1A_WT588H(UI16 USER_DATA)
{
UC8 i;
bit B_DATA;
UC8 num_temp=0;
UI16 ddata_temp ,pdata_temp;
ddata_temp = USER_DATA;
pdata_temp = ddata_temp& 0X00FF;
ddata_temp>>= 8;
pdata_temp<<= 8;
ddata_temp |= pdata_temp;//用戶數據賦值
num_temp = 16;
one_line_DATA = 0;
Delay_10us(500); //延時 5MS
B_DATA = (bit)(ddata_temp&0X0001);
for(i=0;i<num_temp;i++)
{
if(i==8)
{
one_line_DATA = 1;
Delay_10us(200); //延時 2MS
one_line_DATA = 0;
Delay_10us(500); //延時 5MS
}
one_line_DATA = 1; //拉高數據傳輸線,準備傳輸數據
if(B_DATA==0)
{ /*表示邏輯電平 0*/
Delay_10us(20); // 延時 200us
one_line_DATA = 0;
Delay_10us(60); // 延時 600us
}
else
{ /*表示邏輯電平 1*/
Delay_10us(60); // 延時 600us
one_line_DATA = 0; Delay_10us(20); // 延時 200us
}
ddata_temp = ddata_temp>>1;
B_DATA = (bit)(ddata_temp&0x0001);
}
one_line_DATA = 1;
}
|