51单片机超声波温度显示程序加在一起.doc

51单片机超声波温度显示程序加在一起.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机超声波温度显示程序加在一起

#include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int uint flag,time; uint i; uint temp; void display_wd(); void display_temp1(); uchar code digit[10]={0123456789}; uint bai,shi,ge,S,timer; uchar timeL,timeH; //超声波模块引脚的定义 sbit TX=P1^4; sbit beep=P1^2; sbit RX=P1^3; //LCD12864引脚的定义 sbit CS=P2^0; sbit SID=P2^1; sbit SCLK=P2^2; sbit PSB=P2^3; sbit DS=P1^1; void delay(uint z) { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } //----------------------------------------以下是LCD12864的程序---------------------------- void send_command(uchar command_data) { uchar i; uchar i_data; i_data=0xf8; CS=1; SCLK=0; for(i=0;i8;i++) //第一字节,发送命令些指令 { SID=(bit)(i_data0x80); SCLK=0; SCLK=1; i_data=i_data1; } i_data=command_data; /*获取命令的高四位,低四位补零 */ i_data=0xf0; for(i=0;i8;i++) //第二字节 { SID=(bit)(i_data0x80); SCLK=0; SCLK=1; i_data=i_data1; } i_data=command_data; i_data=4; for(i=0;i8;i++) //第三字节 { SID=(bit)(i_data0x80); SCLK=0; SCLK=1; i_data=i_data1; } CS=0; delay(10); } void send_data(uchar command_data) { uchar i; uchar i_data; i_data=0xfa; CS=1; for(i=0;i8;i++) { SID=(bit)(i_data0x80); SCLK=0; SCLK=1; i_data=i_data1; } i_data=command_data; i_data=0xf0; for(i=0;i8;i++) { SID=(bit)(i_data0x80); SCLK=0; SCLK=1; i_data=i_data1; } i_data=command_data; i_data=4; for(i=0;i8;i++) { SID=(bit)(i_data0x80); SCLK=0; SCLK=1; i_data=i_data1; } CS=0; delay(10); } void lcd_string(char *strpoint) { register i=0; while(strpoint[i]!=0) { send_data(strpoint[i]); i++; } } void start() { send_command(0x80); lcd_string(前方的距离是:);//C编译系统本省也具有转换功能,所以也可以这样写 send_command(0x93); send_data(bai+48); send_data(shi+48); send_data(ge+48); display_wd(); display_temp1(); } void lcd_init() { PSB=0; delay(100); send_command(0x30); /*设置8位数据接口,基本指令模式。*

文档评论(0)

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

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

1亿VIP精品文档

相关文档