找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求單片機(jī)大神指教,手機(jī)發(fā)送字符無法改變led的亮滅

[復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 10 黑幣 回復(fù)本帖可獲得 2 黑幣獎(jiǎng)勵(lì)! 每人限 1 次(中獎(jiǎng)概率 70%)
跳轉(zhuǎn)到指定樓層
樓主
ID:229016 發(fā)表于 2017-11-23 19:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned int
#define uint unsigned char
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
uchar temp,c;
void init() //串口初始化
{
  ES=0;//關(guān)中斷
  TMOD=0x20;//定時(shí)器工作方式2,8位自動(dòng)重裝模式,用于產(chǎn)生波特率
  TH1=0xfd;//波特率位9600.晶振位11.059
  TL1=0xfd;
  SCON=0x50;//REN=1允許串行接受狀態(tài),串口口工作方式1
  PCON=0x00;//波特率不加倍
  TR1=1;//定時(shí)器1開始工作,產(chǎn)生波特率
//  TI=0;//發(fā)送標(biāo)志位置0
//  RI=0;//接受標(biāo)志位置0
  EA=1;
  ES=1;//開串口中斷
  led1=0;
  led2=0;
  led3=0;
  }
void send(uchar a)//單字節(jié)數(shù)據(jù)發(fā)送
{
  TI=0;
  SBUF=a;
  while(TI==0);     
  TI=0;
  if(c%2)
  led3=1; //發(fā)送指示燈標(biāo)志,每接收一次,此燈亮滅交替
  else
  led3=0;
  c++;
  }
void ctrl()//接收處理函數(shù)
{
  switch(temp)
  {
    case '1':led1=1;
send(temp);
break;
case '2':led2=1;
send(temp);
break;
case '3':led1=0;led2=0;
send(temp);
break;
case '4':led1=1;led2=1;
send(temp);
break;
case '5':led3=0;
send(temp);
break;
default:
led1=1;
led2=1;
led3=1;
send(temp);
}
}
void main()
{
//  led1=0;
//  led2=0;
//  led3=0;
  init();
  while(1)
  {
//    if(RI==1)//是否有數(shù)據(jù)到來
// {
//   RI=0;
//   temp=SBUF;   //暫存接收到的數(shù)據(jù)
   ctrl();
//   }
}
}
void ser() interrupt 4
{
  RI=0;
  temp=SBUF;   //暫存接收到的數(shù)據(jù)
}     
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:190832 發(fā)表于 2017-11-23 20:09 | 只看該作者
很簡單,串口收到的是ASCII,把你收到的字符temp-'0'才是真正的數(shù)字。。。
回復(fù)

使用道具 舉報(bào)

板凳
ID:231632 發(fā)表于 2017-11-23 22:37 | 只看該作者
手機(jī)發(fā)送的是ascall,還有,注意一下發(fā)送的是hex還是文本模式
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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