ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:270.75KB ,
资源ID:5008233      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5008233.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能小车资料及源程序Word格式文档下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

智能小车资料及源程序Word格式文档下载.docx

1、1) 性价比高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符。Nokia5110裸屏仅8.8元,LCD1602一般15元左右,LCD12864一般5070元。2) 接口简单,仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根。3) 速度快,是LCD12864的20倍,是LCD1602的40倍。4) Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备。Nokia5110原理图:商家把该引出的管脚都引出了,下面就可以连接C8051F的相应管脚,写程序驱动5110了。N

2、okia5110和Nokia3110是兼容的,用的都是同一款驱动芯片PHILIPS PCD8544。(1) SPI接口时序写数据/命令 Nokia5110(PCD8544)的通信协议是一个没有MISO只有MOSI的SPI协议,如果单片机有富裕的SPI接口,也可以利用硬件SPI,但通常没有必要,只需要软件程序模拟即可。智能避障小车原理图一下是小车各个模块原理图逐一展示1.12v及5v直流稳压电源2.L298电机驱动模块3.51单片机控制模块4.。声光信号产生模块以下是二、电机驱动模块,超声波测距避障,声光信号产生,PWM调速源程序/*用T0计时器中断进行对小车方向的调节用INT0外部中断进行声光

3、报警用INT1外部中断进行超声避障用T1计时器进行对时间的测量*/#includestdio.hsbit P00=P10; /循迹口sbit P01=P11;sbit P02=P12;sbit P03=P03; /声光信号P03接蜂鸣器,P04接LEDsbit P04=P04;sbit P20=P20; /电机1 左轮sbit P21=P21;sbit P22=P22; /电机2sbit P23=P23;void zhuanxiang(char,char,char);void delay1ms(void);void delaynms(int);unsigned int i=0,j=0; /特殊

4、情况旗标 void kongzhi(void) interrupt 1 /PWM信号进行电机控制 if(P00=0&P01=1&P02=0) /小车直线快走 定时0.02ms TH0=0X1F; TL0=0XEC; P20=0; /电机1 左轮 P21=1; P22=1; /电机2 右转 P23=0; P01=0&P02=1) /小车右转 定时0.05ms TL0=0XCE; P20=1; /电机1 左轮 /电机2 i=1; P02=0&i=1) / 特别 TH0=0X1F; TL0=0XCE; P22=1; P23=0; j=0; if(P00=1&P02=0) /小车左转 定时0.05ms

5、 TH0=0X1F; /电机1 P21=1; /电机2 P23=1; j=1;j=1) / 特别 TH0=0X1F;TL0=0XCE; P23=1; i=0; P02=1) /全部检测到黑线时 车停void shengguang(void) interrupt 0 /停车并产生声光2s unsigned int i,j; P20=1; P21=1; P22=1; P23=1; delaynms(500); for(i=0;i20;i+) P04=0; for(j=0;j100;j+) P03=0; delay1ms(); P03=P03; P03=1; /关闭声光 P04=1; delaynm

6、s(500); P20=0;/继续行车 void chaoshengbo(void) interrupt 2 /超声波测距避障程序 void main() while(1)P21=1;P22=1;P23=1;/小车停P04=1; PX0=1; TMOD=0X10;/T0用方式0,T1用方式1 EA=1; /开启中断总开关 EX0=1;/T0中断 EX1=1; /T1中断 ET0=1;/INT0中断 ET1=1; /INT1中断 TR1=1; /开启T1计时器 zhuanxiang(P00,P01,P02); void zhuanxiang(char P00,char P01,char P02)

7、 if(P00=0&P02=0) / 小车直走 /0.01ms TL0=0XF6; TR0=1; P02=1) /小车右转 定时0.05ms TH0=0X1F; TL0=0XCE; if(P00=1&P02=0) /小车左转 定时0.05ms if(P00=1&P02=1) /全部检测到黑线时 车停 TR0=1; void delay1ms(void) int i;120;i+);void delaynms(int n) int i,j;n;j+);三、诺基亚5110液晶显示时间路程源程序Nokia5110 LCD test芯片型号: AT89S52by: ysit1990data: 2012

8、.06.20描述: 基于网上参考例子修改测试于杭州电子科技大学集训期间/*pin description i/o VCC(3.3V) +3.3v 供电电源 CLK : LCD_CLK P2.0 时钟 DA : SDIN P2.1 数据输入 D/C : LCD_DC P2.2 1写数据 0写命令 SCE : LCD_SCE P2.3 片选信号 RSET: LCD_REST P2.4 复位信号 GND - 接地 LED +5v 背光*/#include /包含_nop_();一机器周期延时空指令#define uchar unsigned char#define uint unsigned int

9、sbit LCD_CLK = P15; /时钟sbit SDIN = P14; /数据sbit LCD_DC = P13; /1写数据,0写指令sbit LCD_SCE = P12; /片选sbit LCD_REST = P11; /复位,0复位/*function*/SPI写操作void LCD_write_byte(unsigned char dat, unsigned char command);/5110初始化void LCD_init(void);/清屏void LCD_clear(void);/显示一个字符void LCD_write_char(unsigned char c);/

10、显示字符串void LCD_write_String(unsigned char X,unsigned char Y,unsigned char *s);/显示一个汉字void LCD_WRITE_ZH(unsigned char X, unsigned char Y,unsigned char ZH32,unsigned char index);/显示汉字串void LCD_WRITE_ZH_STRING(uchar X,uchar Y, / 起始坐标 uchar ZHS32, / 汉字字符串 uchar width, / 每个字符边长 uchar index, / 起始索引号 uchar

11、num, / 显示个数 uchar space); / 间距/画图void LCD_draw_bmp_pixel(uchar X,uchar Y,uchar *map, uchar width,uchar height);/ASCII码的字库uchar code ASCII_6_86 =0x00, 0x3e, 0x51, 0x49, 0x45, 0x3e / 0,0x00, 0x00, 0x42, 0x7f, 0x40, 0x00 / 1,0x00, 0x42, 0x61, 0x51, 0x49, 0x46 / 2,0x00, 0x21, 0x41, 0x45, 0x4b, 0x31 / 3,

12、0x00, 0x18, 0x14, 0x12, 0x7f, 0x10 / 4,0x00, 0x27, 0x45, 0x45, 0x45, 0x39 / 5,0x00, 0x3c, 0x4a, 0x49, 0x49, 0x30 / 6,0x00, 0x01, 0x71, 0x09, 0x05, 0x03 / 7,0x00, 0x36, 0x49, 0x49, 0x49, 0x36 / 8,0x00, 0x06, 0x49, 0x49, 0x29, 0x1e / 9,0x00, 0x00, 0x36, 0x36, 0x00, 0x00 / :,0x00, 0x38, 0x44, 0x44, 0x4

13、4, 0x20 / c,0x00, 0x7c, 0x04, 0x18, 0x04, 0x78 / m,0x00, 0x48, 0x54, 0x54, 0x54, 0x20 / s;/*/ 汉字字模参考*/static const char Hanzi24 = /*- 文字: 支 -*/*- 宋体12; 此字体下对应的点阵为:宽x高=16x16*/0xFE,0x22,0x22,0xFE,0x00,0x08,0x48,0x88,0x08,0xFF,0x08,0x00,0x07,0x02,0x02,0x07,0x00,0x00,0x00,0x09,0x08,0x0F,0x00,0x00,/时00x0

14、0,0xF9,0x02,0xF8,0x49,0x49,0x49,0x49,0xF9,0x01,0xFF,0x00,0x00,0x0F,0x00,0x03,0x02,0x02,0x02,0x02,0x0B,0x08,0x0F,0x00,/间10x9E,0x12,0xF2,0x9E,0x48,0xC4,0xAB,0x92,0xAA,0xC6,0x40,0x00,0x0F,0x08,0x07,0x04,0x00,0x0F,0x04,0x04,0x04,0x0F,0x00,0x00,/路00x12,0xD2,0xFE,0x51,0x80,0x2F,0x29,0xE9,0x29,0x2F,0x00,0x

15、00,0x01,0x00,0x0F,0x00,0x08,0x09,0x09,0x0F,0x09,0x09,0x08,0x00,/程1 持 -*/宽x高=16x16 -/* 函数名称:LCD_write_byte函数功能:模拟SPI接口时序写数据/命令LCD入口参数:data :写入的数据; command :写数据/命令选择;出口参数:无 备 注:*/void LCD_write_byte(unsigned char dat, unsigned char command) unsigned char i; LCD_SCE = 0; /5110片选有效,允许输入数据 if (command =

16、0) /写命令 LCD_DC = 0; else LCD_DC = 1; /写数据 for(i=0;8;i+) /传送8bit数据 if(dat&0x80) SDIN = 1; else SDIN = 0; dat = dat 1; LCD_CLK = 0; LCD_CLK = 1; /时钟上升沿 写 LCD_SCE = 1; /禁止5110LCD_init5110初始化无void LCD_init(void) / 片选LCD LCD_REST = 0; / 产生一个让LCD复位的低电平脉冲 _nop_(); LCD_REST = 1; LCD_write_byte(0x21, 0); / L

17、CD模式设置:芯片活动,水平寻址,使用扩展指令 LCD_write_byte(0xc8, 0); / 设置液晶偏置电压 LCD_write_byte(0x06, 0); / 温度校正 LCD_write_byte(0x13, 0); / 1:48 LCD_write_byte(0x20, 0); / 使用基本命令,V=0,水平寻址 LCD_clear(); / 清屏 LCD_write_byte(0x0c, 0); / 设定显示模式,正常显示 /禁止LCDLCD_set_XY设置LCD坐标函数X :083 横坐标 Y :05 纵坐标 void LCD_set_XY(unsigned char

18、X, unsigned char Y) LCD_write_byte(0x80 | X, 0); / X 行(横坐标) LCD_write_byte(0x40 | Y, 0); / column 列(纵坐标)/*-LCD_clear: LCD清屏函数 -*/void LCD_clear(void) unsigned char t; unsigned char k; LCD_set_XY(0,0); for(t=0;t6;t+) for(k=0;k84;k+) LCD_write_byte(0x00,1);LCD_write_char显示英文字符c : 显示的字符void LCD_write_char(unsigned char c) c-=0x20; /ASCII码减去 0x20 for (i=0; i i+) LCD_write_byte(ASCII_6_8ci, 1);/*-名称: 英文字符串显示函数参数:*s:英文字符串指针-*/void LCD_write_String(unsigned char X,unsigned char Y,unsigned char *s) LCD_set_XY(X,Y); while (*s) /等效*s!=0 LCD_write_char(*s); s+; /*-

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2