天之痕111 发表于 2012-8-18 09:18:41

51小车雏形制作完成


#include<intrins.h>
#define uchar unsigned char
#define uintunsigned int
uchar num;
//flag实现触发中断时实现不同扥功能
uchar selectflag=0;//选择 标志
uchar crossflag=0;//标志小车正在处于壁障模式
uchar remoteflag=0; //标志小车正在处于红外遥控模式
uchar pileflag=0;          //标志小车正在处于过庄模式
uchar modeflag=0;   //标志 确定键按下
uchar yunxingflag=0;//标志小车正在运行走动
uchar backflag=0;//返回标志

uchar goflag=0;


//模式选择界面分支
uchar code way1[]="MODEL 1run?_M ";
uchar code way2[]="MODEL 2run?_M ";
uchar code way3[]="MODEL 3run?_M ";
uchar code way3name[]=" __BeatPile__ ";
uchar code way1name[]=" __Cross Fire__ ";
uchar code way2name[]="_remote control_";
uchar code speed[]="speed:";





sbit in1=P0^6;
sbit in2=P0^5;
sbit en1=P0^1;
sbit in3=P0^4;
sbit in4=P0^3;
sbit en2=P0^0;
sbit L1=P3^4;
sbit L2=P3^5;


sbit rs=P2^6;                        //定义引脚
sbit rw=P2^5;
sbit e=P2^7;


uchar code init1[]="SELECT a WAY:   ";



sbit IRIN = P3^2;         //红外接收器数据线
uchar IRCOM;

void delay(uchar x)    //x*0.14MS
        {
       uchar i;
          while(x--)
       {
          for (i = 0; i<13; i++) {}
       }
        }



/***********1602驱动部分*********************/
void lcd_mang()
{
   rs=0;
   rw=1;
   e=1;
   _nop_();
        _nop_();
        _nop_();
        _nop_();
   while(P1&0x80);
   e=0;
}

//1602的写
void lcdcom(uchar com)        //当i为0的时候为向1602写指令为1写数据
{
    lcd_mang();
        rs=0;
        rw=0;
        e=0;
        _nop_();
        _nop_();       
        e=1;
        _nop_();
        _nop_();
        P1=com;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        e=0;       
}
void lcddata(uchar date)        //当i为0的时候为向1602写指令为1写数据
{
    lcd_mang();
        rs=1;
        rw=0;
        e=0;
        _nop_();
        _nop_();       
        e=1;
        _nop_();
        _nop_();
        P1=date;
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        e=0;       
}

void lcdinit()
       {
                  lcdcom(0x38);
                  delay(1);
                  lcdcom(0x0c);
                  delay(1);
                  lcdcom(0x06);
                  delay(1);
                  lcdcom(0x01);
                  delay(1);
          }

void init()
{
       
       ET1=0;
       TR0=1;
       ET0=1;
       TH0=(65536-50000)/256;
       TL0=(65536-50000)%256;
       EX1=1;
       EX0=1;
       IT1=1;
       EA=1;
}http://www.tudou.com/v/zWYFYUHFjDM/&rpid=97409639&resourceId=97409639_04_05_99/v.swf

cb1470 发表于 2012-8-18 09:39:02

做得还可以,帮楼主顶一下!{:smile:}

lxa0 发表于 2012-8-18 12:18:57

有空了也做一个玩玩~~~~~~~~~

x11223y 发表于 2012-8-18 12:29:41

本帖最后由 x11223y 于 2012-8-18 12:31 编辑

大一就可以做出来,很厉害,用的是直流电机吗

zxq6 发表于 2012-8-18 13:07:14

关注,关注。。。。。。

R2D1 发表于 2012-8-20 12:55:00

大一,好牛叉。

Altium12A 发表于 2013-1-31 15:24:21

帮顶帮顶。

天之痕111 发表于 2013-2-21 11:02:44

x11223y 发表于 2012-8-18 12:29 static/image/common/back.gif
大一就可以做出来,很厉害,用的是直流电机吗

是直流电机{:smile:}

外卡传媒 发表于 2013-2-24 17:39:01

zhong1035 发表于 2014-9-5 09:33:42

mark一下,最近在做这个

别有洞天下 发表于 2014-9-5 14:08:50

羡慕嫉妒恨楼主才华啊

飞扬琴声 发表于 2014-9-8 10:04:49

程序就这么多吗?

搁浅的风度 发表于 2014-9-8 10:16:29

好吧,自愧不如,大一潜力股,加油

liushenyoko 发表于 2014-9-9 08:42:33

不错啊,大一就接触单片机了
页: [1]
查看完整版本: 51小车雏形制作完成