- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
温度传感器C语言编程 - 副本
温度传感器C语言编程 - 副本
是我写的51单片机18B20温度传感器源程序(C语言),非常好用,并且在开发板上实际运行很成功,是学习18B20温度传感器的很好的参考! (不像有的人随便贴一个程序,不知对错)
/* 51单片机开发板V3.0和V4.0适用*/
/*51单片机18B20温度传感器源程序(C语言)*/
#include reg52.h
#include intrins.h
sbit RS = P1^0;
sbit RW = P1^1;
sbit EN = P1^2;
sbit TSOR = P3^7;
/*------------------------------------------全局变量-------------------------------------------------------*/
static unsigned char temp1,temp2; //温度值的整数部分、小数部分
static char line0[] = 00:00 ;
static char line1[] = . C ;
/*-------------------------------------------LCD驱动函数------------------------------------------------*/
void DelayL();
void DelayS();
void WriteCommand(unsigned char c);
void WriteData(unsigned char c);
void ShowChar(unsigned char pos,unsigned char c);
void ShowString(unsigned char line,char *ptr);
void InitLcd();
/*---------------------------------------------数字温度计驱动-------------------------------------------*/
void ChangePos(bit sel,unsigned char pos1,unsigned char pos2);
/*------------------------------------------温度传感器驱动----------------------------------------------*/
void Delay15();
void Delay60();
void Delay100ms();
void Write0TS();
void Write1TS();
bit ReadTS();
void ResetTS();
void WriteByteTS(unsigned char byte);
unsigned char ReadByteTS();
void InitTS();
void GetTempTS();
/*-------------------------------------------------主程序---------------------------------------------------*/
void main (void)
{
char code str1[] = Hello World! ;
char code str2[] = 2006-12-12 ;
char code str3[] = 51mcu-v3.0 ;
unsigned char i,j,k;
//DelayL();
InitLcd(); //初始化LCD
DelayL();
while(1)
{
ShowString(0,str1); //启动画面
ShowString(1,str2);
for(i=0;i10;i++)
Delay100ms();
for(k=0;k17;k++)
{ShowString(0,str1+k);
ShowString(1,str2+k);
for(j=0;j2;j++)
Delay100ms();
}
//for(i=0;i2;i++)
//Delay100ms();
//while(1)
{GetTempTS();
line1[0]=0x20;
line1[1]=0x20;
line1[2]=0x20;
line1[3]=0x20;
line1[4]=0x20;
i=temp1;
line1[5]=i/10+0x30; //显示温度的十位
line1[6]=i%10+0x30; //显示个位
line1[8]=temp2+0x30; //显示小数位
ShowString(0,str3);
ShowSt
文档评论(0)