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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2326|回復: 0
打印 上一主題 下一主題
收起左側(cè)

藍牙小車制作程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:204021 發(fā)表于 2017-5-24 15:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar a;   //串口接收數(shù)據(jù)
  5. uchar flag;   //串口標志
  6. sbit IN0=P1^0;  //左前
  7. sbit IN1=P1^1;
  8. sbit IN2=P1^2;  //左后
  9. sbit IN3=P1^3;
  10. sbit IN4=P1^4;  //右前
  11. sbit IN5=P1^5;
  12. sbit IN6=P1^6; //右后
  13. sbit IN7=P1^7;
  14. sbit EN0=P0^0;  //左前
  15. sbit EN1=P0^1;//左后
  16. sbit EN2=P0^2;//右前
  17. sbit EN3=P0^3;//右后

  18. void system_initial()   
  19. {
  20.     TMOD = 0x20;      
  21.     TH1 = 0xfd;        //波特率9600      
  22.     TL1 = 0xfd;
  23.     TR1 = 1;     //打開定時器1  
  24.                 SCON = 0x50;                //允許接受
  25.                 PCON = 0x80;               
  26.                 EA = 1;       //打開定時器     
  27.     ES = 1;      //打開串口     
  28. }
  29. void delay_us(uint x)   //微妙延時
  30.         {
  31.                 while(x--);      
  32.         }
  33.         /*void delay_ms(uint x)   //毫秒延時
  34.         {
  35.                 uint i,j;
  36.                 for(i=0;i<x;i++)
  37.                 for(j=0;j<110;j++);
  38. }
  39. void SendChar(uchar Char)  //發(fā)送一個字符   
  40. {
  41.     SBUF = Char;
  42.     while(!TI);     
  43.     TI = 0;
  44. }
  45. void SendString(unsigned char *p)  //發(fā)送一個字符串
  46. {
  47.                 while(*p)
  48.     {
  49.       SendChar(*p);
  50.       p++;
  51.     }
  52. }*/
  53. void qianjin()    //前進
  54. {      
  55.         while(1)
  56.         {
  57.                 uint jia=0,        T=1000;
  58.                 EN2=1;EN3=1;// 右輪使能               
  59.                 IN4=1;IN5=0;IN6=1;IN7=0;  //右輪正常轉(zhuǎn)
  60.                 IN0=1;IN1=0;IN2=1;IN3=0;
  61.                 while(T<jia)
  62.                 {
  63.                         EN0=0;EN1=0;
  64.                 delay_us(jia++);
  65.                         EN0=1;EN1=1;
  66.                         delay_us(T-jia);
  67.                 }
  68.         }
  69. }
  70. void houtui()
  71. {
  72.         while(1)
  73.         {
  74.                 uint jia=0,        T=1000;
  75.                 EN2=1;EN3=1;// 右輪使能               
  76.                 IN4=0;IN5=1;IN6=0;IN7=1;  //右輪正常轉(zhuǎn)
  77.                 IN0=0;IN1=1;IN2=0;IN3=1;      
  78.                 while(T!=jia)
  79.                 {
  80.                         EN0=0;EN1=0;
  81.                 delay_us(jia++);
  82.                         EN0=1;EN1=1;
  83.                         delay_us(T-jia);
  84.                 }
  85.         }      
  86. }
  87. void stop()  //停止
  88. {
  89.         EN0=0;EN1=0;EN2=0;EN3=0;                //停止使能端               
  90. }
  91. void left_tra()   //左轉(zhuǎn)
  92. {
  93.         EN0=0;EN1=0;//停止左邊使能
  94.         EN2=1;EN3=1;    //打開右邊使能
  95.         IN4=1;IN5=0;IN6=1;IN7=0;  //右輪正常轉(zhuǎn)
  96. }
  97. void right_tra()
  98. {
  99.         EN2=0;EN3=0;   //停止右邊使能
  100.         EN0=1;EN1=1;
  101.         IN0=0;IN1=1;IN2=0;IN3=1;         //左邊輪子轉(zhuǎn)
  102. }
  103. void main()
  104.         {
  105.                 system_initial();  //初始化
  106.                 while(1);
  107.         }
  108.         void ser() interrupt 4   //串口中斷
  109.         {
  110.                
  111.                 if(RI==1)//接受中斷結(jié)束
  112.         {                       
  113.                         RI=0;  //清除接受中斷結(jié)束
  114.                         a=SBUF;  //從單片機中讀取出數(shù)據(jù)
  115.                         SBUF=a;//向藍牙串口發(fā)送一個消息,證明通信良好
  116.                         switch(a)
  117.                                 {
  118.                                         case 0:     //前進
  119.                                      qianjin();   break;
  120.                                         case 1:// 后退
  121.                                         houtui();break;
  122.                                         case 2:      
  123.                                                 left_tra();break;      
  124.                                         case 3:
  125.                                                 right_tra();break;
  126. case 4:stop();break;                                       
  127.                                        
  128.                                 }
  129.                        
  130.                         while(!TI)  //發(fā)送中斷->結(jié)束不等于1
  131.                         TI=0;
  132.         }
  133.       

  134. }

復制代碼


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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费观看的av | 性做久久久久久免费观看欧美 | 国产精品福利在线观看 | 国产欧美精品区一区二区三区 | 色又黄又爽网站www久久 | 亚洲精品视频免费观看 | 国产毛片毛片 | 国产中文视频 | 91精品国产综合久久精品图片 | 国产91av视频在线观看 | 欧美一区二区在线免费观看 | 久热久草 | 国产一级电影网 | 一级做a爰片性色毛片16美国 | 乳色吐息在线观看 | 精品欧美激情在线观看 | 五月综合久久 | 欧美一级大片 | 黄片毛片在线观看 | 欧美一级免费看 | 国产精品精品视频一区二区三区 | 亚州一区二区三区 | 韩国毛片视频 | 国产黄色av电影 | 久久久精品 | 国产日韩91 | 91精品久久久久久久久 | 在线观看视频91 | 免费看一区二区三区 | 九九在线 | 区一区二区三在线观看 | 亚洲字幕在线观看 | 91九色视频在线 | 国产欧美精品一区二区三区 | 大香在线伊779 | 久久久久久国产精品免费免费狐狸 | 久久综合国产精品 | 国产乱码精品一区二区三区忘忧草 | 国产欧美精品一区二区三区 | 一级黄色毛片免费 | 欧美三级视频在线观看 |