找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2927|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)雙機(jī)串行通信加數(shù)碼顯示程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:836924 發(fā)表于 2020-11-16 20:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
甲為傳輸機(jī)乙為接收機(jī),現(xiàn)在想加共陽數(shù)碼顯示。功能為當(dāng)按鍵按下時(shí)甲機(jī)發(fā)送數(shù)據(jù),乙機(jī)接收數(shù)據(jù),甲機(jī)的K1按鍵通過串口發(fā)送信息控制乙機(jī)的LED燈D3和D4閃爍:① 第一次按下K1鍵,甲機(jī)發(fā)送字符“A”, 甲機(jī)的D1和乙機(jī)的D3都閃爍;甲乙數(shù)碼管同時(shí)顯示1  ② 第二次按下K1鍵,甲機(jī)發(fā)送字符“B”, 甲機(jī)的D2和乙機(jī)的D4都閃爍,甲乙數(shù)碼管同時(shí)顯示2  ③ 第三次按下K1鍵,甲機(jī)發(fā)送字符“C”, 甲機(jī)的D1、D2和乙機(jī)的D3、D4都閃爍,甲乙數(shù)碼管同時(shí)顯示3   ④ 第四次按下K1鍵,甲機(jī)停止發(fā)送,甲機(jī)的D1、D2和乙機(jī)的D3、D4都停止閃爍。
甲乙
數(shù)碼管同時(shí)顯示0

甲機(jī)源程序如下:

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit  K1 = P1^0;
sbit  D1 = P0^0;
sbit  D2 = P0^4;
void Delay(uint x)   
{ uchar i;
  while(x--)   
    for(i=0; i<120; i++);}
void putc_to_SerialPort (uchar c)
{  SBUF = c ;
   while (TI == 0) ;
   TI = 0;
}
void main( )
{  uchar Operation_NO = 0;
   SCON = 0x40;
   TMOD=0x20;  
   PCON=0x00;
   TH1=0xFD;   
   TL1=0xFD;
   TI= 0;
   TR1=1;
while(1)   
   {  if(K1==0)
         {  while (K1==0);
           Operation_NO=(Operation_NO+1)%4; }
      switch(Operation_NO)
         { case 0:  D1=D2=1; break;
           case 1:  putc_to_SerialPort('A') ;
                    D1=~D1;
                    D2=1;
                    break;
           case 2:  putc_to_SerialPort('B');
                    D2=~D2;
                    D1=1;
                    break;

case 3:  putc_to_SerialPort('C') ;
                  D1=~D1;
                  D2=~D2;
                  break;
         }
    Delay(100);
   }
}

評(píng)分

參與人數(shù) 2黑幣 +55 收起 理由
王者不可阻擋 + 5 不錯(cuò)
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:836924 發(fā)表于 2020-11-16 20:01 | 只看該作者
乙機(jī)如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit D3=P0^0;
sbit D4=P0^4;
void Delay(x)
{ uchar i;
   while(x--)   
     for(i=0; i<120; i++);
}
void main( )
{   SCON=0x50;     
    TMOD=0x20;     
    PCON=0x00;
    TH1=0xFD;   
    TL1=0xFD;
    RI= 0;     
    TR1=1;
    D3=D4=1;
    while(1)
      {  if(RI)
             {RI=0;
switch(SBUF)
        {   case 'A':D3=~D3;
                        D4=1;   break;
            case 'B':D4=~D4;
                        D3=1;   break;
            case 'C':D3=~D3;
                                D4=~D4;
                                break;
         }
       }
    else  D3=D4=1;
    Delay(100);  
  }
}
回復(fù)

使用道具 舉報(bào)

板凳
ID:849894 發(fā)表于 2020-11-26 22:24 | 只看該作者
學(xué)習(xí)了,多多交流。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表