欢迎来到天天文库
浏览记录
ID:32636303
大小:109.65 KB
页数:7页
时间:2019-02-14
《基于51单片机的红外遥控智能小车源程序(c语言)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、/*预处理命令*/#includc//包含单片机寄存器的头文件#include//包含_nop_()函数定义的头文件#dcfincucharunsignedchar#defineuintunsignedintdefinedelayNOP();{_nop_();_nop_();_nop_();_nop_();};sbitIRIN=P3A2;〃红外接收器数据线sbitLCD_RS=P0A7;sbitLCD.RW=P0A6;sbitLCD_EN=POT;ucharbegin[]={nMycar!'*};ucharcdisl[]={"jians
2、u!”};ucharcdis2[]={*'qianjin!”};ucharcdis3[]={,,jiasu!,,J;ucharcdis4[J={Hzuozhuang!H);ucharcdis5[]={nSTOP!n};ucharcdis6[]={nyouzhuan!n);ucharcdis8[l={Hdaoche!H};sbitMl=P1AO;sbitM2=P1A1;sbitM3=P1A2;sbitM4=P1A3;sbitEN12=P1A4;sbitEN34=P1A5;uchar1RCOM[7J;ucharm.n;uchart=2;ucharg;ucharcodedigit[
3、]={H0123456789J;uintv;ucharcount;bitflag;voiddelayxms(uchart);voiddelay(unsignedcharx);voiddelay1(intms);voidmotor();voidlcd_display();严检查LCD忙状态lcd.busy为1时,忙,等待oled-busy为0时,闲,可写指令与数据*/bitlcd_busy(){bitresult;LCD_RS=0;LCD.RW=1;LCD.EN=1;delayNOP();result=(bit)(PO&0x80);LCD.EN=0;return(result)
4、;}写指令数据到LCDRS=L,RW=L,脉冲,D0-D7=指令码*/voidlcd_wcmd(ucharcmd)while(lcd.busyO);LCD.RS=0;LCD_RW=0;LCD.EN=0;_nop_();_nop_();P2二cmd;delayNOP();LCD.EN=1;dclayNOP();LCD.EN=0;}写显示数据到LCDRS=H,RW=L,E二高脉冲,D0-D7=数据*/voidlcd_vdat(uchardat){while(lcd_busy());LCD.RS=1;LCD_RW=0;LCD.EN=0;P2=dat;dclayNOP();LCD_
5、EN=1;delayNOPO;LCD_EN=0;LCD初始化设定*/voidIcdjnit()〃16吃显示,5*7点阵,8位数据{delayl(15);lcd_wcmd(()x38);delay1(5);lcd_wcmd(0x38);delayI(5);lcd_wcmd(0x38);delay1(5);lcd_wcmd(0x0c);delay1(5);lcd_wcmd(0x06);delayI(5);lcd_wcmd(0x01);delay1(5);}〃显示开,关光标〃移动光标〃淸除LCD的显示内容设立显示位置*/voidlcd_pos(ucharpos){lcd_wcmd(
6、pos
7、0x80);〃数据指针二80+地址变量/*x显示速度提示符宕/voiddisplay_sym(void)Icd_pos(0x00);lcd_wdat(,v,);Icd.vvdatC-);)/*显示速度数值*/voiddisplay_vel(uintx){ucharij,kj;i二x/1000;〃取千位j=(x%1000)/100;〃取冇位k=(x%100)/10;〃取十位】=x%10:〃取个位lcd_pos(0x02);lcd_wdat(digit[i]);lcd_wdat(digit
8、j]);lcd_wdat(digit[k]);lcd_wdat(digit[l])
9、;}/*显示速度单位*/voiddisplay_unit(void){lcd_pos(0x06);lcd.wdatCr*);lcd_wdat(7‘);lcd.wdatCm*);lcd_wdal(T);lcd_wdat(,n,);)/*主函数*/
10、Ir^TwvT*"T*"T*"T*"T*•T*avoidmain(){uinta;IRIN=1;//I/O口初始化IE=()x83;〃允许总中断中断,使能INTO外部中断TCON二TCON
11、0x01;〃触发方式为脉冲负边沿触发
此文档下载收益归作者所有