首页 > 电路 > 电路设计 > 单片机一个时钟多少秒,单片机用12MHZ的做个时钟不用时钟蕊片一天24小时误差是多少秒

单片机一个时钟多少秒,单片机用12MHZ的做个时钟不用时钟蕊片一天24小时误差是多少秒

来源:整理 时间:2024-03-27 03:58:59 编辑:亚灵电子网 手机版

本文目录一览

1,单片机用12MHZ的做个时钟不用时钟蕊片一天24小时误差是多少秒

一天差6秒那是程序有问题啊!!中断的实际重载值要比理论计算值要小些,小多少就要看进入中断前的现场保护消耗的时间,而C语言在这方面不透明,所以调试时要看编译器转换出来的现场保护的汇编指令消耗的时间。所以重载值偏差计算足够准的话,可以做到一月偏差1秒,甚至更小的!如果用软件延时的方式,误差就可大可小了,C语言基本上计算不准,汇编的倒是可以计算但比较麻烦!所以要做准的定时,一定要用中断方式的!!准确度多少是看你的编程能力的!
如果是51的单片机机器周期是12,每个机器周期为1/f,每个机器周期是1us,你没讲清楚是那个系列的单片机不好一概而论。像义隆的你可以编成是单指令是2个时钟周期,双指令是4个时钟周期,也可以编成单指令是4个时钟周期,双指令是8个时钟周期,像合泰的又不一样了。

单片机用12MHZ的做个时钟不用时钟蕊片一天24小时误差是多少秒

2,单片机系统时钟是多少

单片机内部都是由许多诸如触发器等构成的时序电路组成的,只有通过时钟才能使单片机一步步地工作。 具体工作时,单片机外部接上振荡器(也可以是内部振荡器)提供高频脉冲经过分频处理后,成为单片机内部时钟信号,作为片内各部件协调工作的控制信号。 如果没有时钟信号,触发器的状态就不能改变,单片机内部的所有电路在完成一个任务后将最终达到一个稳定状态而不能再继续进行其它任何工作了。

单片机系统时钟是多少

3,单片机做电子时钟

使用一片1302时钟芯片,IIC通讯,LCD或LED显示就可以了
使用单片机的定时器中断可实现。例如定时器中断方式2,8位自动初值重装,初值设置为0,晶振为11.0592m的情况下,中断3600次为1秒钟..多做几个变量,比如秒、分、小时等...60秒时,分++,秒清零...60分时,小时++,分清零...外加一个显示或串口功能..就完成了一个简单的电子时钟
那可以用P3.3作外部中断输入,是INT1,还可以用P3.4或P3.5输入时钟脉冲,用定时器T0或T1,工作在计数状态,也可以的。如果整个P3口都用于数码管了,那就不能用中断方式输入了,采用查询方式会影响精度。其实,外加了一个50hz的固定脉冲,也未必就是非常准确吧。用一个12MHZ的晶振,用内部定时器计时,也可以做到很准确的吗,也不会比外部的固定脉冲误差大的。最好的方法是用一片时钟芯片,DS1302,这是做电子钟的典型配置,计时精确,还可以带备用电池,计时不间断。

单片机做电子时钟

4,51单片机的时钟周期是多少微秒

12/11.0592微秒,51单片机的一个机器周期等于12个振荡周期(晶振频率的倒数)。体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;仿真插针采用优质镀金插针,可以有效地防止日久生锈,选择优质园脚IC插座,保护仿真插针,同时不会损坏目标板上的插座。扩展资料:硬件说明:1、使用用户板的晶振:仿真器晶振旁有两组跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz), 当两个短路块位于电容一侧时,使用用户板的晶振。2、为便于调试带看门狗的用户板,仿真器的复位端未与用户板复位端相连;故仿真器的复位按钮只复位仿真器,不复位用户板;若要复位用户板,请使用用户板复位按钮。参考资料来源:百度百科-51单片机

5,几位单片机是一个时钟周期处理多少位么

不是的。8位、16位、32位,一般是指寄存器的位数,或者说一次可以进行几位的运算。以加法为例,8位机可以执行8位加法,要实现16位的加法,需要分别进行两次8位的加法。16位机可以直接执行16位的加法,一次就可以加16位。32位的则可以一次执行32位的加法。
如上面所说的,8位、16位、32位,一般是指寄存器的位数,有时也指的是内部数据总线的宽度。就是一次所能操作的数据位数。 一个时钟周期可能处理一条指令,也可能是多个时钟周期处理一条。这个与几位单片机没关系。一条指令中,操作数的位数一般就是寄存器的位数,或是内部数据总线的宽度。
时钟周期是单片机的基本时间单位。 两个振荡周期(时钟周期)组成一个状态周期。 若时钟晶振的振荡频率为fosc,则时钟周期tosc=1/fosc。(即为振荡频率的倒数) 如:晶振频率为12mhz,则时钟周期tosc=1/12us。 8051单片机的机器同期为12个晶掁周期。增强型的8051单片机机器周期为1个晶掁周期。

6,单片机定时器定时的时间怎么算

单片机的定时时间的计算公式=计数值(定时值)* 机器周期= 计数值(定时值)* 12 / 晶振频率。上面的两个等号是等价的,因为,单片机的机器周期=12秒/晶振频率,因此两个公式通用。完成一个基本操作所需要的时间称为机器周期。一般,一个机器周期由 若干个S周期(状态周期)组成。80C51系列单片机一个机器周期由6个S周期组成。一个S周期(状态周期),由2个时钟周期组成。若干个机器周期,组成了指令周期。根据指令不同,所需的机器周期数也不同。扩展资料几种典型指令;1、单字节周期指令(比如 INC A)2、双字节单周期指令(比如 ADD A,#data)3、单字节双周期指令 (比如 INC DPTR)4、单字节双周期指令 (比如MOVX A @DPTR)参考资料来源:《单片机初级教程 单片机基础》 张迎新 杜小平 等编著 北京航空航天大学出版社第三章 单片机的结构及原理 3.5 CPU时序及时钟电路参考资料来源:百度百科--机器周期

7,单片机用计时器给LCD计时间每一秒可能都会多个几毫秒要怎么能

单片机,用定时器中断 计时间 应该可以 做的很准确的,比如 12 MHz 的晶振,可以做到 10 微秒 / 秒, 每天误差在小于 1 秒。一秒 就有 几毫秒 的误差 肯定是 程序上有问题了如一般 用于 精确计时 的中断,应该用最高 优先级的定时器。
你好!千分之几的误差,用定时器计时的这种方法误差很难消,实在想消的话,可以用下面几种法子试试:1. 挑选晶振,晶振频率有差,挑选个频率高一点的。2. 调大计数器的初值,然后在中断服务 子程序中让计数器停止计数、马上再启动计数,目的是微微调整定时的周期。两种方法都较难调好,要慢慢试,最好改其它定时法。比如用1302等芯片如有疑问,请追问。
千分之几的误差,用定时器计时的这种方法误差很难消,实在想消的话,可以用下面几种法子试试:1. 挑选晶振,晶振频率有差,挑选个频率高一点的。2. 调大计数器的初值,然后在中断服务 子程序中让计数器停止计数、马上再启动计数,目的是微微调整定时的周期。两种方法都较难调好,要慢慢试,最好改其它定时法。比如用1302等芯片

8,时钟周期的单片机时间单位

在MCS-51中时钟周期也称振荡周期,振荡周期也称为晶振周期,振荡周期是单片机的基本时间单位。8051把一个振荡周期定义为一个节拍(用P表示),两个节拍为一个状态周期。振荡器脉冲信号经过时钟电路二分频之后产生的单片机时钟信号的周期(用S表示)称为状态周期。故一个状态周期S包含2个节拍,前一时钟周期称为P1节拍,后一时钟周期称为P2节拍。若时钟晶振的振荡频率为fosc,则振荡周期Tosc=(1/fosc)。如:晶振频率为12MHZ,则振荡周期Tosc=(1/12us)。
你这是用时钟芯片ds1302和液屏1602组成的电子钟吧。因ds1302的时间和日期都是bcd码,例如18分,读出来的数据是0001 1000,要显示出十位,要取出十位,即是取高4位,所以,要用time[1]/16,而time[1]&0x0f是取出个位,即低四位。其它的秒,小时,年月日等同理。如果按二进制数计算就错了,0001 1000是24。而time[5]&0x07是星期,1-7,最大数是7,即只有低3位有效 ,所以,可以取低3位,因0x07=0000 0111b。而通常写程序时,用单片机计时的时候,如也计分,可以这样minute++; 这是按二进制数加1的,要取出十位是这样,minute/10;取个位是minute%10;

9,单片机的机器周期和时钟周期分别怎么算的还请举例说明下

单片机的机器周期=12秒/晶振频率,时钟周期=振荡周期,等于单片机晶振频率的倒数,如常见的外接12M晶振,那它的时钟周期=1/12M。时钟周期以时间动作重复的最小周期来度量,度量单位采用时间单位。在单个时钟周期内(现代非嵌入式微处理器的这个时间一般都短于1纳秒),逻辑零状态与逻辑一状态来回切换。由于发热和电气规格的限制,周期里逻辑零状态的持续时间历来要长于逻辑一状态。一般情况下,一个机器周期由若干个S周期(状态周期)组成。通常用内存中读取一个指令字的最短时间来规定CPU周期,(也就是 计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间)),它一般由12个时钟周期(振荡周期)组成,也是由6个状态周期组成。扩展资料在一个时钟周期内,CPU仅完成一个最基本的动作。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。我们学习的 8051单片机的时钟范围是1.2MHz-12MHz。一个机器周期包含六个状态周期(用S表示)。一个状态周期有两个节拍(用P1、P2表示)。8051系列单片机的一个机器周期同6 个S周期(状态周期)组成。也就是说一个机器周期=6个状态周期=12个振荡周期(即时钟周期)。参考资料来源:百度百科-时钟周期参考资料来源:百度百科-机器周期
假如振荡频率是6MHz的话,时钟周期是1/6M=1/6us,机器周期是12个时钟周期即2us。手打不易,如有帮助请采纳,或点击右上角的满意,谢谢!!
以51为例(不同的MCU计算方法不同):外部晶振为12Mhz , 振荡周期 = 时钟周期 = 12Mhz 机器周期为12个时钟周期,即1Mhz。周期是时间的倒数,即一个机器周期1/1Mhz=1us指令周期:因为51是复杂指令集,执行一条指令需要1~3个机器周期(根据指令不同而不同)
你好!以51为例(不同的MCU计算方法不同):外部晶振为12Mhz , 振荡周期 = 时钟周期 = 12Mhz 机器周期为12个时钟周期,即1Mhz。周期是时间的倒数,即一个机器周期1/1Mhz=1us指令周期:因为51是复杂指令集,执行一条指令需要1~3个机器周期(根据指令不同而不同)如有疑问,请追问。

10,用单片机设计一个电子时钟

MAINORG 0000H AJMP MAIN ORG 000BH AJMP CLOCK ORG 0030H PORT EQU 8000H PORTA EQU 8001H PORTB EQU 8002H PORTC EQU 8003H DISP0 EQU 30H DISP1 EQU 31H DISP2 EQU 32H DISP3 EQU 33H DISP4 EQU 34H DISP5 EQU 35H HOUR EQU 3CH MIN EQU 3DH SEC EQU 3EH MSEC EQU 3FH AHOUR EQU 40H AMIN EQU 41H ASEC EQU 42H F1 BIT PSW.1MAIN: MOV SP, #50H ;设置堆栈区 MOVX DPTR, #PORT MOV A, #03H MOVX @DPTR, A ;8155初始化 CLR F1 ;清零闹钟标志位 CLR F0 ;允许计时显示 MOV AHOUR, #0FFH MOV AMIN, #0FFH MOV ASEC, #0FFH MOV R7, #10H MOV R0, #DISP0 CLR ALOOP: MOV @R0, A INC R0 DJNZ R7, LOOP ;设置初值 MOV TMOD, #01H MOV TL0, #0B0H MOV TH0, #3CH ;定时器0初始化,定时时间100ms SETB TR0 ; 启动定时器 SETB EA ;开中断 SETB ET0 BEGIN: ACALL ALARM ;调用定时比较 ACALL KEYSCAN CJNE A, #0AH, NEXT1 ;是CLR/RST键否? CLR TR0 ;是则暂停计时 MOV R1, #HOUR ;地址指针指向计时缓冲区首地址 AJMP MODNEXT1: CJNE A, #0BH, BEGIN ;是ALARM键否? JB F1, NEXT2 ;闹钟正在闹响否? MOV R1, #AHOUR ;地址指针指向闹钟值寄存区首地址MOD: SETB F0 ;置位时间设置/闹钟定时标志禁止显示计时时间ACALL MODIFY ;调用时间设置/闹钟定时程序 SETB TR0 ;重新开始计时 CLR F0 ;清零时间设置/闹钟定时标志,恢复显示计时时间 AJMP BEGIN NEXT2: SETB P1.0 ;闹钟正在闹响,停闹 CLR F1 ;清零闹钟标志 AJMP BEGINMODIFY: ACALL KEYIN ;调用键盘设置子程序 ACALL COMB ;调用合字子程序 RETKEYIN: PUSH PSW PUSH ACC SETB RS1 ;保护现场 MOV R0, #DISP0 ;R0指向显示缓冲区首地址 MOV R7, #06H ;设置键盘输入次数L1: CLR RS1 ACALL KEYSCAN ;调用数合法性检测(是否在于9) SETB RS1R CJNE A, #0AH, L2L2: JNC L1 ;大于9,重新键入 MOV @R1, A ;键号送显示缓冲区 INC R1 DJNZ R7, L1 ;6位时间输入完否?未完继续,否则返回POP ACC POP PSW CLR RS1 ;恢复现场 RETKEYSCAN: ACALL TEST ;调判按键是否按下子程序TEST JNZ REMOV ;有键按下调消抖延时 ACALL DISPLAY ACALL ALARM AJMP KEYSCAN ;无按键按下继续判断是否按键REMOV: ACALL DISPLAY ;调用显示子程序延时消抖 ACALL TEST ;再判是否有键按下 JNZ LIST ;有键按下转逐列扫描 ACALL DISPLAY ACALL ALARM AJMP KEYSCAN ;无键按下继续判断是否按键LIST: MOV R2, #0FEH ;首列扫描字送R2 MOV R3, #00H ;首列键号送R3LINE0: MOV DPTR, #PORTA ;DPTR指针指向8155的A口 MOV A, R2 ;首列扫描字送R2 MOVX @DPTR, A ;首列扫描字送8155的A口 MOV DPTR, #PORTC ;DPTR指针指向8155的C口 MOVX A, @DPTR ;读入C口的行状态 JB ACC.0, EXIT ;第0行无键按下转第一行 MOV A, #00H ;第0行有键按下,行首键号送A AJMP TRYK ;求键号NEXT: INC R3 ;扫描下一列 MOV A, R2 ;扫描字送A JNB ACC.3, EXIT ;4列扫描完,重新进行下一轮扫描 RL A ;4列未扫描完,扫描字左移扫描下一列 MOV R2, A ;扫描字送A AJMP LINE0 ;转向扫描下一列EXIT: AJMP KEYSCAN ;等待下一次按键TRYK: ADD A, R3 ;按公式计算键码,求得键号 PUSH ACC ;键号入栈保护LETK: ACALL TEST ;等待按键释放 JNZ LETK ;按键未释放,继续等待 POP ACC ;按键释放,键号出栈 RETTEST: MOV DPTR, #PORTA ;DPTR指针指向8155的A口 MOV A, #00H MOVX @DPTR, A ;全扫描字00H送8155的A口 MOV DPTR, #PORTC ;DPTR指针指向8155的C口 MOVX A, @DPTR ;读入C口行状态 CPL A ;A取反,以高电平表示有键按下 ANL A, #07H ;屏蔽高5位 RETDISPLAY:JB F0, DISP ;允许时间显示标志F0=1转DISP ACALL SEPA ;否则调用SEPA刷新显示缓冲区DISP: PUSH PSW ;动态扫描显示子程序 PUSH ACC SETB RS0 MOV DPTR, #PORTA MOV A, #0FFH MOVX @DPTR, A ;关显示 MOV R0, #DISP0 MOV R7, #00H MOV R6, #06H MOV R5, #0FEHDIS1: MOV DPTR, #TAB MOV A, @R0 MOVC A, @A+DPTR MOV DPTR, #PORTB MOVX @DPTR, A MOV DPTR, #PORTA MOV A, R5 MOVX @DPTR, AHERE: DJNZ R7, HERE INC R0 MOV A, R5 RL A MOV R5, A DJNZ R6, DIS1 CLR RS0 POP ACC POP PSW RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHCOMB: MOV R0, #DISP1 ;R0指向显示缓冲区小时低位 ACALL COMB1 ;合字 CJNE A, #24, CHK ;小时大于24否?CHK: JNC EXIT1 ;大于24则取消本次设置,退出 MOV @R1, A ;否则小时送计时缓冲区/闹钟值寄存区小时单元 INC R1 MOV R0, #DISP3 ;R0指向显示缓冲区分低位 ACALL COMB1 CJNE A, #60H, CHK1CHK1: JNC EXIT1 MOV @R1, A INC R1 MOV R0, #DISP5 ;R0指向显示缓冲区秒低位 ACALL COMB1 CJNE A, #60H,CHK2CHK2: JNC EXIT1 MOV @R1, A RETEXIT1: AJMP MAIN ;输入不合法退出,重新清零计时COMB1: MOV A, @R0 ANL A, #0FH ;取出低位 MOV 43H,A ;暂存于43H单元 DEC R0 ;指向高位 MOV A, @R0 ANL A, #0FH SWAP A ;高位送高4位 ORL A, 43H ;高低位合并 RETSEPA: PUSH PSW PUSH ACC SETB RS0 MOV R0, #DISP5 ;指向显示缓冲区秒低位 MOV A, SEC ACALL SEPA1 MOV A, MIN ACALL SEPA1 MOV A, HOUR ACALL SEPA1 POP ACC POP PSW RETSEPA1: MOV 44H,A ;暂存44H ANL A, #0FH ;取出低位 MOV @R0, A ;送显示缓冲区低位 DEC R0 ;指向显示缓冲区高位 MOV A, 44H ANL A, #0F0H ;取出高位 SWAP A ;高位送往低四位形成高位数据 MOV @R0, A ;高位数据送显示缓冲区高位 RETALARM: MOV A, ASEC CJNE A, SEC, BACK ;秒单元相同则继续比较,否则返回 MOV A, AMIN CJNE A, MIN, BACK ;分单元相同则继续比较,否则返回 MOV A, AHOUR CJNE A, HOUR, BACK ;小时单元相同定时时间到 CLR P1.0 ;启动闹钟鸣叫 SETB F1 ;置位闹钟标志BACK: RETCLOCK: MOV TL0, #0B7H MOV TH0, #3CH ;重装初值,时间校正 PUSH PSW PUSH ACC ;保护现场 INC MSEC MOV A, MSEC CJNE A, #14H, DONE MOV MSEC, #00H MOV A, SEC INC A DA A ;二—十进制转换 MOV SEC, A CJNE A, #60H, DONE MOV SEC, #00H MOV A, MIN INC ADA A MOV MIN, A CJNE A, #60H, DONE MOV MIN, #00H MOV A, HOUR INC A DA A MOV HOUR, A CJNE A, #24H, DONE MOV HOUR, #00HDONE: POP ACC POP PSW ;恢复现场 RETI
30分??
30分??
文章TAG:单片机单片机一个时钟多少秒单片机用12MHZ的做个时钟不用时钟蕊片一天24小时误差是多少秒

最近更新

  • 电压 电流围成的面积,电流与电压的比值是多少?电压 电流围成的面积,电流与电压的比值是多少?

    电流、电压和功率之间的关系是功率-电流=电压。电压越高,电流越小,所用导线的横截面积越小,相反,电压越小,电流越大,所用导线的横截面积越大,电流是指电荷的定向运动,工作电流,以保证感性电器的.....

    电路设计 日期:2024-04-11

  • 起辉器多少钱,请问空调启动器多少钱一个起辉器多少钱,请问空调启动器多少钱一个

    请问空调启动器多少钱一个付费内容限时免费查看回答很多空调都有空调启动器,一般空调启动机的价格,是在50元到300元左右,具体的价格要看空调启动器的材质来决定,它的材质不一样,价格也是不.....

    电路设计 日期:2024-04-11

  • 飞腾芯片的笔记本,国产电脑处理器有哪些品牌?飞腾芯片的笔记本,国产电脑处理器有哪些品牌?

    在车身尾部,飞腾龙E2000Q芯片和基于该芯片的车内智能终端的图案令人印象深刻,成为了这辆324路公交车最亮眼的核心亮点。今年由腾飞跨境联合品牌广州交信投资有限公司推出的“龙”主题公.....

    电路设计 日期:2024-04-11

  • 电压环路响应速度,电源环路响应电压环路响应速度,电源环路响应

    电压调节器的控制回路的响应速度越快。限制响应速度,可以先放慢环路速度和增益,待电路稳定后再观察伯德图调整环路以满足动态响应的要求,闭环的响应越慢,稳压电路的时间常数:稳压电路中的.....

    电路设计 日期:2024-04-10

  • 红外遥控音乐插座电路,智能红外遥控插座怎么设置?红外遥控音乐插座电路,智能红外遥控插座怎么设置?

    如果只是遥控音响的电源开关,在淘宝上买一套“带继电器的红外遥控套装”就行了,十几块钱。红外遥控系统通用红外遥控系统由发射和接收两部分组成,由编码/解码ASIC芯片进行控制操作,如图所.....

    电路设计 日期:2024-04-10

  • 单差分电路图,差分通道单端输出单差分电路图,差分通道单端输出

    输入级采用双差分通道。该机器将OCL的差分输入和电压放大部分与其后面的驱动输出分开,并将其与前端电路一起设置在电路板上,这是该功率放大器的特点之一,这种布置可以有效地降低大电流电.....

    电路设计 日期:2024-04-10

  • 电路板油脂用什么,油性电路板电路板油脂用什么,油性电路板

    什么是PCB润滑脂?因为电路板是一个敏感部件,清洗时必须使用水,一旦电路板变湿,就会出现问题。应拆下控制电路板,在受污染的印制板上喷洒清洗剂,然后用干净的牙刷刷去污垢和油渍,PCB润滑脂是指.....

    电路设计 日期:2024-04-10

  • 射频mos驱动电路,MOS开关电路怎么接?射频mos驱动电路,MOS开关电路怎么接?

    Mosfet不需要驱动电路。电压和电流太小,芯片无法驱动,例如,dsp的输出只有以下原因:RC时间常数:在驱动电路中,驱动电阻和驱动电容之间形成RC并联网络,pwm驱动mos晶体管的电路提供以下特性:用.....

    电路设计 日期:2024-04-10