基于DS1302芯片---使用51单片机C语言编制的电子时钟(液晶1602显示)

本文介绍了如何基于DS1302芯片,利用51单片机和C语言制作一个电子时钟。通过连接32.768KHz晶振和液晶1602显示器,实现了时间显示。同时,文章还提到了如何通过串口和Max232进行单片机与PC的通讯,以及如何添加温度传感器18b20来获取环境温度。代码中包含了初始化设置、时间读写和温度转换等关键功能。
摘要由CSDN通过智能技术生成

这可以当做学习单片机之后的第一套作品

  做单片机这块确实非常有趣,比原来单纯的编程要好多了,即动脑又动手,而且很容易入门。跟着网上down的郭天翔视频教程学完了理论之后开始动手制作电子时钟,电路就是一般的电路:一块洞洞板,几个芯片座,杜邦线就OK了,至于排针用不用都行,可以直接把杜邦线焊在芯片座上。

     电路搞定之后就是连线,根据DS1302芯片说明书(pdf等)里面的引脚介绍来考虑把这些引脚连到单片机的相关引脚上。Vcc2引脚就接Vcc,Vcc1接3V纽扣电池,GND接地,X1 X2 32.768KHz 晶振管脚,此外就是  3个信号线啦!
RST 复位脚
I/O 数据输入/输出引脚
SCLK 串行时钟

我们还可以焊上串口母头,外加一片Max232,这样就可以直接和板子上的单片机(我用的是STC89C52RC)串口通讯

Lcd1602用的是P0口,要焊上8个10K的上拉电阻;

还有一个温度传感器18b20,实现代码如下

uint rd_temperature()  //读取温度值

 uchar a=0,b=0;
 uint t=0;
 float tt=0;
 rst_18b20();  //复位
 wr_18b20(0xcc);  //跳过ROM
 wr_18b20(0x44);  //启动温度转换
 rst_18b20();  //再次对18B20操作时,需要重新复位一次
 wr_18b20(0xcc);  //跳过ROM
 wr_18b20(0xbe);  //读取内部RAM的内容
 a=rd_18b20();  //读温度值低位(内部RAM的第0个字节)
 b=rd_18b20();  //读温度值高位(内部RAM的第1个字节)
 t=b;

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值