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

QQ登錄

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

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

藍(lán)牙遙控終于可以了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

  1. /**************************************************************************************
  2. *                串口通信實(shí)驗(yàn)              *
  3. 實(shí)現(xiàn)現(xiàn)象:下載程序后打開(kāi)串口調(diào)試助手,將波特率設(shè)置為9600,選擇發(fā)送的數(shù)據(jù)就可以顯示
  4.    在串口助手上。具體操作參考操作視頻
  5. 注意事項(xiàng):無(wú)。                     
  6. ***************************************************************************************/
  7. #include "reg52.h"    //此文件中定義了單片機(jī)的一些特殊功能寄存器
  8. typedef unsigned int u16;   //對(duì)數(shù)據(jù)類(lèi)型進(jìn)行聲明定義
  9. typedef unsigned char u8;
  10. sbit IN1=P2^0;//控制左電機(jī)IN1=0、IN2=0制動(dòng),IN1=0、IN2=1正轉(zhuǎn),IN1=1、IN2=0反轉(zhuǎn),IN1=1、IN2=1制動(dòng).
  11. sbit IN2=P2^1;//控制左電機(jī)
  12. sbit IN3=P2^2;//控制右電機(jī)
  13. sbit IN4=P2^3;//控制右電機(jī)
  14. /*******************************************************************************
  15. * 函數(shù)名串口
  16. * 輸入           : 無(wú)
  17. * 輸出           : 無(wú)
  18. *******************************************************************************/
  19. void UsartInit()
  20. {
  21. SCON=0X50;   //設(shè)置為工作方式1
  22. TMOD=0X20;   //設(shè)置計(jì)數(shù)器工作方式2
  23. TH1=0XFD;    //計(jì)數(shù)器初始值設(shè)置,注意波特率是9600的
  24. TR1=1;
  25. ES=1;      //打開(kāi)接收中斷
  26. EA=1;      //打開(kāi)總中斷
  27. }

  28. /*******************************************************************************
  29. * 函 數(shù) 名       : main
  30. * 函數(shù)功能   : 主函數(shù)
  31. * 輸    入       : 無(wú)
  32. * 輸    出      : 無(wú)
  33. *******************************************************************************/
  34. void main()
  35. {
  36. UsartInit();  // 串口初始化
  37. while(1);

  38. }
  39. /*******************************************************************************
  40. * 函數(shù)名         : Usart() interrupt 4
  41. * 函數(shù)功能    : 串口通信中斷函數(shù)
  42. * 輸入           : 無(wú)
  43. * 輸出           : 無(wú)
  44. *******************************************************************************/
  45. void Usart() interrupt 4
  46. {
  47. u8 receiveData;

  48. if(RI)
  49. {
  50. RI=0;
  51. receiveData=SBUF;//出去接收到的數(shù)據(jù)
  52. if(receiveData==0x30)
  53.   {IN1=1;IN2=1;IN3=1;IN4=1;}
  54.   else if(receiveData==0x31)
  55.   {IN1=0;IN2=1;IN3=0;IN4=0;}
  56.   else if(receiveData==0x32)
  57.   {IN1=0;IN2=1;IN3=0;IN4=1;}
  58.      else if(receiveData==0x33)
  59.   {IN1=0;IN2=1;IN3=1;IN4=0;}
  60.   else if(receiveData==0x34)
  61.   {IN1=0;IN2=0;IN3=0;IN4=1;}
  62.   else if(receiveData==0x35)
  63.   {IN1=0;IN2=0;IN3=1;IN4=0;}
  64.   else if(receiveData==0x36)
  65.   {IN1=1;IN2=0;IN3=0;IN4=0;}
  66.   else if(receiveData==0x37)
  67.   {IN1=0;IN2=0;IN3=0;IN4=0;}
  68.   else
  69.   {IN1=0;IN2=0;IN3=0;IN4=0;}
  70. }
  71. RI = 0;//清除接收中斷標(biāo)志位
  72. SBUF=receiveData;//將接收到的數(shù)據(jù)放入到發(fā)送寄存器
  73. while(!TI);    //等待發(fā)送數(shù)據(jù)完成
  74. TI=0;
  75.         //清除發(fā)送完成標(biāo)志位
  76. }
復(fù)制代碼

評(píng)分

參與人數(shù) 4黑幣 +68 收起 理由
莫德?tīng)?/a> + 10
1512 + 3 很給力!
山河入酒 + 5
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:104477 發(fā)表于 2018-8-9 22:11 來(lái)自手機(jī) | 只看該作者
藍(lán)牙的距離才十米,不能遠(yuǎn)距離控制這個(gè)做什么用?就在十米內(nèi)那玩嗎那還不如不玩,太雞肋了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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