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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7826|回復: 3
收起左側

L298N+AT89C52+BT-04A藍牙控制遙控小車 Proteus仿真程序

  [復制鏈接]
ID:692965 發表于 2020-8-31 12:28 | 顯示全部樓層 |閱讀模式
1.環境的搭建
Proteus8.7版本,還有就是虛擬端口號的搭建,因為Proteus8.7沒有藍牙模塊,藍牙實際上就是一個串口,我們用虛擬串口代替藍牙模塊,Virtual Serial Port Driver Pro.exe虛擬串口的軟件,文件夾里有安裝步驟也有,在這兒就不多說了,BT-04A默認的波特率是9600bps,而我們用的是4800bps,因為我
51hei截圖20200831114045.png
用的是12Mhz的晶振,產生9600bps的誤差太大不適合用(如果你用的11.0592HMhz的晶振,可以直接用,程序源碼里面有怎么設置),用串口下載CH340G,連接上BT-04A,輸入AT指令,改變波特率。
波特率.png
2.設計思路
l298n是驅動芯片,還得給電機提供電源,我們可以采用18650電池當電源,l298N的數據手冊,文件里有具體說明。

一共四個數據輸入,數據輸出,如果有興趣的朋友可以看看L298N的工作原理,我在這兒附上一張圖,
u=1343530640,1632423026&fm=26&gp=0.jpg
51hei截圖20200831120742.png


3.程序源碼
在最后附上所有的資料和所需要的的軟件。


4.實驗現象
都在文件夾里,如果還想增加其他功能,可以根據自己的需求添加。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei截圖20200831120553.png




所有文件都在這兒了
51hei截圖20200831122425.png

單片機源程序如下:
  1.   /*波特率 4800bps ,晶振用的12Mhz,BT04-A ,默認的是9600bps*/
  2.   /*如果這個程序源碼修改為11.0592的晶振,那么proteus里面的compim也要修改為9600bps*/
  3.   #include<reg52.h>
  4.   typedef unsigned char uchar;
  5.   typedef unsigned int uint;

  6.    sbit A_IA=P0^0;
  7.    sbit A_IB=P0^1;  
  8.    sbit B_IA=P0^2;
  9.    sbit B_IB=P0^3;
  10.    sbit JDQ=P2^0;

  11.   void CarForward();  //前進
  12.   void CarBack();          //后退
  13.   void CarLeft();          //向左
  14.   void CarRight();           //向右
  15.   void CarStop();          //停止
  16.   void JDQ1();                  //開燈
  17.   void JDQ2();                  //關燈
  18.   void UsartInit();          //串口初始化
  19.   void delay1ms(uint c);
  20.   uchar receiveData;        //接受的數據
  21.   void main()
  22.   {          JDQ=0;
  23.    UsartInit();
  24.    while (1);
  25.   }
  26.   void UsartInit()
  27.   {
  28.   TMOD |=0x20;                          
  29.   SCON =0x50;                          
  30.   PCON =0x80;                          //4800bps
  31.   TH1=0xf3;                                  //如果你用的是9600bps,初值為TH1=0xFA;TH1=0xFA;
  32.   TL1=0xf3;
  33.   ES=1;                                          
  34.   EA=1;                                          
  35.   TR1=1;                                  
  36.   }
  37. void delay1ms(uint c)          
  38. {
  39. uint a,b;
  40. for(a=c;a>0;a--);
  41. for(b=112;b>0;b--);
  42. }

  43. void CarForward()
  44. {
  45.    A_IA=1;
  46.    A_IB=0;
  47. B_IA=1;
  48.   B_IB=0;
  49.   }
  50. void CarBack()
  51. {
  52.    A_IA=0;
  53.   A_IB=1;
  54.    B_IA=0;
  55.    B_IB=1;
  56.   }
  57.    void CarLeft()
  58. {
  59.    A_IA=0;
  60.    A_IB=0;
  61.    B_IA=0;
  62.    B_IB=1;
  63.   }
  64. void CarRight()
  65. {
  66.    A_IA=0;
  67.   A_IB=1;
  68.    B_IA=0;
  69.    B_IB=0;
  70.   }
  71.    void CarStop()
  72. {
  73.    A_IA=0;
  74.    A_IB=0;
  75.    B_IA=0;
  76.    B_IB=0;
  77.   }
  78.   void JDQ1()
  79.   {
  80. JDQ=1;
  81.   
  82.   }
  83.    void JDQ2()
  84.   {
  85. JDQ=0;
  86.   
  87.   }
  88. void Usart()interrupt 4          
  89. {
  90. receiveData=SBUF;                        //接收數據
  91. RI=0;                                                //關閉計時器
  92. SBUF=receiveData;                         //發送數據
  93. while(!TI);
  94. TI=0;                                                  
  95. if(receiveData=='2')
  96.         CarForward();
  97. else if (receiveData=='8')
  98.             CarBack();
  99. else if(receiveData=='6')
  100.           CarLeft();

  101. else if(receiveData=='4')
  102.            CarRight();
  103. else if(receiveData=='5')
  104.            CarStop();
  105. else if(receiveData=='0')
  106.                 JDQ1();
  107. else if(receiveData=='1')
  108.                 JDQ2();
  109.   delay1ms(10) ;
  110. }
復制代碼

有不懂的地方大家可以一起討論,謝謝大家!
51hei.png
全部資料51hei下載地址:
藍牙控制小車的仿真程序.zip (13.53 MB, 下載次數: 164)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:938636 發表于 2021-6-21 16:37 | 顯示全部樓層
51黑這個平臺太棒啦,樓主分享的資料很不錯,學到了很多知識
回復

使用道具 舉報

ID:1058518 發表于 2023-2-12 15:57 | 顯示全部樓層
有個問題,剛開始學51嘛,我看人家仿真都是需要晶振和復位電路的,然后我根據程序連接的小車就運行不了,所以后面我參考您的仿真去掉這兩個部分就可以了,請問您知道這是什么原因嗎
回復

使用道具 舉報

ID:692965 發表于 2023-3-14 19:57 | 顯示全部樓層
CCDZ 發表于 2023-2-12 15:57
有個問題,剛開始學51嘛,我看人家仿真都是需要晶振和復位電路的,然后我根據程序連接的小車就運行不了,所 ...

仿真的時候,單片機會自帶晶振電路,雙擊單片機可以調整晶振頻率,還有你搭建的時候,晶振也要注意頻率
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费看国产片在线观看 | www.97国产| 伊人在线视频 | 国产在线精品免费 | 亚洲国产精品一区二区三区 | 成人免费影院 | 亚洲国产成人精品女人久久久 | 狠狠av| 懂色av蜜桃av| 久久久久亚洲 | 欧美在线| 亚洲 中文 欧美 日韩 在线观看 | xx性欧美肥妇精品久久久久久 | 欧美成人一区二区 | 在线久草| 日韩一区二区三区四区五区六区 | 日韩2020狼一二三 | 亚洲激情自拍偷拍 | 一区二区三区国产精品 | 久久精品亚洲精品国产欧美 | julia中文字幕久久一区二区 | 日本精品视频在线观看 | 岛国一区| 国产亚洲精品美女久久久久久久久久 | 亚洲九九色 | 精品99爱视频在线观看 | 国产一区二区三区亚洲 | 97热在线 | 国产在线二区 | 伊人精品国产 | 97人人干 | 国产夜恋视频在线观看 | 波多野结衣精品在线 | 成人久久18免费网站麻豆 | 国产成人高清 | 色爱综合| 成人免费视频播放 | 国产免费一区二区 | 色综合桃花网 | 谁有毛片 | 成人在线视频看看 |