久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2934|回復(fù): 7
收起左側(cè)

如何實(shí)現(xiàn)51單片機(jī)雙機(jī)串行雙機(jī)通訊的兩個(gè)數(shù)據(jù)交替發(fā)送

[復(fù)制鏈接]
ID:920083 發(fā)表于 2021-5-12 15:47 來自手機(jī) | 顯示全部樓層 |閱讀模式
求解如何改寫這段c語言的發(fā)送程序然后實(shí)現(xiàn)兩個(gè)數(shù)據(jù)交替發(fā)送。
#include<reg51.h>
#define uchar unsigned char
void init();
void send();

void init()
{
PCON &=0x7F;
TMOD=0x20;
TH1=0xD0;
TL1=0xD0;
TR1=1;
SCON=0x50;
EA=1;
ES=1;
ET1=0;
}
void main()
{
init();
send();

while(1);

}
void send()
{

SBUF=55;
while(!TI);
TI=0;
}
回復(fù)

使用道具 舉報(bào)

ID:889094 發(fā)表于 2021-5-12 16:38 | 顯示全部樓層
發(fā)送函數(shù)沒毛病,可以發(fā)送,只是你裝的0xD0是什么波特率?然后就是沒有接收處理函數(shù)
回復(fù)

使用道具 舉報(bào)

ID:920083 發(fā)表于 2021-5-12 18:46 來自手機(jī) | 顯示全部樓層
birdzhyli 發(fā)表于 2021-5-12 16:38
發(fā)送函數(shù)沒毛病,可以發(fā)送,只是你裝的0xD0是什么波特率?然后就是沒有接收處理函數(shù)

波特率是600   下面是接受程序
#include<reg51.h>
bit tt;
unsigned char rev;
unsigned char code dis[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void init()
{
PCON&=0x7F;
TMOD=0x20;
TH1=0xD0;
TL1=0xD0;
TR1=1;
SCON=0x50;
EA=1;
ES=1;
ET1=0;
}
void delay(unsigned int c)
{
   unsigned char i,j;
   for(i=0;i<c;i++)         ;
    for(j=0;j<110;j++);
}
void display(unsigned char x)
{
unsigned char shi,ge;
shi=x/10;
ge=x%10;
P0=dis[shi];
P2=0xbf;
delay(5);
P0=0;
P2=0xff;

P0=dis[ge];
P2=0x7f;
delay(5);
P0=0;
P2=0xff;

}

void main()
{
init();
while(1)
{
display(rev);
delay(5);
}

}

void receive() interrupt 4  //串口接收函數(shù)
{
rev=SBUF;
ES=0;
RI=0;
}
回復(fù)

使用道具 舉報(bào)

ID:889094 發(fā)表于 2021-5-12 19:53 | 顯示全部樓層
貌似沒什么問題,只是函數(shù)結(jié)構(gòu)實(shí)在不怎么樣,看看手冊上面的例程,串口收發(fā)函數(shù)不是這個(gè)樣子的
void UsartInt() interrupt 4
{
unsigned char receiveData;
if(RI == 1)
{
  receiveData=SBUF; //出去接收到的數(shù)據(jù)
  RI = 0;           //清除接收中斷標(biāo)志位
  while(busy);
  busy=1;
  SBUF=receiveData; //將接收到的數(shù)據(jù)放入到發(fā)送寄存器
}  
if(TI)
{
   busy=0;
   TI=0;
}
}
這是我常用的根據(jù)手冊弄的串口模板,發(fā)送之前檢查busy,收到之后先取數(shù)據(jù)再RI=0
回復(fù)

使用道具 舉報(bào)

ID:920083 發(fā)表于 2021-5-12 20:17 來自手機(jī) | 顯示全部樓層
birdzhyli 發(fā)表于 2021-5-12 19:53
貌似沒什么問題,只是函數(shù)結(jié)構(gòu)實(shí)在不怎么樣,看看手冊上面的例程,串口收發(fā)函數(shù)不是這個(gè)樣子的
void Usart ...

如果發(fā)送兩個(gè)數(shù)據(jù)  并且讓他們交替顯示的話 應(yīng)該在么改?比如 55H  ccH
回復(fù)

使用道具 舉報(bào)

ID:889094 發(fā)表于 2021-5-12 22:19 | 顯示全部樓層
可以兩個(gè)單片機(jī)程序大體相同,只是在其中一個(gè)main中初始完串口后就發(fā)送一個(gè)字符或數(shù)字0;然后每個(gè)單片機(jī)串口設(shè)置成收到一個(gè)字符后進(jìn)行+1,判斷到9就變成0,然后再通過串口送出這樣就會在兩個(gè)單片機(jī)之間形成一個(gè)循環(huán),每個(gè)單片機(jī)都可以顯示出來,當(dāng)然發(fā)送過程要有個(gè)延時(shí),不要太快,顯示函數(shù)要保持24HZ以上的刷新
回復(fù)

使用道具 舉報(bào)

ID:920083 發(fā)表于 2021-5-13 11:00 來自手機(jī) | 顯示全部樓層
birdzhyli 發(fā)表于 2021-5-12 22:19
可以兩個(gè)單片機(jī)程序大體相同,只是在其中一個(gè)main中初始完串口后就發(fā)送一個(gè)字符或數(shù)字0;然后每個(gè)單片機(jī)串 ...

如果接收十六進(jìn)制數(shù)的話   ,接收程序段需要咋改,我這個(gè)顯示不了十六進(jìn)制。
回復(fù)

使用道具 舉報(bào)

ID:883031 發(fā)表于 2021-5-13 17:04 | 顯示全部樓層
林冊 發(fā)表于 2021-5-13 11:00
如果接收十六進(jìn)制數(shù)的話   ,接收程序段需要咋改,我這個(gè)顯示不了十六進(jìn)制。

你的程序作了處理,肯定顯示不了A-F
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99re在线视频 | 亚洲精品视频免费观看 | 成年免费大片黄在线观看一级 | 日韩亚洲一区二区 | 国产欧美在线播放 | 99久久精品国产一区二区三区 | 国产精品片 | 真人毛片 | 日本免费一区二区三区 | 午夜精品一区二区三区在线观看 | 日韩精品一区二区三区中文字幕 | 日韩欧美国产一区二区 | 九九亚洲 | www.伊人.com| www国产亚洲精品久久网站 | 精品国产一区二区三区久久 | 国产成人短视频在线观看 | 丁香一区二区 | 久久乐国产精品 | 爱综合| 亚洲网址在线观看 | 欧美激情在线精品一区二区三区 | 干干干操操操 | 日韩av一区二区在线观看 | 国产精品99久久久久久www | 国产日韩一区二区三区 | 国产精品久久久久久久久久久久久久 | 久久午夜电影 | 三级黄片毛片 | 国产9 9在线 | 中文 | 久久99精品国产 | 精品国产乱码久久久久久老虎 | 国产精品自在线 | 亚洲精品一区二区二区 | 欧美福利影院 | 亚洲视频 欧美视频 | 久久国产精品视频观看 | 国产成人综合久久 | 在线午夜| 一级免费在线视频 | 亚洲性人人天天夜夜摸 |