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
做得还可以,帮楼主顶一下!{:smile:} 有空了也做一个玩玩~~~~~~~~~ 本帖最后由 x11223y 于 2012-8-18 12:31 编辑
大一就可以做出来,很厉害,用的是直流电机吗 关注,关注。。。。。。 大一,好牛叉。 帮顶帮顶。 x11223y 发表于 2012-8-18 12:29 static/image/common/back.gif
大一就可以做出来,很厉害,用的是直流电机吗
是直流电机{:smile:} mark一下,最近在做这个 羡慕嫉妒恨楼主才华啊 程序就这么多吗? 好吧,自愧不如,大一潜力股,加油 不错啊,大一就接触单片机了
页:
[1]