版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<reg52.h>#include <intrins.h>#define D 2#define T 30typedef unsigned char uchar;typedef unsigned int uint;sbit rs=P35;sbit rw=P36;sbit lcden=P37;sbit led = P13;sbit beep = P15;sbit Trig=P10; /超声波测速模块sbit Echo=P32;sbit DQ = P11;/DS18B20管脚 uchar *ch = "Hello world!"uchar
2、*message = "Welcom!"uchar *tishi = "Distance: m"uchar *tishi1 = "Temperture:"uchar *num = "0123456789."uchar succeed_flag,timeL,timeH,distance;uchar A1,A2,A3,A4,c;uint time;uchar a,b;/用于装载DS18b20数值void LedInit(void);void write_com(uchar com);void write_date(uc
3、har date);void Disp1Char(uchar x,uchar y,uchar ch);void DispNChar(uchar x,uchar y,uchar n,uchar *p);void LocateXY(uchar x,uchar y);void num_display(uint temp);void distance_display();void temp_display();void delay(uint num);void delay1(uint z);void delay_20us();void Init();void write(uchar com);ucha
4、r read();void read_tu();void main() LedInit();Init();/led = 0;Trig=0;/首先拉低脉冲输入引脚EA=1;/打开总中断0?TMOD=0x10;/定时器1,16位工作方式DispNChar(1,1,9,tishi);DispNChar(0,2,11,tishi1);/DispNChar(3,2,12,ch);while(1) temp_display();distance_display();void LedInit(void)lcden=0;rw = 0;write_com(0x38);write_com(0x0c);write_
5、com(0x06);write_com(0x01);write_com(0x80);void write_com(uchar com)rs=0;lcden=0;P0=com;delay1(5);lcden=1;delay1(5);lcden=0;void write_date(uchar date)rs=1;lcden=0;P0=date;delay1(5);lcden=1;delay1(5);lcden=0;void LocateXY(uchar x,uchar y) uchar temp; temp = x & 0x0f; if(y = 2) temp |= 0x40; temp
6、|= 0x80; write_com(temp);void Disp1Char(uchar x,uchar y,uchar ch)LocateXY(x,y);write_date(ch);void DispNChar(uchar x,uchar y,uchar n,uchar *p) uchar i; for(i=0;i<n;i+) Disp1Char(x+,y,pi); if(x = 0x0f) x = 0; y += 1; void num_display(uint temp) uchar a,b,c; a = temp/100; b = (temp%100)/10; c = tem
7、p%10; if(a >= D ) led = 0;else led = 1; Disp1Char(10,1,numa); Disp1Char(11,1,num10); Disp1Char(12,1,numb); Disp1Char(13,1,numc);void distance_display() EA = 0;Trig = 1;delay_20us();Trig = 0;while(Echo = 0);succeed_flag = 0;EA = 1;EX0 = 1;TH1 = 0;TL0 = 0;TF1 = 0;TR1 = 1;delay1(20);TR1 = 0;EX0 = 0;
8、if(succeed_flag = 1)time = timeH*256+timeL;distance = time/58;if(succeed_flag = 0)distance = 0;num_display(distance);/*以下部分为DS18b20模块程序*/void Init() DQ = 1;delay(8);DQ = 0;delay(90);DQ = 1;delay(100);DQ =1; void write(uchar com) uchar i; for(i=0;i<8;i+) DQ = 1; _nop_(); DQ = 0; DQ = com & 0x0
9、1; delay(5); DQ = 1; com >>= 1; uchar read()uchar i,dat;DQ = 1;_nop_();for(i=0;i<8;i+) DQ = 0;dat >>= 1;DQ = 1;if(DQ) dat |= 0x80;delay(30);DQ = 1;return dat;void read_tu() Init(); write(0xcc); write(0x44); Init(); write(0xcc); write(0xbe); a = read(); b = read();void temp_display() r
10、ead_tu();c = a & 0x0f; a = a & 0xf0; b <<= 4; b += a>>4; A1 = b/10%10; A2 = b%10; A3 = c/10; A4 = c%10; if(A1*10+A2) >= T) beep = 0; else beep = 1; Disp1Char(11,2,numA1); Disp1Char(12,2,numA2); Disp1Char(13,2,num10); Disp1Char(14,2,numA3); Disp1Char(15,2,numA4);void delay(uint num)/延时函数 while( -num );void delay1(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y&g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年大小亲子游戏教案
- 2026年岳阳职业技术学院单招职业适应性测试题库附参考答案详解(夺分金卷)
- 测量与控制系统(单元)装调工复测能力考核试卷含答案
- 2026年广东省肇庆市单招职业倾向性测试题库带答案详解(轻巧夺冠)
- 2025-2026学年教学设计优化培训
- 2026年广东工贸职业技术学院单招综合素质考试题库附参考答案详解(基础题)
- 环己酮(醇酮)装置操作工岗前生产安全水平考核试卷含答案
- 2026年广东食品药品职业学院单招职业适应性考试题库附答案详解(完整版)
- 2026年广安职业技术学院单招职业倾向性考试题库含答案详解
- 矿山救护工创新意识强化考核试卷含答案
- 尾矿库安全规程深度解析
- 农产品农业技术咨询服务创新创业项目商业计划书
- GB/T 4995-2025平托盘性能要求和试验选择
- 哈工大编译原理陈鄞课件
- 学堂在线 雨课堂 学堂云 现代生活美学-花香茶之道 章节测试答案
- 普速铁路技术管理规程
- 整形美容机构客户隐私保护流程
- 新中式衣服设计
- 2025岐黄天使考试试题及答案
- 2025年川教版(2024)小学信息科技三年级(上册)教学设计及反思(附目录P118)
- 2025年湖北省中考英语试卷真题(含答案)
评论
0/150
提交评论