基于单片机的超声波视力保护仪的设计毕业设计论文.doc

基于单片机的超声波视力保护仪的设计毕业设计论文.doc

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕 业 设 计 设计题目: 基于单片机的超声波视力保护仪的设计 目 录TOC \o 1-1 \h \u //报警按键 #include display.h //显示头函数 #include ultrasonic_wave.h//超声波头函数 #include DS18B20.h //温度传感器头函数 //函数声明 void delayms(uint ms); //主函数 void main() { Init_ultrasonic_wave(); //屏幕初始化 Init1602(); //温度初始化 tmpchange(); t_=tmp(); tmpchange(); t_=tmp(); tmpchange(); t_=tmp(); //循环显示 while(1) { Key(); //正常显示 if(mode==0) { StartModule();//启动超声波 while(!RX); //当RX为零时等待 TR0=1; //开启计数 while(RX); //当RX为1计数并等待 TR0=0; //关闭计数 delayms(20); //20MS tmpchange(); //温度转换 t_=tmp(); //度温度 Conut(t_/10); //计算距离 if(L_Max||L_Min) Display_1602(t_/10,L_); } //调整显示 else if(mode!=0) { //最大最小值 Init_MaxMin(); while(mode!=0) { Key(); if(k==1mode==1) { Init_MaxMin(); write_com(0x8d);//设置位置 } else if(k==1mode==2) { Init_MaxMin(); write_com(0x8d+0x40);//设置位置 } k=0; } //界面初始化 Init1602(); } } } void delayms(uint ms) { uchar i=100,j; for(;ms;ms--) { { j=10; while(--j); } } } //T0中断用来计数器溢出,超过测距范围 void CJ_T0() interrupt 1 { flags=1; //中断溢出标志 } //LCD管脚声明 sbit LCDRS = P2^7; sbit LCDEN= P2^6; //初始画时显示的内容 uchar code Init1[]=Temperature: C; uchar code Init2[]=Distance: 000CM; //初始画时显示的内容 uchar code Init3[]= Max CM; uchar code Init4[]= Min CM; //LCD延时 void LCDdelay(uint z) { uint x,y; for(x=z;x0;x--) } //写命令 void write_com(uchar com) { LCDRS=0; P0=com; LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0; } //写数据 void write_data(uchar date) { LCDRS=1; P0=date; LCDdelay(5); LCDEN=1; LCDdelay(5); LCDEN=0; } //1602初始化 void Init1602() { uchar i=0; write_com(0x0C);//打开显示 无光标 无光标闪烁 write_com(0x06);//当读或写一个字符是指针后一一位 write_com(0x01);//清屏 write_com(0x80);//设置位置 for(i=0;i14;i++) { write_data(Init1[i]); } write_data(0xdf); write_data(Init1[14]); write_com(0x80+40);//设置位置 for(i=0;i16;i++) { write_data(Init2

文档评论(0)

weidameili + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档