找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7086|回复: 4
打印 上一主题 下一主题
收起左侧

蓝牙智能小车程序及L298N原理图 单片机C语言源程序

[复制链接]
跳转到指定楼层
楼主
蓝牙智能小车程序及L298N原理图



单片机源程序:

  1. #include<reg52.h>
  2. #include<math.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar Buffer[4] = {0}; //从串口接收的数据
  6. uint i,j;
  7. sbit Left_Positive=P1^0;
  8. sbit Left_Negative=P1^1;
  9. sbit Right_Positive=P1^2;
  10. sbit Right_Negative=P1^3;
  11. sbit LeftLight=P2^1;
  12. sbit RightLight=P2^2;
  13. /********************************************************************
  14. * 名称 : Delay_1ms()
  15. * 功能 : 延时子程序,延时时间为 1ms * x
  16. * 输入 : x (延时一毫秒的个数)
  17. * 输出 : 无
  18. ***********************************************************************/
  19. void Delay_1ms(uint i)//1ms延时
  20. {
  21. uchar x,j;
  22. for(j=0;j<i;j++)
  23. for(x=0;x<=148;x++);
  24. }
  25. /********************************************************************
  26. * 名称 : Com_Int()
  27. * 功能 : 串口中断子函数
  28. * 输入 : 无
  29. * 输出 : 无
  30. ***********************************************************************/
  31. void Com_Int(void) interrupt 4
  32. {

  33. EA = 0;
  34. if(RI == 1) //当硬件接收到一个数据时,RI会置位
  35. {
  36. Buffer[0] = SBUF - 48; //这里减去48是因为从电脑中发送过来的数据是ASCII码。
  37. RI = 0;

  38. }
  39. EA = 1;
  40. }
  41. /********************************************************************
  42. * 名称 : Com_Init()
  43. * 功能 : 串口初始化,晶振11.0592,波特率9600,使串口中断
  44. * 输入 : 无
  45. * 输出 : 无
  46. ***********************************************************************/
  47. void Com_Init(void)
  48. {
  49. TMOD = 0x20;
  50. PCON = 0x00;
  51. SCON = 0x50;
  52. TH1 = 0xFd; //设置波特率 9600
  53. TL1 = 0xFd;
  54. TR1 = 1; //启动定时器1
  55. ES = 1; //开串口中断
  56. EA = 1; //开总中断
  57. }
  58. /********************************************************************
  59. * 名称 :Moto_Forward()
  60. * 功能 : 电机1、2启动,都是前进,整车表现为前进。
  61. * 输入 : 无
  62. * 输出 : 无
  63. ***********************************************************************/
  64. void Moto_Forward()
  65. {
  66. Right_Negative=0;
  67. Left_Positive=0;
  68. Left_Negative=1;
  69. Right_Positive=1;

  70. Delay_1ms(100);

  71. }
  72. /********************************************************************
  73. * 名称 :Moto_Backward()
  74. * 功能 : 电机1、2启动,都是后退,整车表现为后退。
  75. * 输入 : 无
  76. * 输出 : 无
  77. ***********************************************************************/
  78. void Moto_Backward()
  79. {

  80. Left_Positive=0;
  81. Right_Positive=0;
  82. Right_Negative=1;
  83. Left_Negative=1;


  84. Delay_1ms(100);
  85. }


  86. /********************************************************************
  87. * 名称 :Moto_TurnLeft()
  88. * 功能 : 电机1后退,电机2前进,整车表现为左转。
  89. * 输入 : 无
  90. * 输出 : 无
  91. ***********************************************************************/
  92. void Moto_TurnLeft()
  93. {
  94. Left_Negative=0;
  95. Right_Positive=0;
  96. Right_Negative=1;
  97. Left_Positive=1;

  98. Delay_1ms(100);
  99. }
  100. /********************************************************************
  101. * 名称 :Moto_TurnRight()
  102. * 功能 : 电机1前进,电机2后退,整车表现为右转。
  103. * 输入 : 无
  104. * 输出 : 无
  105. ***********************************************************************/
  106. void Moto_TurnRight()
  107. {


  108. Right_Negative=0;
  109. Left_Negative=0;
  110. Left_Positive=1;
  111. Right_Positive=1;
  112. Delay_1ms(100);
  113. }
  114. /********************************************************************
  115. * 名称 :Moto_Stop()
  116. * 功能 : 电机1停止,电机2停止,整车表现为停止。
  117. * 输入 : 无
  118. * 输出 : 无
  119. ***********************************************************************/
  120. void Moto_Stop()
  121. {


  122. Right_Negative=0;
  123. Left_Negative=0;
  124. Left_Positive=0;
  125. Right_Positive=0;
  126. Delay_1ms(100);
  127. }
  128. /********************************************************************
  129. * 名称 :LightTurnOn()
  130. * 功能 : 打开车灯。
  131. * 输入 : 无
  132. * 输出 : 无
  133. ***********************************************************************/
  134. void LightTurnOn()
  135. {


  136. LeftLight=0;
  137. RightLight=0;

  138. }
  139. /********************************************************************
  140. * 名称 :LightTurnOff()
  141. * 功能 : 关闭车灯。
  142. * 输入 : 无
  143. * 输出 : 无
  144. ***********************************************************************/
  145. void LightTurnOff()
  146. {

  147. LeftLight=0;
  148. RightLight=0;

  149. }
  150. void main()
  151. {
  152. Delay_1ms(100);
  153. Com_Init();//串口初始化


  154. while(1)
  155. {
  156. switch(Buffer[0])
  157. {
  158. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

下载:
蓝牙智能小车程序及L298N原理图就.rar (197.12 KB, 下载次数: 143)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:249530 发表于 2017-12-10 10:52 | 只看该作者
赞一个
回复

使用道具 举报

板凳
ID:262559 发表于 2017-12-30 14:31 来自手机 | 只看该作者
太简洁了   
回复

使用道具 举报

地板
ID:412358 发表于 2018-10-20 20:24 | 只看该作者
谢谢分享,奈何没有积分T T
回复

使用道具 举报

5#
ID:402345 发表于 2018-10-25 10:08 来自手机 | 只看该作者
有用收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表