基于51单片机的多功能时钟温度计设计 您所在的位置:网站首页 温度计程序 基于51单片机的多功能时钟温度计设计

基于51单片机的多功能时钟温度计设计

2024-07-12 01:26| 来源: 网络整理| 查看: 265

基于51单片机的多功能时钟温度计设计

(仿真+程序+原理图+PCB+设计报告)

具体功能:

1、采用LCD1602液晶显示。

2、显示项目有:年月日、星期、时分秒,温度。

3、采用时钟芯片DS1302,精确走时。板载3V纽扣电池,断电重新上电无需重新设置时间,由3V提供时钟芯片继续计时

4、五个按键操作:设置时钟键,增加键、减小键、设定闹钟键,秒表键。

5、具有ds18b20测温功能

6、秒表中可以实现开始、暂停、复位等功能

代码 void Write1302(uchar dat) { uchar i; SCLK=0; //拉低SCLK,为脉冲上升沿写入数据做好准备 delay1(2); //稍微等待,使硬件做好准备 for(i=0;i>=1; //将dat的各数据位右移1位,准备写入下一个数据位 } } void WriteSet1302(uchar Cmd,uchar dat) { RST=0; //禁止数据传递 SCLK=0; //确保写数居前SCLK被拉低 RST=1; //启动数据传输 delay1(2); //稍微等待,使硬件做好准备 Write1302(Cmd); //写入命令字 Write1302(dat); //写数据 SCLK=1; //将时钟电平置于已知状态 RST=0; //禁止数据传递 } uchar Read1302(void) { uchar i,dat; delay(2); //稍微等待,使硬件做好准备 for(i=0;i>=1; //将dat的各数据位右移1位,因为先读出的是字节的最低位 if(DATA==1) //如果读出的数据是1 dat|=0x80; //将1取出,写在dat的最高位 SCLK=1; //将SCLK置于高电平,为下降沿读出 delay1(2); //稍微等待 SCLK=0; //拉低SCLK,形成脉冲下降沿 delay1(2); //稍微等待 } return dat; //将读出的数据返回 } uchar ReadSet1302(uchar Cmd) { uchar dat; RST=0; //拉低RST SCLK=0; //确保写数居前SCLK被拉低 RST=1; //启动数据传输 Write1302(Cmd); //写入命令字 dat=Read1302(); //读出数据 SCLK=1; //将时钟电平置于已知状态 RST=0; //禁止数据传递 return dat; //将读出的数据返回 } void Init_DS1302(void) { WriteSet1302(0x8E,0x00); //根据写状态寄存器命令字,写入不保护指令 WriteSet1302(0x80,((0/10)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有