當前位置:首頁 » 操作系統 » 串口上位機源碼

串口上位機源碼

發布時間: 2024-11-22 02:03:14

『壹』 求單片機串口通信協議,做設計要求:上位機通過串口實現點亮和滅3盞LED燈,不太懂協議,最好有示例代碼

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar idata trdata[]={'R','I','C','H','M','C','U','R','Z','-','5','1','V','2','.','0',0x0d,0x0a,0x00};
sbit K1=P3^2; //對應開發板K1按鍵
/*-------------------------------------------------------------*/
//串口初始化
void UART_Init(void)
{
SCON = 0x50; //串口工作方式為1 , 串列允許接收
//SM0=0;
//SM1=1;
//REN=1;
TMOD = 0x20; //定時器1 工作在方式2
//PCON = 0x80; //SMOD = 1; 波特率加倍
TH1 = 0xfd; //波特率 9600bps fosc="11".0592MHz
TL1 = 0xfd;
ES = 1; //開串口中斷
TR1 = 1; //允許定時器1工作
EA = 1; //開總中斷
}

void delay1ms(uint i)
{
uchar j;
while(i--)
{
for(j=0;j<115;j++) //1ms基準延時程序
{
;
}
}
}

/*-------------------------------------------------------------*/
//串口發送一個位元組
void Uart_SendChar(unsigned char dat)
{
SBUF = dat; //待發送的數據寫入緩沖區
while(!TI); //等待發送完成
TI = 0; //清零發送標志位
}

/*-------------------------------------------------------------*/
//串口發送一個字元串
void Uart_SendString()
{ uchar
i=0;
while(trdata[i]!=0x00)
{
SBUF=trdata[i];
while(!TI);
TI=0;
i++;
}
}
/*-------------------------------------------------------------*/
//主函數
void main(void)
{
UART_Init(); //初始化串口
while(1)
{
if(K1==0)
{
delay1ms(20);
if(K1==0)
{
Uart_SendString(); //發送數據
while(!K1); //等待按鍵釋放
}
}
}
}
/*-------------------------------------------------------------*/
//串口接收中斷函數
void INT_UartRcv(void) interrupt 4
{
unsigned char Rcv = 0;
if(RI) //查詢接收標志位(有數據發送過來時置為1)
{
RI = 0; //接收標志位清零
Rcv = SBUF; //存儲緩沖區的數據
P1=SBUF;
Uart_SendChar(Rcv); //讓從計算機上傳到單片機的數據 , 傳回的計算機顯示
}
}

///////////////////////////////
9600波特率,P1口接LED
用串口大師發送數據,要勾選十六進制發送和接受。
發送:ff (全亮/全滅)
00 (全滅/全亮)
01 (p1.0亮/p1.0滅)
這個方式是最簡單的,
其意思就是把你發送的十六進制數據直接賦值到P1埠

熱點內容
hp存儲6350 發布:2025-05-15 05:40:41 瀏覽:231
怎麼更改電腦默認緩存位置 發布:2025-05-15 05:39:01 瀏覽:876
安卓qq公孫離在哪個戰區戰力最低 發布:2025-05-15 05:38:58 瀏覽:492
androidffmpeg壓縮 發布:2025-05-15 05:37:02 瀏覽:286
ftp簡稱是 發布:2025-05-15 05:37:02 瀏覽:120
光遇發光耳機怎麼設置安卓 發布:2025-05-15 05:32:03 瀏覽:112
台電安卓平板系統太低怎麼辦 發布:2025-05-15 05:20:00 瀏覽:508
安裝了zlib編譯報錯 發布:2025-05-15 05:19:56 瀏覽:167
二分演算法無序 發布:2025-05-15 05:18:22 瀏覽:29
網易我的世界伺服器組件怎麼安裝 發布:2025-05-15 05:16:58 瀏覽:312