基于单片机的红外遥控小车系统设计_第1页
基于单片机的红外遥控小车系统设计_第2页
基于单片机的红外遥控小车系统设计_第3页
基于单片机的红外遥控小车系统设计_第4页
基于单片机的红外遥控小车系统设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、红外接收与控件电路原理图:141红外遥控器原理图: 红外遥控器实物图: 红外接收与控制实物图: 程序: 接收控制主程序:#include#include hongwai.c#include 5110.csbit hy=P00;/LED指示灯sbit hz=P20;sbit qy=P14;sbit qz=P37;sbit djf1=P10;/电机1的方向控制sbit djd1=P11;/电机1的动力控制sbit djf2=P12;/电机2的方向控制sbit djd2=P13;/电机2的动力控制unsigned char flag,flag1,PW;bit fan,fan1,tf=0;unsign

2、ed char fafg=0;unsigned char time_flag;unsigned char data time2;/=/ms延时/=void delayms(unsigned int ms)unsigned char i;while(ms-) for(i=0;i120;i+);/=/LED灯闪烁/=void LED(unsigned char ms)unsigned char i;for(i=0;i15) time0+; time_flag=0; if(time059) time0=0; time1+; if(time159) time1=0; /=/主函数/=void main

3、(void)djd1=djd2=0;NOKIA5110_init();NOKIA5110_clear(); / 清屏W_LCD_chinese(0,0,8);/正delayms(100);W_LCD_chinese(15,0,9);/在delayms(100);W_LCD_chinese(30,0,10);/初delayms(100);W_LCD_chinese(45,0,11);/始delayms(100);W_LCD_chinese(60,0,12);/化delayms(100);W_LCD_chinese(10,3,13);/请delayms(100);W_LCD_chinese(25,

4、3,14);/稍delayms(100);W_LCD_chinese(40,3,2);/后delayms(100);W_LCD_zifu(60,3,10);/.PW=20;TH1=(65536-50000)/256;TL1=(65536-50000)%256;IP=0x09;/设置中断优先级IPH=0x08;open_interrupt();TR1=ET1=0;LED(10);qy=qz=hy=hz=1;NOKIA5110_clear(); / 清屏W_LCD_chinese(1,0,10);/初delayms(100);W_LCD_chinese(16,0,11);/始delayms(100

5、);W_LCD_chinese(31,0,12);/化delayms(100);W_LCD_chinese(46,0,15);/完delayms(100);W_LCD_chinese(61,0,16);/成delayms(100);W_LCD_chinese(0,3,17);/等delayms(100);W_LCD_chinese(15,3,18);/待delayms(100);W_LCD_chinese(30,3,19);/信delayms(100);W_LCD_chinese(45,3,20);/号delayms(100);W_LCD_zifu(65,3,10);/.while(1) ko

6、ngzi(); if(tf=1&time_flag=7) LCD_display();红外解码:/*/* 红外解码/* 晶振:11.0592MHZ/* 数据口:外中断0/* 计数器:定时器T0/*/#includesbit Dat=P32; /数据口bit tru;unsigned char shu4;/*开中断*/void open_interrupt(void)TMOD=0x11; /定时器T0工作在方式1IT0=1; /中断0在下降沿触发TR0=1;EX0=1; /开外部中断0EA=1; /开中断/*接收数据*/void R_Dat(void) interrupt 0unsigned c

7、har i,j;unsigned int dtime=0;unsigned char temp;/ P1=0xff;TH0=TL0=0;while(!Dat) if(TH0*256+TL020000) return;while(Dat)if(TH0*256+TL020000) return;dtime=TH0*256+TL0;TH0=TL0=0;if(8000dtime&dtime14000) /9MS的引导码+4.5MS的结束码 for(i=0;i4;i+) temp=0; for(j=0;j20000) return; while(Dat) if(TH0*256+TL020000) ret

8、urn; dtime=TH0*256+TL0; TH0=TL0=0; if(1450dtime&dtime1)|0x80;/是否为1 else if(700dtime&dtime1)|0x00;/是否为0 shui=temp; if(shu0=shu1&shu2=shu3) tru=1;/查错 LCD5110驱动程序:#include#include ziku.C/-管脚定义-sbit LCD_sce = P27; /片选,低最平有效sbit LCD_rst = P26; /复位,0复位sbit LCD_dc = P25; /1写数据,0写指令sbit LCD_sdin = P24; /数据s

9、bit LCD_sclk = P23; /时钟/*/ NOKIA5110_w_byte : 使用SPI接口写数据到LCD/ 输入参数:data :写入的数据;/ command :写数据/命令选择;/*void NOKIA5110_w_byte(unsigned char dat,unsigned char command)unsigned char i;LCD_sce=0; /LCD使能LCD_dc=command;/ for(i=0;i8;i+) /传输8位数据(1个字节) if(dat&0x80) LCD_sdin=1; else LCD_sdin=0; dat=dat1; LCD_sc

10、lk=0; LCD_sclk=1;LCD_sce=1; /LCD不使能/*/NOKIA5110_init : LCD初始化/*void NOKIA5110_init(void)unsigned char k;LCD_rst=0; for(k=0;k250;k+);LCD_rst=1; /- NOKIA5110_w_byte(0x21, 0); / 使用扩展命令设置LCD模式 NOKIA5110_w_byte(0xd0, 0); / 设置偏置电压 NOKIA5110_w_byte(0x06, 0); / 温度校正 NOKIA5110_w_byte(0x13, 0); / 1:48 NOKIA51

11、10_w_byte(0x20, 0); / 使用基本命令 NOKIA5110_w_byte(0x0c, 0); / 设定显示模式,正常显示/*/ NOKIA5110_set_XY : 设置LCD坐标函数/ 输入参数:X:083/ Y:05/*void NOKIA5110_set_XY(unsigned char x, unsigned char y) NOKIA5110_w_byte(0x40 | y, 0); / 列(竖) NOKIA5110_w_byte(0x80 | x, 0); / 行(横) /*/写汉字到LCD/*void W_LCD_chinese(unsigned char X,

12、unsigned char Y,unsigned char dat)unsigned char i;NOKIA5110_set_XY(X,Y);for(i=0;i16;i+) NOKIA5110_w_byte(hanzidati,1);NOKIA5110_set_XY(X,Y+1);for(i=16;i32;i+)NOKIA5110_w_byte(hanzidati,1);/*/写字符到LCD5110/*void W_LCD_zifu(unsigned char X,unsigned char Y,unsigned char dat)unsigned char i;NOKIA5110_set_

13、XY(X,Y);for(i=0;i8;i+) NOKIA5110_w_byte(zifudati,1);NOKIA5110_set_XY(X,Y+1);for(i=16;i24;i+)NOKIA5110_w_byte(zifudati,1);/*/NOKIA5110_clear : LCD清屏/*void NOKIA5110_clear(void)unsigned char t;unsigned char k;NOKIA5110_set_XY(0,0);for(t=0;t6;t+) for(k=0;k84;k+) NOKIA5110_w_byte(0x00,1); 字库:unsigned ch

14、ar code zifu32=0xF0,0xF8,0x0C,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为0的点阵*/0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08

15、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为1的点阵*/0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为2的点阵*/0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

16、00,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为3的点阵*/0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为4的点阵*/0x00,0xF8,0x98,0x48,0x48,0x88,

17、0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x10,0x20,0x20,0x18,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为5的点阵*/0x00,0xE0,0x30,0x88,0xC8,0x98,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x19,0x20,0x20,0x30,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

18、,/*以上为6的点阵*/0x00,0x08,0x08,0x08,0x08,0xE8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为7的点阵*/0x00,0x70,0xD8,0x08,0x08,0xD8,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x31,0x21,0x21,0x31,0x1E,0x

19、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为8的点阵*/0x00,0xF0,0x18,0x08,0x08,0x18,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x33,0x22,0x22,0x19,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*以上为9的点阵*/0x80,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

20、0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*10以上为.的点阵*/0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*11以上为:的点阵*/;unsigned char code hanzi32=0

21、x00,0x08,0x08,0xC8,0x48,0x4A,0x4C,0xC8,0x08,0x08,0xCE,0x0A,0x08,0xE8,0x08,0x00,0x00,0x00,0x80,0xFF,0x09,0x09,0x49,0x7F,0x00,0x00,0x0F,0x40,0x40,0x7F,0x00,0x00,/*0以上为前的点阵*/0x00,0x40,0x44,0xC8,0x00,0x10,0x10,0x10,0xFE,0x10,0x10,0xFE,0x10,0x10,0x10,0x00,0x00,0x60,0x20,0x3F,0x20,0x21,0x51,0x4F,0x41,0x41

22、,0x41,0x5F,0x41,0x41,0x41,0x00,/*1以上为进的点阵*/0x00,0x00,0x00,0xFC,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x26,0x26,0x24,0x20,0x00,0x00,0x20,0x3C,0x07,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,/*2以上为后的点阵*/0x00,0x80,0x84,0x9C,0x00,0x00,0xFC,0x54,0x54,0x54,0x54,0x54,0x7C,0x7C,0x00,0x00,0x00,

23、0x40,0x60,0x3F,0x20,0x20,0x5F,0x50,0x48,0x4B,0x42,0x44,0x4E,0x59,0x40,0x00,/*3以上为退的点阵*/0x00,0x00,0x10,0x10,0x10,0x90,0x7C,0x1E,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x10,0x10,0x0C,0x46,0x41,0x41,0x41,0x41,0x7F,0x41,0x41,0x41,0x41,0x40,0x00,/*4以上为左的点阵*/0x00,0x88,0xE8,0x1E,0xCA,0x08,0x08,0x40,0

24、x48,0xC8,0x7E,0x48,0x48,0x48,0x48,0x00,0x00,0x09,0x09,0x09,0x7F,0x09,0x05,0x00,0x10,0x13,0x22,0x72,0xCE,0x06,0x02,0x00,/*5以上为转的点阵*/0x00,0x44,0x64,0xB4,0x94,0x84,0xFC,0x86,0x86,0xFC,0x84,0x84,0x94,0x24,0x44,0x00,0x00,0x00,0x00,0x0E,0x0A,0x0A,0x0A,0x0A,0x0A,0xCA,0x4A,0x4A,0x7B,0x18,0x00,0x00,/*6以上为弯的点

25、阵*/0x00,0x10,0x10,0x10,0x10,0x90,0x70,0x1E,0x12,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x08,0x08,0x04,0x43,0x7F,0x21,0x21,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,/*7以上为右的点阵*/0x00,0x00,0x08,0xC8,0xC8,0x08,0x08,0x08,0xF8,0x88,0x88,0x88,0x88,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x3F,0x20,0x20,0x20,0x3F,

26、0x20,0x20,0x20,0x20,0x20,0x20,0x00,/*8以上为正的点阵*/0x00,0x00,0x08,0x08,0x88,0xE8,0x38,0x0E,0x08,0x08,0xE8,0x08,0x08,0x08,0x08,0x00,0x00,0x04,0x06,0x03,0x7F,0x20,0x21,0x21,0x21,0x21,0x3F,0x21,0x21,0x21,0x20,0x00,/*9以上为在的点阵*/0x00,0x00,0x10,0x90,0xD6,0x30,0x80,0x80,0x08,0x08,0xF8,0x08,0x08,0x08,0xF8,0x00,0

27、x00,0x06,0x03,0x01,0x7F,0x03,0x47,0x64,0x30,0x0E,0x03,0x40,0x60,0x7C,0x1F,0x00,/*10以上为初的点阵*/0x00,0x10,0xD0,0x3E,0x12,0xF0,0x10,0x40,0x70,0x58,0x46,0x40,0x50,0x70,0x60,0x00,0x00,0x40,0x63,0x34,0x0E,0x1B,0x10,0x00,0x7E,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,/*11以上为始的点阵*/0x00,0x80,0xC0,0x30,0xFC,0x06,0x00,

28、0x00,0x00,0xFE,0x80,0xC0,0x60,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x04,0x04,0x02,0x7F,0x41,0x40,0x40,0x60,0x30,0x00,/*12以上为化的点阵*/0x00,0x20,0x10,0xF6,0x00,0x00,0x44,0x54,0x54,0x54,0x7E,0x54,0x54,0x54,0x44,0x00,0x00,0x00,0x00,0x7F,0x10,0x08,0x00,0xFF,0x15,0x15,0x15,0x15,0xD5,0x7F,0x00,0x00,/*

29、13以上为请的点阵*/0x00,0x40,0x44,0xFC,0xFC,0x46,0x40,0x04,0xD8,0x40,0x7E,0x42,0x50,0xC8,0x04,0x00,0x00,0x08,0x06,0x7F,0x7F,0x03,0x06,0x00,0xFF,0x09,0x09,0x09,0x49,0xFF,0x00,0x00,/*14以上为稍的点阵*/0x00,0x00,0x38,0x08,0x68,0x48,0x48,0x4A,0x4E,0x48,0x48,0x68,0x08,0x38,0x00,0x00,0x00,0x40,0xC1,0x41,0x21,0x1D,0x07,0

30、x01,0x01,0x7F,0x41,0x41,0x41,0x71,0x21,0x00,/*15以上为完的点阵*/0x00,0x00,0x00,0xF0,0x90,0x90,0x90,0x10,0x10,0xFE,0x10,0x12,0xD6,0x10,0x10,0x00,0x00,0x40,0x78,0x0F,0x00,0x10,0x5F,0x40,0x60,0x37,0x1C,0x1F,0x61,0x40,0x60,0x00,/*16以上为成的点阵*/0x00,0x10,0x18,0x46,0x46,0x7C,0x44,0x44,0xF0,0x5C,0x46,0x44,0x5C,0x14,

31、0x04,0x00,0x00,0x02,0x0A,0x0A,0x0A,0x2A,0x6A,0x0A,0x0B,0xCA,0x4A,0x7E,0x0A,0x0A,0x0A,0x00,/*17以上为等的点阵*/0x00,0x00,0x10,0xCC,0x66,0x20,0x48,0x48,0x48,0x7E,0x4A,0x48,0xC8,0x48,0x40,0x00,0x00,0x02,0x01,0x7F,0x00,0x02,0x02,0x0A,0x12,0x02,0x42,0x42,0x7F,0x02,0x02,0x00,/*18以上为待的点阵*/0x00,0x80,0x60,0xFC,0x06

32、,0x88,0xA8,0xA8,0xA8,0xAA,0xAC,0xA8,0xA8,0xA8,0x88,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x7C,0x24,0x24,0x24,0x24,0x24,0x7C,0x00,0x00,/*19以上为信的点阵*/0x00,0x80,0x80,0xA0,0xBC,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xBC,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x04,0x07,0x04,0x04,0x44,0x44,0x44,0x74,0x1C,0x00,0

33、x00,0x00,/*20以上为号的点阵*/0x00,0xC0,0x70,0xFE,0x02,0x04,0x14,0x74,0x54,0x56,0x56,0x54,0x54,0x74,0x04,0x00,0x00,0x00,0x00,0x7F,0x00,0x03,0x01,0x05,0x45,0x45,0x7D,0x05,0x05,0x05,0x03,0x00,/*21以上为停的点阵*/0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xFE,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x20,0x20,0x20,0x3F,

34、0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x00/*22以上为止的点阵*/;红外遥控器程序:#includesbit ir=P11;/红外输出/sbit P1_0=P10;sbit LED=P12;sbit qian=P21;sbit hou=P22;sbit zuo=P25;sbit you=P27;bit flag;unsigned int flag1;/=/MS延时函数/=void delayms(ms)unsigned char i;while(ms-)for(i=0;i120;i+);/=/定时器T0初始化/=void T0

35、_init(void)TMOD=0x02;TH0=0xe6; TL0=0xe6;EA=ET0=1;/=/定时器T0中断函数/=void Timer0(void) interrupt 1flag1+;if(flag) ir=ir;else ir=0;/=/数据处理/=void cend_data(unsigned char add,unsigned char dat)unsigned char unadd,undat;unsigned char i;unsigned char bir;unadd=add;undat=dat;TH0=0xe6;TL0=0xe6;LED=LED;flag1=0;flag=1;while(flag1300); /9MS初始码flag1=0;flag=0;while(flag1150);/4.5MS结束码for(i=0;i8;i+) /发送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论