




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#define uchar unsigned char#define uint unsigned int#include unsigned char ly_dis4;/定义显示缓冲区sbit lcd_rs_port = P26; /*定义LCD控制端口*/sbit lcd_rw_port = P25;sbit lcd_en_port = P27;sbit RX=P36; /回响信号 sbit TX=P37; /触发信号sbit h=P24;sbit z_1=P20; /警报继电器发出sbit z_2=P21; /警报蜂鸣器发出sbit y_1=P22; /警报继电器发出sbit y_2=P23; /警报蜂鸣器发出#define lcd_data_port P0#define Busy 0x80 /用于检测LCM状态字中的Busy标识uchar jishu;uchar lb=0;uchar lb_1=0;uchar zhuanxiang;uchar code mun_to_char = 0123456789ABCDEF.cm -; /*定义数字跟ASCII码的关系*/uchar code mun_to_char1 = Welcome to the graduation design; /*欢迎毕业设计*/uchar code mun_to_char2 = The car reversing radar ; /*倒车雷达*/uchar code mun_to_char4 = Designer: li; /*设计者:李*/unsigned int time=0; /探测时间unsigned long S=0; /实际检测距离bit flag =0; /标志位int ltemp; /实际测量温度unsigned int j=0; unsigned char disbuff4= 0,0,0,0,;/距离数据储存单元void inti() /*初始化函数*/ T2CON=0x00; /定是计时器 EA=1; /总中断开 TMOD=0x11; /定时器0,1初始化,16位定时 TH0=0; /10ms后进中断,产生舵机pwm TL0=0; ET0=1; TH1=0xd8; /10ms后进中断,产生电机pwm TL1=0xf0; ET1=1; TR1=0;void lcd_busy_wait() /*LCD1602 忙等待*/ lcd_rs_port = 0; lcd_rw_port = 1; lcd_en_port = 1; lcd_data_port = 0xff; while (lcd_data_port&0x80); lcd_en_port = 0; void lcd_command_write(uchar command) /*LCD1602 命令字写入*/ lcd_busy_wait(); lcd_rs_port = 0; lcd_rw_port = 0; lcd_en_port = 0; lcd_data_port = command; lcd_en_port = 1; lcd_en_port = 0; void lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符数据写入*/ x_pos &= 0x0f; /* X位置范围 015 */ y_pos &= 0x01; /* Y位置范围 0 1 */ if(y_pos=1) x_pos = 0x40; x_pos = 0x80; lcd_command_write(x_pos); lcd_busy_wait(); lcd_rs_port = 1; lcd_rw_port = 0; lcd_en_port = 0; lcd_data_port = lcd_dat; lcd_en_port = 1; lcd_en_port = 0; lcd_data_port = 0xff; /*释放数据端口*/void display(void) lcd_char_write(9,1,mun_to_chardisbuff3); /显示距离*.*cm lcd_char_write(10,1,mun_to_chardisbuff2); lcd_char_write(11,1,mun_to_chardisbuff1); lcd_char_write(12,1,mun_to_char16); lcd_char_write(13,1,mun_to_chardisbuff0); lcd_char_write(14,1,mun_to_char18); lcd_char_write(15,1,mun_to_char19);void lcd_delay(uint ms) /*LCD1602 延时*/ uchar j; while(ms-) for(j=0;j250;j ) ; void lcd_system_reset() /*LCD1602 初始化*/ lcd_delay(20); lcd_command_write(0x38); lcd_delay(100); lcd_command_write(0x38); lcd_delay(50); lcd_command_write(0x38); lcd_delay(10); lcd_command_write(0x08); lcd_command_write(0x01); lcd_command_write(0x06); lcd_command_write(0x0c); lcd_data_port = 0xff; /*释放数据端口*/void Conut(void) time=TH0*256 TL0; TH0=0; TL0=0; S=(time*1.7)/10; /算出来是MM if(S=5) lb_1=0; y_1=0;y_2=1; z_1=0;z_2=0; else lb_1 ; if(lb_1=5) lb=0; y_1=0;y_2=1; z_1=0;z_2=0; if(flag=1) flag=0; disbuff0=S; disbuff1=S/10; disbuff2=S/100; disbuff3=S/1000;void StartModule() /启动模块 TX=1; /启动一次模块 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; void Timer_Count(void)TR0=1; /开启计数while(RX);/当RX为1计数并等待 TR0=0;/关闭计数 Conut();/计算void main() /*主函数*/ unsigned int i=0; unsigned int valA; void inti(); lcd_system_reset(); /*LCD1602 初始化*/ for(j=0;j16;j )/显示Welcome to the g lcd_char_write(j,0,mun_to_char1j); for(j=0;j16;j )/显示raduation design lcd_char_write(j,1,mun_to_char1j 16); lcd_delay(2000); /延时函数 for(j=0;j16;j )/清屏 lcd_char_write(j,0,mun_to_char8j); for(j=0;j16;j )/清屏 lcd_char_write(j,1,mun_to_char8j 16); for(j=0;j16;j )/显示The car lcd_char_write(j,0,mun_to_char2j); for(j=0;j16;j )/显示reversing radar lcd_char_write(j,1,mun_to_char2j 16); lcd_delay(2000); /延时函数 for(j=0;j16;j )/清屏 lcd_char_write(j,0,mun_to_char8j); for(j=0;j16;j )/清屏 lcd_char_write(j,1,mun_to_char8j 16); for(j=0;j16;j )/显示Designer: lcd_char_write(j,0,mun_to_char4j); for(j=0;j16;j )/显示li lcd_char_write(j,1,mun_to_char4j 16); lcd_delay(2000); /延时函数 for(j=0;j16;j )/清屏 lcd_char_write(j,0,mun_to_char8j); for(j=0;j0;valA-) /多次测量提升可靠性 if(RX=1) Timer_Count();/时间计数 void display();/调用显示void timer0() interrupt 1 /*定时器0中断函数*/ flag=1; /中断溢出标志RX=0;void timer1() interrupt 3 /*定时器1中断函数*/ jishu ; TH1=(65536
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司安全教育培训
- 优化职业教育教学模式细则
- 2025重庆渝北区第三实验小学招聘学科教师若干人笔试备考试题及答案解析
- 2025至2030年中国成人用品行业市场调查研究及发展战略规划报告
- 利用数据分析优化营销方案
- 公司客户信息保护
- 促销活动执行规定
- 水利工程设计规范与规定
- 2025年泌尿科尿路感染临床诊疗经验交流考试卷答案及解析
- 船舶货物运输管理规程
- 《研学旅行课程设计》课件-制订研学课程目标
- JJF 1033-2023 计量标准考核规范
- 公安当场处罚案件培训课件
- 肉毒中毒医学课件
- EGFR信号转导机制及靶向治疗
- 领导力与团队建设技巧
- 畜牧业的畜禽疫病防控
- 抹灰工实操比赛方案
- 新人教版五年级小学数学全册奥数(含答案)
- 改写地球历史的25种石头
- 《冠心病科普》课件
评论
0/150
提交评论