导航:首页 > 编程语言 > 即时动态时钟设计python

即时动态时钟设计python

发布时间:2023-01-31 05:13:19

① 求python大佬

# 求分针与时针之间的夹角


a = input()

h, m = map(int, a.split(':'))


m_angle = m * 6

h_angle = h * 30 + m * 0.5


angle = abs(h_angle-m_angle)


angle = (360 - angle) if angle > 180 else angle

print(angle)

程序缩进如图所示

② Python语言写秒表计时器的GUI的方法

tk就是最基础的,一些好的你需要wxpython或qt。数字时钟倒是可以实现

③ 树莓派基础实验32:DS1302实时时钟模块实验

  现在有很多流行的串行时钟芯片,如DS1302,DS1307,PCF8485等,由于简单的接口,低成本和易用性,他们被广泛应用于电话、传真、便携式仪器等产品领域。在本实验中,我们将使用DS1302实时时钟(RTC)模块获取当前日期和时间。

  DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结果的分析,及对异常数据出现的原因的查找具有重要意义。

  传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。

★Raspberry Pi 3主板*1

★树莓派电源*1

★40P软排线*1

★DS1302实时时钟模块*1

★面包板*1

★跳线若干

  DS1302是DALLAS(达拉斯)公司出的一款涓流充电时钟芯片,2001年DALLAS被MAXIM(美信)收购。
  DS1302实时时钟芯片广泛应用于电话、传真、便携式仪器等产品领域,他的主要性能指标如下:
  1、DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软年自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。
  2、拥有31字节数据存储RAM。
  3、串行I/O通信方式,相对并行来说比较节省IO口的使用。
  4、DS1302的工作电压比较宽,大概是2.0V~5.5V都可以正常工作。
  5、DS1302这种时钟芯片功耗一般都很低,它在工作电压2.0V的时候,工作电流小于300nA。
  6、DS1302共有8个引脚,有两种封装形式,一种是DIP-8封装,芯片宽度(不含引脚)是300mil,一种是SOP-8封装,有两 种宽度,一种是150mil,一种是208mil。我们看一下DS1302的引脚封装图:

  7、当供电电压是5V的时候,兼容标准的TTL电平标准,这里的意思是,可以完美的和单片机进行通信。
   8、由于DS1302是DS1202的升级版本,所以所有的功能都兼容DS1202。此外DS1302有两个电源输入,一个是主电源, 另外一个是备用电源,比如可以用电池或者大电容,这样是为了保证系统掉电的情况下,我们的时钟还会继续走。如果使用的是充电电池,还可以在正常工作时,设置充电功能,给我们的备用电池进行充电。

  DS1302的特点第二条“拥有31字节数据存储RAM”,这是DS1302额外存在的资源。这31字节的RAM相当于一个存储器一样,我们编写单片机程序的时候,可以把我们想存储的数据存储在DS1302里边,需要的时候读出来,这块功能和EEPROM有点类似,相当于一个掉电丢失数据的“EEPROM”,如果我们的时钟电路加上备用电池,那么这31个字节的RAM就可以替代EEPROM的功能了。

  DS1302一共有8个引脚,下边要根据引脚分布图和典型电路图来介绍一下每个引脚的功能:

  DS1302的电路一个重点就是时钟电路,它所使用的晶振是一个32.768k的晶振,晶振外部也不需要额外添加其他的电容或者电阻电路了。时钟的精度,首先取决于晶振的精度以及晶振的引脚负载电容。如果晶振不准或者负载电容过大过小,都会导致时钟误差过大。在这一切都搞定后,最终一个考虑因素是晶振的温漂。随着温度的变化,晶振往往精度会发生变化,因此,在实际的系统中,其中一种方法就是经常校对。比如我们所用的电脑的时钟,通常我们会设置一个选项“将计算机设置于internet时间同步”。选中这个选项后,一般可以过一段时间,我们的计算机就会和internet时间校准同步一次。

  对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读/写除充电寄存器以外的寄存器。

  DS1302的一条指令一个字节8位,其中第7位(即最高位)是固定1,这一位如果是0的话,那写进去是无效的。第6位是选择RAM还是CLOCK的,这里主要讲CLOCK时钟的使用,它的RAM功能我们不用,所以如果选择CLOCK功能,第6位是0,如果要用RAM,那第6位就是1。从第5到第1位,决定了寄存器的5位地址,而第0位是读写位,如果要写,这一位就是0,如果要读,这一位就是1。

  DS1302时钟的寄存器,其中8个和时钟有关的,5位地址分别是00000一直到00111这8个地址,还有一个寄存器的地址是01000,这是涓流充电所用的寄存器,我们这里不讲。在DS1302的数据手册里的地址,直接把第7位、第6位和第0位值给出来了,所以指令就成了80H、81H那些了,最低位是1,那么表示读,最低位是0表示写。

  寄存器一:最高位CH是一个时钟停止标志位。如果我们的时钟电路有备用电源部分,上电后,我们要先检测一下这一位,如果这一位是0,那说明我们的时钟在系统掉电后,由于备用电源的供给,时钟是持续正常运行的;如果这一位是1,那么说明我们的时钟在系统掉电后,时钟部分不工作了。若我们的Vcc1悬空或者是电池没电了,当我们下次重新上电时,读取这一位,那这一位就是1,我们可以通过这一位判断时钟在单片机系统掉电后是否持续运行。剩下的7位高3位是秒的十位,低4位是秒的个位,这里注意再提一次,DS1302内部是BCD码,而秒的十位最大是5,所以3个二进制位就够了。
  寄存器二:bit7没意义,剩下的7位高3位是分钟的十位,低4位是分钟的个位。
  寄存器三:bit7是1的话代表是12小时制,是0的话代表是24小时制,bit6固定是0,bit5在12小时制下0代表的是上午,1代表的是下午,在24小时制下和bit4一起代表了小时的十位,低4位代表的是小时的个位。
  寄存器四:高2位固定是0,bit5和bit4是日期的十位,低4位是日期的个位。
  寄存器五:高3位固定是0,bit4是月的十位,低4位是月的个位。
  寄存器六:高5位固定是0,低3位代表了星期。
  寄存器七:高4位代表了年的十位,低4位代表了年的个位。这里特别注意,这里的00到99年指的是2000年到2099年。
  寄存器八:bit7是一个保护位,如果这一位是1,那么是禁止给任何其他的寄存器或者那31个字节的RAM写数据的。因此在写数据之前,这一位必须先写成0。

   物理上,DS1302的通信接口由3个口线组成,即RST,SCLK,I/O。其中RST从低电平变成高电平启动一次数据传输过程,SCLK是时钟线,I/O是数据线。这个DS1302的通信线定义和SPI很像,事实上,DS1302的通信是SPI的变异种类,它用了SPI的通信时序,但是通信的时候没有完全按照SPI的规则来,下面我们介绍DS1302的变异SPI通信方式。

  请注意数据是对时钟信号敏感的,而且一般数据是在下降沿写入,上升沿读出。平时SCLK保持低电平,当需要写命令或者写数据时,在时钟输出变为高电平之前先输出数据;当需要读数据时,在时钟输出变为高电平之前采样读取数据。

   第1步: 连接电路。

   第2步: DS1302的Python程序比较复杂,我们先编写一个模块ds1302.py,在里面创建一个类DS1302(),在里面编写读取时钟信息等方法。

   第3步: 编写实际控制程序,导入上面的模块ds1302。运行本文件,不断循环读取并打印时钟信息。

  实验结果示例:

④ 用python写个时钟程序

双击文件在cmd窗口就可以动态显示时间

import time
import os


while True:
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
time.sleep(1)
os.system('cls')

⑤ 如何使用Python让某段程序固定在每天早上八点钟开始运行

你在windows下根本不用这么麻烦:

首先,比如你的程序名字是 test.py
如果你想调用某个具体函数,就自己写一个的文件,比如
import spider
spider.go()

然后,用系统at命令指定几点几分或者每个星期几或者每个月的第几个星期几等执行某个程序。在执行程序的地方写到:
c:\python25\python.exe myfile.py
这样就可以了。

===================================

如果你觉得简单的方法不好或者你要在其它系统下也可以用,那就这样:

首先,写一串代码:大致意思如下,把_换成空格
import os,time,spider
while True:
__time.sleep(1)
__if time.ctime()[12:19]=="8:00:00" or time.ctime()[12:19]=="20:00:00" :
____spider.go() #举个例子

然后,开机就执行这个文件。windows下可以把文件存为pyw然后开机启动这样没有黑框。其它系统你爱怎么样都可以了(mac没用过不知道)

⑥ Python测量程序运行时间,time.time与time.clock

现象描述:

1、time.clock 在win系统和linux系统下对相同程序的计时结果不一致

2、到底应该用什么时间计时?为什么用time.time与time.clock计时会有那么大的差异

在计算机领域有多种时间。

第一种称作CPU时间或执行时间,用于测量在执行一个程序时CPU所花费的时间。第二种称作挂钟时间,测量执行一个程序时的总时间。挂钟时间也被称作流逝时间或运行时间。与CPU时间相比,挂钟时间通常长些,因为CPU执行测量的程序可能同时还在执行其它程序的指令。

另一个重要概念是所谓的系统时间,由系统时钟测量。系统时间表示计算机系统时间传递的概念。要记住系统时钟是可以由操作系统修改的,就是修改系统时间。

在Unix系统上,time.time的作用与Windows相同,但time.clock的意义不同。

在Unix系统上,time.clock以秒为单位返回当前处理器时间,例如,执行当前线程所花费的CPU时间。而在Windows上,它是以秒为单位的返回自首次调用该函数以来所流逝的系统时间。

以我遇到的Ubuntu系统上运行time.time和time.clock的例子:

time.time()显示系统时间过去大概1秒,而time.clock()显示花费在当前进程上的CPU时间只有于1毫秒。

而win下time.time()和time.clock()显示系统时间都是大致过去了1秒

在测量程序准确性能时应该使用哪一个呢?

这要视情况而定。如果程序运行的系统能够提供足够的资源给程序,例如,一个运行基于Python的web应用程序的web服务器,则使用time.clock()来测量程序会更有意义,因这个web应用程序可能是服务器上的主要程序 。如果程序运行的系统上还同时运行着其它大量程序,则使用time.time()进行测量会更有意义。 如果不是这样,就应该使用基于挂钟的计时器来测量程序的性能,因为这样通常能反应程序的环境。

放结论,一般情况下:

1、win用time.clock或time.time

2、linux 下用time.time  或 datetime.datetime.now().timestamp()

【1】(重要)https://blog.csdn.net/ao985438294363006/article/details/101349790    Python测量时间,用time.time还是time.clock 

⑦ python问题 求解

#python6.6
classClock:
def__init__(self,hour,minute,second):
self.h=hour
self.m=minute
self.s=second

defprintTime(self):
#{:+0填充+右对齐+固定宽度2+数据类型整数}
print("{:>2d}:{:0>2d}:{:0>2d}".format(self.h,self.m,self.s))

deftest():
hs=[8,9,10]
ms=[30,45,5]
ss=[0,15,49]

c1=Clock(hs[0],ms[0],ss[0])
c2=Clock(hs[1],ms[1],ss[1])
c3=Clock(hs[2],ms[2],ss[2])
c1.printTime()
c2.printTime()
c3.printTime()


if__name__=="__main__":
test()

我测试没问题。

⑧ python怎么计时

定义在默认的计时器中,针对不同平台采用不同方式。在Windows上,time.clock()具有微秒精度,但是time.time()精度是1/60s。在Unix上,time.clock()有1/100s精度,而且time.time()精度远远更高。在另外的平台上,default_timer()测量的是墙上时钟时间,不是CPU时间。这意味着同一计算机的其他进程可能影响计时

版权声明:

def clock(func):

def clocked(*args, **kwargs):

t0 = timeit.default_timer()

result = func(*args, **kwargs)

elapsed = timeit.default_timer()- t0

name = func.__name__

arg_str = ', '.join(repr(arg) for arg in args)

print('[%0.8fs] %s(%s) -> %r' % (elapsed, name, arg_str, result))

return result

return clocked

@clock

def run(seconds):

time.sleep(seconds)

return time

if __name__ == '__main__':

run(1)

本文为CSDN博主“FlyingPie”的原创文章,遵循CC 4.0 BY-SA版权协议,附上原文出处链接及声明。

原文链接:https://blog.csdn.net/BobAuditore/article/details/79377679

⑨ 如何制作简易的时钟

用Python代码实现简易时钟功能,主要有5步。
第一步:导入需要的依赖库。
这里面主要用到两个库:
(1)绘图图形库:turtle
(2)日期时间库:datetime
第二步:画出时钟刻度盘。
主要是将时钟刻度的整点刻度画出,同时将整点间进行五等分。
第三步:写上当天年月日信息。
通过日期时间库函数获取年月日信息,然后写在时钟盘的中下方。
(1)获取年月日信息。
(1)在时钟盘的中下方显示年月日信息。
第四步:画出时针、分针、秒针,并动态刷新。
通过日期时间库函数获取时、分、秒信息,然后将时分秒信息转化为时针、分针、秒针对应的显示角度,最后在时钟盘上画出时针、分针、秒针,并每隔1S进行刷新。
(1)获取时针、分针、秒针对应的显示角度。
(1)画出时针、分针、秒针,并每隔1S进行刷新。

⑩ python 时钟嘀嗒数获取

你可以试下下面的方式来取得当前时间的时间戳:
import time
print time.time()
输出的结果是:
1279578704.6725271
但是这样是一连串的数字不是我们想要的结果,我们可以利用time模块的格式化时间的方法来处理:
time.localtime(time.time())
用time.localtime()方法,作用是格式化时间戳为本地的时间。
输出的结果是:
time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)
现在看起来更有希望格式成我们想要的时间了。
time.strftime('%Y-%m-%d',time.localtime(time.time()))
最后用time.strftime()方法,把刚才的一大串信息格式化成我们想要的东西,现在的结果是:
2010-07-19
time.strftime里面有很多参数,可以让你能够更随意的输出自己想要的东西:
下面是time.strftime的参数:
strftime(format[, tuple]) -> string
将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

阅读全文

与即时动态时钟设计python相关的资料

热点内容
吃鸡国际体验服为什么服务器繁忙 浏览:92
php中sleep 浏览:488
vr怎么看视频算法 浏览:84
手机app如何申报个人所得税零申报 浏览:692
如何截获手机app连接的ip 浏览:330
冰箱压缩机是否需要电容 浏览:344
python列表每一行数据求和 浏览:274
自己有一台服务器可以玩什么 浏览:656
社会学波普诺pdf 浏览:584
解压做食物的小视频 浏览:758
pdf怎么单独设置文件夹 浏览:474
业务逻辑程序员 浏览:659
addto新建文件夹什么意思 浏览:160
有服务器地址怎么安装软件 浏览:659
安卓如何完全清除数据 浏览:690
安卓安卓证书怎么信任 浏览:53
服务器被攻击如何解决 浏览:221
学霸变成程序员 浏览:882
c语言编译错误fatalerror 浏览:441
ipv4内部服务器地址怎么分配 浏览:464