標(biāo)題:
單片機(jī)雙機(jī)串行口主從機(jī)通訊仿真+接受與發(fā)送代碼
[打印本頁]
作者:
yiling1
時(shí)間:
2018-11-29 14:09
標(biāo)題:
單片機(jī)雙機(jī)串行口主從機(jī)通訊仿真+接受與發(fā)送代碼
單片機(jī)雙機(jī)通訊,就是直接單片機(jī)的串口RX和TX直接連接,然后通過串口命令完成通訊
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(13.33 KB, 下載次數(shù): 42)
下載附件
2018-12-2 01:42 上傳
0.png
(13.54 KB, 下載次數(shù): 41)
下載附件
2018-12-2 01:42 上傳
單片機(jī)源程序如下:
#include <reg51.h>
#define uchar unsigned char
sbit key0=P1^0;
sbit key1=P1^1;
sbit key2=P1^2;
uchar i;
uchar code tb[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delay(int z) //延時(shí)子函數(shù)
{
int i,j;
for(i=0;i<z;i++)
for(j=0;j<500;j++);
}
void init() //串口初始化
{
SCON=0x50;
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
TR1=1;
}
void main()
{
i = 0;
init();
P1=0xff;
P2=0xff;
while(1)
{
if(key0==0)
{
i++;
//if(i>=10)
// i=0;
SBUF=~tb[i%10]; //送緩沖區(qū)
P0=~tb[i%10]; //數(shù)據(jù)送P0口
while(TI==0); //判斷是否發(fā)送完成
TI=0;
delay(200);
}
if(key1==0)
{
i--;
// if(i<=0)
// i=9;
SBUF=~tb[i%10]; //送緩沖區(qū)
P0=~tb[i%10]; //數(shù)據(jù)送P0口
while(TI==0); //判斷是否發(fā)送完成
TI=0;
delay(200);
}
/* for(i=7;i<10;i++) //連續(xù)發(fā)送數(shù)組數(shù)據(jù)
{
SBUF=~tb[i]; //送緩沖區(qū)
P0=~tb[i]; //數(shù)據(jù)送P0口
while(TI==0); //判斷是否發(fā)送完成
TI=0;
delay(50);
}
*/
}
}
復(fù)制代碼
所有資料51hei提供下載:
雙機(jī)串行.zip
(56.79 KB, 下載次數(shù): 49)
2018-11-29 14:08 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
yiling1
時(shí)間:
2018-11-29 14:34
可以的
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1