求帮忙做个单片机的简易数字温度计,使用AT89C51和DS18B20,4位共阴极数码管管显示。需要源程序和proteus仿真

基于单片机AT89C51芯片DS18B20传感器的温度计设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
基于单片机AT89C51芯片DS18B20传感器的温度计设计
本​文​为​基​于​单​片​机​A​T9​C1​芯​片​D​S8​B0​传​感​器​的​温​度​计​设​计
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于DS18B20的数字温度计设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口求用AT89C51单片机和DS18B20做温度报警器,报警器用蜂鸣器,温度显示用数码管,用c语言编写程序最好有注释_百度知道
求用AT89C51单片机和DS18B20做温度报警器,报警器用蜂鸣器,温度显示用数码管,用c语言编写程序最好有注释
最好!这是做课题设计的题目!我程序不会报警时要有段音乐!望您帮忙
程序我试了!但是数码管不显示!没反应!
提问者采纳
&#define uchar unsigned char#define uint
unsigned int #define temp_high 60 /
/0;sbit DQ=P1^0;&#47,0X4F;/
case 0x01;&#47: b=4;
case 0x06;
DQ=1.h &=1;/
&#47,最大误差6us{ while(--i);=1;j++)
Display();
xiaoshu=(templ&0x0f)*625;温度的高八; 启动温度转;&延时53us
flag=DQ;/ bit bitt,0X07;延时56us
datt&gt: b=4; /4)|(templ&蜂鸣器报警函数 {
if (temp_buzzer&gt,j,
Ds_Write(0xcc);/0;i++)
uchar dat=0x00; }void Display()
Read_Temp(): b=2#include &lt,0X06;break,0X5B;
case 0x09;/延时200us
P2=tab[shifen];4))+1: b=8;j&//每次2us精确延时;/&#47: b=1;4);读函数{
uint i,b; reg51,0X6F}; switch (k)
case 0x00; /
delay_2us(23);t--)
for(j=19;i&
DQ=0;延时513us
case 0x04;将读RAM的函数放到这儿是因为温度的转换要用750ms时间;
for(j=0;j&
_nop_();break: b=5,0X7F;}
void main(){
case 0x0f;/负数
intn=((~temph&
_nop_();t&
delay_50us(20),最大误差13us{
DQ=0;&}Ds_Read()
}}void Set_Tempchange()
case 0x02;/
_nop_();4)|(~templ&
Ds_Write(0xcc);/10;
case 0x0c;
xiaoshu=(((~templ)&0x0f)+1)*625;
case 0x05;///
_nop_();&#47: b=7;}void delay_2us(unsigned char i)
delay_50us(4);j++)
bitt=datt&0x01;/
case 0x0e;&#47: b=1;温度的低八位
temph=Ds_Read();///&#47,
P3=0xf7;} void buzzer_sound()
/#include &/
fuhao=temph&0xf8,这里用Display()函数来达到延时效果
Change_Temp();
/ &#47: b=0;
P2=tab[ge]+0x80;
delay_50us(10);LCD 显示函数{
P2=tab[shi];
delay_50us(20);延时2us
DQ=1: b=3; 延时67us
Set_Tempchange();
dat|=0x80;
_nop_();个位
}void Change_Temp()
&#47: b=5;
delay_2us(28);uchar code tab[]={0X3F: b=6;/&gt.h &uchar temp_//
shi=intn%100//转换温度{
uchar intn,0X7D!fuhao)
P3=0 void delay_50us(unsigned int t)
/ 跳过读序号列号的操作
Ds_Write(0xBE);
if(temp==0x80)
k=k&0x0f;/
delay_50us(20);j&/ 读RAM数据
templ=Ds_Read();延时1us
dat&gt: b=3;
_nop_();&#47,}void Ds_Write(unsigned char datt){sbit buzzer=P1^7;个位
P3=0 } Ds_Reset()
case 0x07?}void Read_Temp() /
case 0x0b;
case 0x03;//1000;
return(dat);
case 0x08,//&#47: b=2;/
P3=0xfb: b=9;拉伸至高电平
return(flag);
else delay_2us(28);8;/十分位
buzzer_sound();8;
temp=temp&0x80;
DQ=1;/&每次50us延时;//
_nop_();/读出温度{
Ds_Reset();break: b=9;//8; 跳过读序号列号的操作
Ds_Write(0x44); while(1)
for(i=0;初始化{
intn=(temph&temp_high)
temp_buzzer=全局变量
case 0x0a;
case 0x0d;/释放
_nop_();/i&十位
P3=0温度转换指令{
Ds_Reset();
for(i=0;j--)}
delay_2us(30);十位
ge=intn%10;break,0X66;
temp=intn,0X6D;
_nop_();温度报警限设置uchar data temph
提问者评价
谢谢你帮我大忙了
其他类似问题
为您推荐:
您可能关注的推广回答者:
温度报警器的相关知识
其他1条回答
上课好好听
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁基于单片机的简易数字温度计的设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
基于单片机的简易数字温度计的设计
实​践​出​真​知
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统-论文论文,系统..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统-论文
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 共阴极数码管 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信