Python怎么实现DIY电子时钟
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了Python怎么实现DIY电子时钟的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现DIY电子时钟文章都会有所收获,下面我们一起来看看吧
千家信息网最后更新 2026年11月01日Python怎么实现DIY电子时钟
这篇文章主要介绍了Python怎么实现DIY电子时钟的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么实现DIY电子时钟文章都会有所收获,下面我们一起来看看吧。
一、 实验目的:
?学习在PC机系统中扩展简单I/O 接口的方法
?学习TurnipBit拼插编程
?学习TurnipBit扩展板与DS3231时钟模块连接接线方式
?学习时钟模块的使用
二、所需原器件:
?TurnipBit一块
?TurnipBit扩展板一块
?DS3231时钟模块一个
?杜邦线若干
?usb数据线一条
三、实验原理:
1. DS3231时钟模块原理
DS3231(图11-12)是一个时钟模块,其实就是像一个电子时钟,它自身带有电池,当设置好时间后,DS3231就会自动走时。DS3231与开发板之间的通讯是通过I2C接口来完成的。I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要SDA(串行数据线)和SCL(串行时钟线)两根线即可在连接于总线上的器件之间传送信息。SDA和SCL都是双向I/O线,连接时,只需要将DS3231上的SDA和SCL与TurnipBit扩展板上的SDA和SCL相连即可。
四、接线方法:
TurnipBit扩展板与发光二极管接口对应如下表:

五、 源代码:
from microbit import *DS3231_ADDR = 0x68DS3231_REG_SEC = b'\x00'DS3231_REG_MIN = b'\x01'DS3231_REG_HOUR = b'\x02'DS3231_REG_DAY = b'\x04'DS3231_REG_MONTH = b'\x05'DS3231_REG_YEAR = b'\x06'DS3231_REG_TEMP = b'\x11'class DS3231(object): def __init__(self): pass def DATE(self, dat=[]): if dat==[]: t = [] t.append(self.year()) t.append(self.month()) t.append(self.day()) return t else: self.year(dat[0]) self.month(dat[1]) self.day(dat[2]) def TIME(self, dat=[]): if dat==[]: t = [] t.append(self.hour()) t.append(self.min()) t.append(self.sec()) return t else: self.hour(dat[0]) self.min(dat[1]) self.sec(dat[2]) def DateTime(self, dat=[]): if dat==[]: return self.DATE() + self.TIME() else: self.year(dat[0]) self.month(dat[1]) self.day(dat[2]) self.hour(dat[3]) self.min(dat[4]) self.sec(dat[5]) def dec2hex(self, dat): return (int(dat/10)<<4) + (dat) def setREG(self, dat,reg): buf = bytearray(2) buf[0] = reg[0] buf[1] = dat i2c.write(DS3231_ADDR,buf, repeat=False) def getREG_DEC(self,reg): i2c.write(DS3231_ADDR,reg) t = i2c.read(DS3231_ADDR,1)[0] #print("--===",t,"----------") return (t>>4)*10 + (t) def sec(self, sec=''): if sec == '': return self.getREG_DEC(DS3231_REG_SEC) else: self.setREG(self.dec2hex(sec), DS3231_REG_SEC) def min(self, min=''): if min == '': return self.getREG_DEC(DS3231_REG_MIN) else: self.setREG(self.dec2hex(min), DS3231_REG_MIN) def hour(self, hour=''): if hour=='': return self.getREG_DEC(DS3231_REG_HOUR) else: self.setREG(self.dec2hex(hour), DS3231_REG_HOUR) def day(self, day=''): if day=='': return self.getREG_DEC(DS3231_REG_DAY) else: self.setREG(self.dec2hex(day), DS3231_REG_DAY) def month(self, month=''): if month=='': return self.getREG_DEC(DS3231_REG_MONTH) else: self.setREG(self.dec2hex(month), DS3231_REG_MONTH) def year(self, year=''): if year=='': return self.getREG_DEC(DS3231_REG_YEAR) else: self.setREG(self.dec2hex(year), DS3231_REG_YEAR) def TEMP(self): i2c.write(DS3231_ADDR,DS3231_REG_TEMP, repeat=False) t1 = i2c.read(DS3231_ADDR,1, repeat=False)[0] i2c.write(DS3231_ADDR,b'\x12', repeat=False) t2 = i2c.read(DS3231_ADDR,1, repeat=False)[0] if t1>0x7F: return t1 - t2/256 -256 else: return t1 + t2/256ds=DS3231()ds.DATE([17,10,24])ds.TIME([10,03,00])while True: Time=ds.TIME() Time_s='' for i in Time: Time_s+=str(i)+':' display.scroll(Time_s[:-1]+"-") #print(Time) #print(ds.TEMP()) sleep(1000)关于"Python怎么实现DIY电子时钟"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Python怎么实现DIY电子时钟"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
时钟
电子
模块
学习
扩展板
总线
接口
知识
之间
内容
原理
双向
器件
数据
数据线
方法
篇文章
实验
开发
接线
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网最新的科技
互联网和科技创新
网络科技有限互联网
互联网 科技创业
奇酷互联网络科技
易通互联网络科技有限公司
美国互联网前沿科技
欧洲十大科技互联网公司
昭通云南众福互联网科技有限公司
移动互联网科技股
宁夏科技产业互联网案例
搜狐科技互联网
互联网行业科技股
众安科技工业互联网合作
智帮互联网科技公司最近动向
广州互联网高科技取餐柜
云鲸互联网络科技有限公司
西安左小互联网科技有限公司
科技信息时代互联网发展
承德科技产业互联网平台
高科技互联网
互联网科技社
齐家互联网科技
衡水科技产业互联网平台
互联网公司高科技产品
皮皮虾互联网科技有限公司
杭州披云加互联网科技有限公司
全球科技与互联网公司市值变化
互联网科技和医药行业
颐高云石互联网科技