找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4395|回复: 0
收起左侧

原创的51单片机玩微信跳一跳

[复制链接]
ID:259648 发表于 2018-7-8 22:04 | 显示全部楼层 |阅读模式
微信跳一跳已经出来很长一段时间了,把自己做的微信跳一跳辅助分享给大家学习。 初次发贴,大神勿喷~~原理:  利用串口通信,和对舵机进行PWM(脉宽调制)控制;电脑发送指定数据 ,单片机经过解析后计算出相应的舵机下落时间从儿触发小人前进指定的步长。

缺点:每次需要量两个桩之间的距离 (从小人底部圆心  到目的地的中心距离)
程序中注释已经添加,方便修改。
舵机信号的控制波形:(9g舵机,不同舵机可能存在差异)

舵机信号的控制波形(9g舵机,不同舵机可能存在差异)

舵机信号的控制波形(9g舵机,不同舵机可能存在差异)




玩法:使用串口助手发送斜杠后面的字符  波特率:9600  ,
串口助手在附件中
玩法.png


舵机信号线接口:P3.7
晶振大小:11.0592MHZ
单片机   :12T  89c52rc
源码如下:
  1. /*89C52RC  11.0592 M 红色金属舵机*/
  2. #include<reg52.h>

  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5.                  
  6. sbit duoji = P3^7 ;

  7. uchar count;                      //timer
  8. //uchar x=15 ; //15抬起  11落下        
  9. uchar x = 10;//删除此句
  10. uchar Value ;

  11. static uchar flag=1; //触发标志位

  12. void delay(uint z)//毫秒级延时
  13. {
  14.            uint i,j;
  15.         for(i = z; i > 0; i--)
  16.          for(j = 500; j > 0 ; j--);
  17. }        
  18. /*定时器t0中断*/
  19. void timer_init()
  20. {
  21.         TMOD|= 0x02 ;     //定时器0   8位自动重装
  22.         TH0  = 164  ;     //100us溢出一次  10次1ms  190次19ms一个周期
  23.         TL0  = 164  ;
  24.         TR0  = 1;         //启动定时器0
  25.         EA   = 1;         //总中断打开
  26.     ET0  = 1;         //定时器中断打开
  27.     TR0  = 1;         //定时器开关打开
  28. }
  29.   

  30. /*串口中断 */                        
  31. void UART_init()
  32. {
  33.    TMOD |= 0x20;          //T1工作模式2  8位自动重装
  34.         TH1 = 0xfd;
  35.         TL1 = 0xfd;         //比特率9600
  36.         TR1 = 1;                //启动T1定时器
  37.         SM0 = 0;
  38.         SM1 = 1;                 //串口工作方式1 10位异步
  39.         REN = 1;                //串口允许接收
  40.         EA  = 1;                //开总中断
  41.         ES  = 1;                //串口中断打开
  42. }
复制代码
PWM个人笔记.png
0.png
剩下的所有文件均在附件中。 微信跳一跳.zip (678.47 KB, 下载次数: 24)

评分

参与人数 2黑币 +55 收起 理由
简——亦 + 5 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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