这可以当做学习单片机之后的第一套作品
做单片机这块确实非常有趣,比原来单纯的编程要好多了,即动脑又动手,而且很容易入门。跟着网上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;