找回密码
 立即注册

QQ登录

只需一步,快速开始

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

智能小车相关模块程序

[复制链接]
跳转到指定楼层
楼主
ID:343697 发表于 2018-6-2 20:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
附录   其余各模块的程序
1 蓝牙模块参数设置程序
void InitUART(void)
{
TMOD=0x20; //
定时器1
TH1=0xfd; //
装入初值
TL1=0xfd;
TR1=1; //
启动定时器1
SM0=0; //
设置串口方式1
SM1=1;
REN=1; //
接收使能
EA=1; //
打开总中断开关
ES=1; //
打开串口中断开关
}
2蓝牙发送程序接收程序和中断程序
void Print_Char(uchar dat)
{
    SBUF = dat;           //
写数据到UART数据寄存器
while(TI!=1); //等待发送完毕
    TI=0; //
软件清零
}
void Print_Str(uchar *s)//发送字符串(uchar *s)
{   ES=0;
    while (*s)                  //
检测字符串结束标志
    {
        Print_Char(*s++);
delay(2);       //
发送当前字符
    }
ES=1;
}
void Uart() interrupt 4 using 1
{
    if (RI)
    {
        RI = 0;                 //
清除RI
      aa= SBUF;            //P0
显示串口数据
    }
}
3自动避障及灯光声音控制程序设计
void avoid_thing()
{
if(d0==0||d1==0)
{
  P1=right;
  rightled=1;
  leftled=0;
  beep=0;
   }
beep=1;
if(d3==0||d2==0)
{
  P1=left;
  rightled=0;
  leftled=1;  
  beep=0;
  }
  beep=1;
if(d0==0&&d1==0&&d2==0&&d3==0)
  {
   P1= stop;
rightled=1;
   leftled=1;
  }
if(d0==1&&d1==1&&d2==1&&d3==1)
  {
   P1= up;
rightled=0;
   leftled=0;
  }
if(moshi==0)
{
  flag=0;
  }

}
4 液晶显示程序设计
#include "reg52.h"
#include <intrins.h>
typedef unsigned char uchar;
typedef unsigned int  uint;

#define nop(); {_nop_();_nop_();_nop_();_nop_();};
#define DataPort P0                             //
定义P0口为LCD通讯端口
sbit RS=P2^7;  //
数据/命令端
sbit RW=P2^6;  //
/写选择端
sbit E=P2^5;
sbit RST=P2^4;
sbit PSB=P2^2;
sbit Busy=DataPort^7;

void lcd_busy(void)
{
   DataPort=0xff;
   RS=0;
   RW=1;
   E=1;
   while(Busy==1);
   E=0;
}

void lcd_com(uchar com)
{
   lcd_busy();
    E=0;
   RS=0;
   RW=0;  
    E=1;
   DataPort=com;
   nop();
   E=0;
}

void lcd_dat(uchar dat)
{
   lcd_busy();
   E=0;
   RS=1;
   RW=0;  
    E=1;
   DataPort=dat;
   nop();
   E=0;
}

void lcd_init(void)
{
  RST=1;
  PSB=1;
  lcd_com(0x30);  /*30---
基本指令动作*/   
  lcd_com(0x01);  /*
清屏,地址指针指向00H*/
  lcd_com(0x06);  /*
光标的移动方向*/
  lcd_com(0x0c);  /*
开显示,关游标*/
}

void lcd_disp(uchar y,uchar *str,uchar len) //
向第y  写入字符串
{
   uchar i;
   lcd_com(0x30);
   lcd_com(y);
   for(i=0;i<len;i++)
   {
     lcd_dat(*str);
str++;
   }

附录程序.doc

31 KB, 下载次数: 4, 下载积分: 黑币 -5

智能小车相关程序

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

使用道具 举报

沙发
ID:313328 发表于 2018-6-2 22:19 | 只看该作者
很好用,感谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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