代码是在12M的晶振的晶振下调试出来的,希望可以给大家带来参考价值
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar Flag=0; //定义一个全局的标志位
uchar Feng=0;
sbit ds= P3^1; //接18B20
void delay(uint t)
{
uint k;
while(t--)
{
for(k=0; k<12; k++)
{ }
}
}
void dsreset(void)//初始化函数
{
uint i;
ds=0;
i=97;
while(i>0)
i--;
ds=1;
i=4;
while(i>0)
i--;
}
bit tempreadbit(void) //读一个字节
{
uint i;
bit dat;
ds=0;
i++;
ds=1;
i++; //i++起延时作用
i++;
dat=ds;
i=8;
while(i>0)
i--;
return(dat);
}
uchar tempread(void)//读一个数据
{
uchar i=8,dat=0;
bit j;
for(i=1;i<=8;i++)
{
dat=dat>>1;
j=tempreadbit();
if(j==1)
dat=dat|(0x80);
}
return(dat);
}
void tempwritebyte(uchar dat)//写一个字节
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&(0x01);
dat=dat>>1;
if(testb)
{
ds=0;
i++;
i++;
ds=1;
i=8;
while(i>0)
i--;
}
else
{
ds=0;
i=8;
while(i>0)
i--;
ds=1;
i++;
i++;
}
}
}
void tempchange(void)
{
dsreset();
delay(1);
tempwritebyte(0xcc); //写跳过读rom
tempwritebyte(0x44); //写温度转换
}
float get_temp()
{
uchar a;
uint b;
float Read_Value;
dsreset();
//tempwritebyte(0xcc); //写跳过读rom
//tempwritebyte(0x44); //写温度转换
delay(10);
//dsreset();
tempwritebyte(0xcc);//写跳过读ROM
tempwritebyte(0xbe);//读暂存器
a = tempread();
b = tempread();
b = (b << 8) + a;
Read_Value = b *0.0625;
// delay(1000);
return(Read_Value);
}
void Display1() //显示温度
{
int temp,temp1;
temp=get_temp();
temp1 = temp*100;
P1 = 0x80|(temp1/1000);
delay(10);
P1 = 0x40|(temp1%1000/100);
delay(10);
P1 = 0x20|(temp1%1000%100/10);
delay(10);
P1 = 0x10|(temp1%1000%100%10);
}
main()
{while(1)
{
tempchange();
Display1(); //显示温度
}
}
上一篇:基于51单片机及DS18B20温度传感器数码管显示程序
下一篇:STC89C52MCU -- 双机通信及多机通信
推荐阅读
史海拾趣
在成功开发出优质产品后,Ai公司开始积极拓展市场。公司通过参加各种行业展会、举办技术研讨会等方式,与潜在客户进行深入交流,成功将产品推广至全球范围。同时,公司还注重品牌建设,通过广告宣传、媒体报道等手段提升品牌知名度和美誉度。这些举措使得Ai公司的产品在市场上获得了广泛的认可。
英特尔(Intel)的成立与发展与微处理器的发明密不可分。在20世纪70年代初,英特尔的工程师们开始研发一种能够将计算机的中央处理器(CPU)集成到单一芯片上的技术。经过数年的努力,他们成功推出了世界上第一款微处理器——Intel 4004。这一创新不仅改变了计算机行业,也为英特尔的崛起奠定了坚实基础。
2012年1月,伊士曼柯达公司宣布申请破产保护。这一消息震惊了全球,也让人们不禁对这家百年老店的前景感到担忧。然而,在破产保护期间,柯达并没有放弃努力。公司积极寻求重组方案,通过出售非核心资产、削减成本等方式,逐步恢复了盈利能力。最终,在2013年5月,柯达成功退出了破产保护程序,开始了新的发展历程。
Diamond SA公司深知创新是企业持续发展的动力源泉。因此,他们不断加大对研发的投入力度,积极引进和培养高端人才,建立了完善的研发体系。公司不断推出具有创新性和领先性的电子产品和技术解决方案,赢得了客户的广泛赞誉和认可。同时,他们还积极参与国际技术交流和合作,与全球顶尖的科研机构和企业建立了紧密的合作关系。
Asia Electronics Ind Co Ltd深知人才是企业发展的核心。因此,公司注重人才培养和团队建设。公司定期举办各类培训活动,提升员工的技能和素质。同时,公司还建立了一套完善的激励机制,鼓励员工积极创新、勇于担当。这些举措有效激发了员工的工作热情和创造力,为公司的发展注入了源源不断的动力。
本公司为相对论科技有限公司,拥有强大的开发团队和雄厚的经济实力。现从事ARM系列开发板研发,承揽自动化控制,数据采集、传输、处理、显示等应用工程开发项目及各种嵌入式系统工程的研发项目。出售MPEG4 编解码方案,同时公司还自主研发了GPS导航 ...… 查看全部问答∨ |
|
编译WINCE出现的错误 我用的工程文件是FL开发板自带的工程文件 BUILD: [01:0000001461:ERRORE] SC2440_SDHCBase.lib(sdhcmain.obj) : error LNK2019: unresolved external symbol "public: struct SDCARD_HC_CONTEXT * __cdecl CSDI ...… 查看全部问答∨ |
|
An application targeting a Standard SDK for windows CE.NET and built for the ARMV4T CPU cannot be run on the Emulator device.In order to run this application on any cpu other than the emulator,you\'ll have to install an SDK tha ...… 查看全部问答∨ |
|
在Win7下,以前很正常,最近在进入调试的时候会突然退出,不知道大家有没有遇到过这种情况?用的是LM3S8962评估板。 [ 本帖最后由 academic 于 2011-1-6 19:09 编辑 ]… 查看全部问答∨ |