ATmega128温度检测及显示DS18B20的温度控制LED数码管的动态显示_DS1302温度记录回放

一、系统方案
1按照题目要求使用数字温度传感器DS18B20,采集温度数据。
2使用按键设定温度采集间隔,间隔时间由定时器完成。处理器ATmega128根据设定定时采集,在数码管或液晶屏或虚拟终端上显示通过DS18B20测得的温度。
3 使用时钟芯片DS1302,能记录和回放测试温度的时间。
二、硬件设计
原理图如下:
在这里插入图片描述

三、单片机软件设计
1、首先是系统初始化
uchar i;
DDRB = 0XFF;
PORTB=0XFF;

    DDRA = 0XFF;
PORTA=0XFF;

DDRD = 0X00;//1输出
PORTD=0XFF;
DDRC = 0X00;
PORTC=0XFF;
DDRE = 0XFF;
PORTE=0XF0;

DDRG=0XFF;
PORTG=0X00;

RST_OUT;//设置1302 引脚
SCK_OUT;
RST_SET;
SCK_SET;
//Initial_DS1302(); //时钟芯片初始化
//*******关闭数码管
2、数码管显示程序
void temptoseg()
{
PORTA=show[0];
AT1_H;
delay_ms();
AT1_L;
PORTA=show[1];
AT2_H;
delay_ms();
AT2_L;
PORTA=show[2];
AT3_H;
delay_ms();
AT3_L;

PORTA=show[3];
AT4_H;
delay_ms();
AT4_L;

PORTA=show[4];
AT5_H;
delay_ms();
AT5_L;

PORTA=show[5];
AT6_H;
delay_ms();
AT6_L;

PORTA=show[6];
AT7_H;
delay_ms();
AT7_L;
PORTA=show[7];
AT8_H;
delay_ms();
AT8_L;

}

3、按键程序
void key()
{
if((k1)==0)//检测对应按键实现对应功能
{
delay_nms(50);//第一个按键 控制间隔加
if((k1)==0)
{
mode=1;
tt+=1;

		 while((k1)==0);
}	

}

if((k2)==0)//第二按键 控制间隔减
{
delay_nms(50);//第2个按键 控制间隔加
if((k2)==0)
{
mode=1;
if(tt>1)
tt-=1;

	 while((k2)==0);
 }
}

if((k3)==0)//3按键 控制查询地址加1  并显示当前地址数据

{
delay_nms(50);//第2个按键 控制间隔加
if((k3)==0)
{
mode=2;

// Write_Data_String(0,1,xianshi2);

xuhao++;
while((k3)==0);
}
}
if((k4)==0)//控制3按键 控制查询地址减1 并显示当前地址数据
{
delay_nms(50);
if((k4)==0)
{
mode=2;

// Write_Data_String(0,1,xianshi2);
if(xuhao>0)
xuhao–;
while((k4)==0);
}
}

if((k5)==0)//退出返回 平时 模式
{
delay_nms(50);//
if((k5)==0)
{
mode=0;

	 while((k5)==0);
}	

}

四、proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bbxyliyang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值