电子钟也是我们日常生活随处可见的。电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,具有校时功能和报时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
1、可能是由于时钟程序数据异常了。建议尝试到手机的系统设置--应用程序下,找到时钟程序,点击进入“清除数据”后观察使用。
2、有可能是由于一些第三方软件的冲突干扰导致的,建议您尝试卸载最近安装的可疑软件,或是备份下机身的重要资料后, *** 作一下恢复设备的出厂设置看看能否改善,在恢复 *** 作前备份好存在机身的一些重要及文件,比如短信、联系人、照片、软件等,以免造成不必要的损失。
3、若是之前有root后导致的系统文件损坏,需要重新刷机才能恢复系统的使用。由于自行刷机存在一定的风险,刷机失败将可能影响设备的保修状态,若无法 *** 作如上,或是无法有效解决,建议抽空到当地的联想售后服务中心,让工程师帮忙检测、解决。摘要:本文针对数字电子钟的设计要求,提出了一种基于EWB仿真软件设计数字电子钟的方法。系统由石英晶体振荡器,分频器,计数电路,译码显示电路,校时电路,整点报时电路组成,最终在EWB仿真下基本通过。关键词:EWB,数字电子钟,74160,分频器,计数器,晶体振荡电路一、课题名称:多功能数字电子钟
二、设计任务及要求:
1、有“时”、“ 分”、“ 秒”(23小时59分59秒)显示且有校时功能。(设计秒脉冲发生器)
2、有整点报时功能。(选:上下午、日期、闹钟等)
3、用中规模、小规模集成电路及模拟器件实现。
4、供电方式:AC220V 50HZ。(设计5V直流稳压电源)
三、 工作原理
数字电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和
报时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。//=======主函数==================================
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T00
// ORG 001BH
// LJMP T11
ORG 0030H
//=======程序初始化=============================
MAIN:
MOV TMOD,#11H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV TH1,#0F0H
MOV TL1,#0B0H
SETB EA
SETB ET0
// SETB ET1
SETB TR0
// SETB TR1
CLR P34
MOV R7,#00H ;秒值
MOV 30H,#00H ;秒个位值
MOV 31H,#00H ;秒十位值
MOV 32H,#00H ;分个位
MOV 33H,#00H ;分十位
MOV 34H,#00H ;时个位
MOV 35H,#00H ;时十位
MOV 44H,#00H ;秒表毫秒十位
MOV 45H,#00H ;秒表秒毫秒百位
MOV 46H,#00H ;秒表秒个位
MOV 47H,#00H ;秒表秒十位
MOV 48H,#00H ;秒表分个位
MOV 49H,#00H ;秒表分十位
MOV P2,#0F0H ;P2口按键初始化
MOV 40H,#01H ;数码管休眠值 /流水灯/秒表开关数
MOV 41H,#08H ;流水灯循环值
MOV 42H,#00H ;秒表暂停
// ACALL T11
//-----------------------------------------------
MAIN1:
MOV P0,#0FFH
MOV P1,#0FFH
MOV R0,40H
CJNE R0,#01H,ACL1
ACALL MAIN2 ;时钟显示
ACL1:CJNE R0,#02H,ACL2
ACALL MAIN3 ;秒表
ACL2:CJNE R0,#03H,ACL3
ACALL LED ;流水灯
ACL3:ACALL KEY ;按键扫描
// ACALL BAO ;定时报警
LJMP MAIN1
//=======报警子程序============================
BAO:MOV R4,33H
CJNE R4,#03H,YY1
CLR P32
ACALL KEY
LJMP YY2
YY1:CJNE R4,#05H,YY2
SETB P32
ACALL KEY
YY2:RET
//======时钟扫描子程序=======================
MAIN2:
MOV A,30H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P10
ACALL DELAY
MOV A,31H
MOV DPTR,#TAB
MOVC A,@A+ DPTR
MOV P0,A
CLR P11
SETB P10
ACALL DELAY
MOV A,32H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P12
SETB P11
ACALL DELAY
MOV A,33H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P13
SETB P12
ACALL DELAY
MOV A,34H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P14
SETB P13
ACALL DELAY
MOV A,35H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P15
SETB P14
ACALL DELAY
MOV P0,#7FH
MOV P1,#0EBH
ACALL DELAY
MOV P1,#0FFH
RET
//========秒表扫描子程序=========================
MAIN3:
MOV A,44H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P10
ACALL DELAY
MOV A,45H
MOV DPTR,#TAB
MOVC A,@A+ DPTR
MOV P0,A
CLR P11
SETB P10
ACALL DELAY
MOV A,46H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P12
SETB P11
ACALL DELAY
MOV A,47H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P13
SETB P12
ACALL DELAY
MOV A,48H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P14
SETB P13
ACALL DELAY
MOV A,49H
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
CLR P15
SETB P14
ACALL DELAY
MOV P0,#7FH
MOV P1,#0EBH
ACALL DELAY
MOV P1,#0FFH
RET
//=======定时器T0中断服务========================
T00:MOV TH0,#0D8H
MOV TL0,#0F0H
INC R7
CJNE R7,#64H,AA
MOV R7,#00H
//-------时钟跑值--------------------------------
TK1:INC 30H ;每秒钟秒个位增一
MOV R6,30H
CJNE R6,#0AH,AA
MOV 30H,#00H
TK2:INC 31H
MOV R6,31H
CJNE R6,#06H,AA
MOV 31H,#00H
TK3:INC 32H
MOV R6,32H
CJNE R6,#0AH,AA
MOV 32H,#00H
TK4:INC 33H
MOV R6,33H
CJNE R6,#06H,AA
MOV 33H,#00H
TK5:INC 34H
MOV R5,34H
MOV R6,35H
CJNE R5,#04H,TK6
CJNE R6,#02H,TK6
MOV 34H,#00H
MOV 35H,#00H
TK6:CJNE R5,#0AH,AA
MOV 34H,#00H
INC 35H
//-------秒表跑值----------------------
AA:
MOV R5,42H
CJNE R5,#01H,TK7
INC 44H
TK7:MOV R5,44H
CJNE R5,#0AH,AA1
MOV 44H,#00H
INC 45H
MOV R5,45H
CJNE R5,#0AH,AA1
MOV 45H,#00H
INC 46H
MOV R5,46H
CJNE R5,#0AH,AA1
MOV 46H,#00H
INC 47H
MOV R5,47H
CJNE R5,#06H,AA1
MOV 47H,#00H
INC 48H
MOV R5,48H
CJNE R5,#0AH,AA1
MOV 48H,#00H
INC 49H
MOV R5,49H
CJNE R5,#06H,AA1
MOV 49H,#00H
AA1:RETI
//====定时器T1中断服务子程序====================
//T11:MOV TH1,#0F0H
// MOV TL1,#0B0H
// RETI
//定时时间调整子程序//
TBAO:
MOV 50H,#00H
MOV 51H,#00H
MOV 52H,#00H
MOV 53H,#00H
MOV 54H,#00H
MOV 55H,#00H
MOV R3,50H
DJNZ 30H,RET1
RET1: RET
//======键盘扫描子程序==========================
KEY:MOV P2,#0F0H
MOV R3,P2
CJNE R3,#0F0H,KE0
LJMP KK13
KE0:CJNE R3,#0E0H,KE1 ;P24行
MOV P2,#0EFH
JB P23,KK1 //用作调定时时间 ;K13 秒个位增一
ACALL DELAY1
ACALL TK1
KK1:JB P22,KK2 ;K14 秒十增一
ACALL DELAY1
ACALL TK2
KK2:JB P21,KK3 ;K15 分个位增一
ACALL DELAY1
ACALL TK3
KK3:JB P20,KE1 ;K16 分十位增一
ACALL DELAY1
ACALL TK4
KE1:MOV P2,#0DFH ;P25行
JB P23,KK4 ;K9 时个位增一
ACALL DELAY1
ACALL TK5
KK4:JB P22,KK5 ;K10 时十位增一
ACALL DELAY1
INC 35H
MOV R3,35H
CJNE R3,#03H,HH0
MOV 35H,#00H
LJMP KK5
HH0:CJNE R3,#02H,HH1
LJMP KK5
HH1:CJNE R3,#01H,HH2
LJMP KK5
HH2:MOV 35H,#00H
KK5:JB P21,KK6
ACALL DELAY1 ;K11 开/关蜂鸣器
CPL P32
KK6:JB P20,KE2 ;K12 秒表暂停
MOV 42H,#00H
KE2:MOV P2,#0BFH ;P6行
JB P23,KK7 ;K5 时钟暂停/取消暂停
ACALL DELAY1
CPL ET0
KK7:JB P22,KK8 ;K6 显示/休眠/流水灯
ACALL DELAY2
INC 40H
MOV R3,40H
CJNE R3,#04H,KK8
MOV 40H,#01H
KK8:JB P21,KK9
// ACALL DELAY3 ;K7 秒表清0
MOV 44H,#00H
MOV 45H,#00H
MOV 46H,#00H
MOV 47H,#00H
MOV 48H,#00H
MOV 49H,#00H
KK9:JB P20,KE3 ;K8 秒表开始跑
MOV 42H,#01H
KE3:MOV P2,#7FH ;P27行
JB P23,KK10 ;K1 秒十位减一
ACALL DELAY1
MOV R3,31H
CJNE R3,#00H,JA1
LJMP KK10
JA1:DEC 31H
KK10:JB P22,KK11 ;K2 分个位减一
ACALL DELAY1
MOV R3,32H
CJNE R3,#00H,JA2
LJMP KK11
JA2: DEC 32H
KK11:JB P21,KK12 ;K3 分十位减一
ACALL DELAY1
MOV R3,33H
CJNE R3,#00H,JA3
LJMP KK12
JA3:DEC 33H
KK12:JB P20,KK13 ;K4 时个位减一
ACALL DELAY1
MOV R3,34H
CJNE R3,#00H,JA4
LJMP KK13
JA4:DEC 34H
KK13:RET
//=====流水灯子程序===========================
LED: MOV A,#0feH
MOV 41H,#08H
MOV P0,#0FFH
LED1:
MOV P1,A
MOV R3,#100
D0: ACALL DELAY
DJNZ R3,D0
MOV R3,41H
DJNZ R3,AAA
LJMP BB
AAA:RL A
MOV 41H,R3
ACALL KEY
LJMP LED1
BB:
MOV 41H,#07H
CC: MOV P1,A
MOV R3,#30
D1: ACALL DELAY
DJNZ R3,D1
MOV R3,41H
DJNZ R3,DD
LJMP LED0
DD:RR A
MOV 41H,R3
ACALL KEY
LJMP CC
LED0:RET
//=====延时子程序==============================
DELAY:MOV R1,#250
DEL1:NOP
NOP
NOP
NOP
DJNZ R1,DEL1
RET
//====调用时钟显示作延时========================
DELAY1:MOV R2,#20
DELA3: ACALL MAIN2
DJNZ R2,DELA3
RET
//====调用秒表显示作延时========================
DELAY3:MOV R2,#20
DELA5:ACALL MAIN3
DJNZ R2,DELA5
RET
//====调用延时子程序作延时======================
DELAY2:MOV R2,#100
DELA4:ACALL DELAY
DJNZ R2,DELA4
RET
//======共阳数码管段码表=================================
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,87H
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)