找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蓝牙小车程序

[复制链接]
跳转到指定楼层
楼主
ID:197374 发表于 2017-5-6 19:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int

uchar tmp;
unsigned char zkb=70 ;     
sbit IN1=P2^2;
sbit IN2=P2^3;

sbit ENA=P2^0;
sbit ENB=P2^1;

int t=0;

void dely(int a)
{
int i,j;
for(i=0;i<a;i++)
for(j=0;j<110;j++);
}

void Go()
{
  IN1=1;
  IN2=0;
}

void Back()
{
  IN1=0;
  IN2=1;
}

void Stop()
{
  IN1=0;
  IN2=0;
}

void timer0() interrupt 1
{
        if(t<zkb)
        {                 
           ENA=1;
           ENB=1;
        }
        else
        {
           ENA=0;
           ENB=0;
        }                 

        TH0=(65535-50)/256;
        TL0=(65535-50)%256;

        t++;
        if(t>=100)
          {t=0;}
}



void Init()        
{      
        TMOD = 0x21;          //定时器1工作于8位自动重载模式,用于产生波特率
        TH1=TL1=0xFD;          //11.0592M晶振,9600波特率      
        SCON = 0x50;     //设定串行口工作方式1  允许接受  
        PCON &= 0x7F;    //波特率不倍增
        TR1 = 1;                     //启动定时器1
        ES=1;                         //开启串口中断
        EA=1;                          //开启总中断
                   
    RI=0;  

    TH0=(65535-50)/256;
    TL0=(65535-50)%256;
    ET0=1;
    TR0=1;                                                                                                                 
}   

void main()
{
   Init();                                                //初始化
   while(1)
   {                
          switch(tmp)
         {
               case 'F':                                         
                  Go();
                              break;
            case 'B':                                           
                  Back();
                              break;       
       case 'S':                                           
                  Stop();
                              break;     
       case 'a':                            
                  zkb=10;                     
                              break;                                                                               
            case 'b':                            
                  zkb=20;                     
                              break;                                                         
            case 'c':                         
                  zkb=30;                                                                            
                              break;                                       
            case 'd':                            
                  zkb=40;                                    
                              break;
            case 'e':                            
                  zkb=50;                                                                                    
                              break;
            case 'f':                            
                  zkb=60;                            
                              break;
            case 'g':                            
                  zkb=70;                      
                              break;
            case 'h':                            
                  zkb=80;                                                                                     
                              break;       
            case 'i':                            
                  zkb=90;                                                                                     
                              break;
            case 'j':                            
                  zkb=100;                                             
                              break;                                                                                         
                }         
        }

}

void serial_RX() interrupt 4         
{
                if(RI==1)                     
            {
                 RI = 0;
                 tmp = SBUF;
            }     
}






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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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