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

QQ登錄

只需一步,快速開(kāi)始

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

串口通信如何控制其他硬件

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:224914 發(fā)表于 2017-8-5 10:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


#include "reg52.h"               

sbit led=P2^0;
typedef unsigned int u16;          
typedef unsigned char u8;



void UsartInit()
{
        SCON=0X50;                       
        TMOD=0X20;               
        PCON=0X80;               
        TH1=0XF3;                       
        TL1=0XF3;
        ES=1;                                       
        EA=1;                                       
        TR1=1;                               
}



void main()
{       
        UsartInit();  
        while(1);               
}



void Usart() interrupt 4
{
        u8 receiveData;
        receiveData=SBUF;
        SBUF=receiveData;
        while(!TI);               
        TI=0;                                       
        RI = 0;
//  當(dāng)接受到數(shù)字0是使led亮
        if(SBUF==0)
         {
                 led=0;
   }
}
  但是程序沒(méi)有自己想要的結(jié)果,希望大佬幫忙改下  ,最好能解釋下串口通如何控制其他硬件
單選投票, 共有 1 人參與投票
0.00% (0)
100.00% (1)
0.00% (0)
0.00% (0)
您所在的用戶組沒(méi)有投票權(quán)限
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:61002 發(fā)表于 2017-8-5 11:56 | 只看該作者
好久沒(méi)寫(xiě)51的串口程序了  有幾點(diǎn)你需要確定一下
第1  波特率 一定要設(shè)置正確
第2  中斷一定要打開(kāi)
第3
  1. void Usart() interrupt 4
  2. {
  3.         u8 receiveData;
  4.         receiveData=SBUF;
  5.         SBUF=receiveData;
  6.         while(!TI);               
  7.         TI=0;                                       
  8.         RI = 0;
  9. //  當(dāng)接受到數(shù)字0是使led亮
  10.         if(SBUF==0)
  11.          {
  12.                  led=0;
  13.    }
  14. }
復(fù)制代碼
改成
  1. void Usart() interrupt 4
  2. {
  3.         u8 receiveData;
  4.         receiveData=SBUF;
  5.     if(receiveData==0)
  6.          {
  7.                  led=0;
  8.    }
  9.         SBUF=receiveData;
  10.         while(!TI);               
  11.         TI=0;                                       
  12.         RI = 0;
  13. //  當(dāng)接受到數(shù)字0是使led亮
  14.    
  15. }
復(fù)制代碼

這樣只有收到0時(shí)led等會(huì)亮
第4  你要確定led燈亮,IO口應(yīng)該置0還是置1
回復(fù)

使用道具 舉報(bào)

板凳
ID:224914 發(fā)表于 2017-11-11 15:46 | 只看該作者
謝謝   認(rèn)真學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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