跪求单片机电子时钟程序

作者&投稿:哀世 (若有异议请与网页底部的电邮联系)
高分:跪求雷人帮我写个51单片机数字电子时钟程序 急用!!!!~

大哥 你啊
何必要哪那多的分悬赏这个哦

网上一大把一大把的

给你提示
在proteus论坛里注册个就可以下超多

我有的

我觉得要自己查找

那才有实际价值

我的博客上有一个比较好的程序,你可以去参考一下.

K1 EQU P1.0 ;在程序开始前定义变量
K2 EQU P1.1
K3 EQU P1.2
K4 EQU P1.3
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP TIME
ORG 0100H
MAIN:MOV SP,#50H
MOV 20H,#00H ;时间 BIN SECOND
MOV 21H,#00H ; BIN MINUTE
MOV 22H,#00H ; BIN HOUR
MOV 23H,#01H ;闹铃 BIN MINUTE
MOV 24H,#01H ; BIN HOUR
MOV 25H,#00H ;定义一个标志位
MOV 30H,#00H ;时间 BCD SECOND
MOV 31H,#00H ;
MOV 32H,#00H ; BCD MINUTE
MOV 33H,#00H ;
MOV 34H,#00H ; BCD HOUR
MOV 35H,#00H ;
MOV 36H,#01H ;闹铃 BCD MINUTE
MOV 37H,#00H ;
MOV 38H,#01H ; BCD HOUR
MOV 39H,#00H ;
MOV TMOD,#01H ;16位计数器 T0,方式1
MOV TH0,#03CH ;赋初值
MOV TL0,#0B0H
MOV IE,#10000111B ;开中断 T0,EA=1
SETB TR0 ;T0启动计数
MOV R2,#14H ;计数器
MOV P2,#0FFH
LOOP:LCALL TIMEPRO ; 调用现在时间与闹铃时间比较程序
LCALL DISPLAY1 ; 调用现在时间显示子程序
JB K1,M1 ; 判断按键是否按下
LCALL XIAOZHEN1 ; 调用消抖程序
MOV C,25H.0
JC A1
A1:CLR 25H.0
LCALL SETTIME ; 调用设置现在时间子程序
LJMP LOOP
M1:JB K2,M2
LCALL XIAOZHEN2
MOV C,25H.0
JC A2
A2:CLR 25H.0
LCALL SETATIME ; 调用设置闹钟的程序
LJMP LOOP
M2:JB K4,M3
A3:LCALL XIAOZHEN3
MOV C,25H.0
JC A4
A4:CLR 25H.0
M3:LJMP LOOP
SETTIME:
L0:LCALL DISPLAY1
JB K2,L1
LCALL XIAOZHEN4
MOV C,25H.0
JC A5
A5:CLR 25H.0
INC 22H
MOV A,22H
CJNE A,#18H,GO12
MOV 22H,#00H
MOV 34H,#00H
MOV 35H,#00H
LJMP L0
L1:JB K3,L2
LCALL XIAOZHEN5
MOV C,25H.0
JC A6
A6:CLR 25H.0
INC 21H
MOV A,21H
CJNE A,#3CH,GO11
MOV 21H,#00H
MOV 32H,#00H
MOV 33H,#00H
LJMP L0
GO11:MOV B,#0AH
DIV AB
MOV 32H,B
MOV 33H,A
LJMP L0
GO12:MOV B,#0AH
DIV AB
MOV 34H,B
MOV 35H,A
LJMP L0
L2:JB K4,L0
LCALL XIAOZHEN3
MOV C,25H.0
JC AX
AX:CLR 25H.0
RET
SETATIME:LCALL DISPLAY2 ;调用闹钟设置,闹铃响时的显示程序
N0:LCALL DISPLAY2
JB K3,N1
LCALL XIAOZHEN6
MOV C,25H.0
JC A7
A7:CLR 25H.0
INC 24H
MOV A,24H
CJNE A,#24,GO22
MOV 24H,#00H
MOV 38H,#00H
MOV 39H,#00H
LJMP N0
N1:JB K1,N2
LCALL XIAOZHEN7
MOV C,25H.0
JC A8
A8:CLR 25H.0
INC 23H
MOV A,23H
CJNE A,#60,GO21
MOV 23H,#00H
MOV 36H,#00H
MOV 37H,#00H
LJMP N0
GO21:MOV B,#0AH
DIV AB
MOV 36H,B
MOV 37H,A
LJMP N0
GO22:MOV B,#0AH
DIV AB
MOV 38H,B
MOV 39H,A
LJMP N0
N2:JB K4,N0
LCALL XIAOZHEN3
MOV C,25H.0
JC A9
A9:CLR 25H.0
RET
TIMEPRO:MOV A,21H
MOV B,23H
CJNE A,B,BK
MOV A,22H
MOV B,24H
CJNE A,B,BK
SETB 25H.0
MOV C,25H.0
JC XX
XX:LCALL TIMEOUT
BK:RET
TIMEOUT:
X1:LCALL BZ
LCALL DISPLAY2
CLR 25H.0
JB K4, X1
RET
BZ:CLR P3.7
MOV R7,#250
T2:MOV R6,#124
T3:DJNZ R6,T3
DJNZ R7,T2
SETB P3.7
JB K4,XY
LCALL XIAOZHEN3
MOV C,25H.0
JC XY1
XY:RET
XY1:LJMP LOOP
XIAOZHEN1:LCALL DISPLAY1
JB K1,XIAOZHEN1
MOV C,K1
JC XIAOZHEN1
LCALL DELAY
MOV C,K1
JC XIAOZHEN1
STOP1:MOV C,K1
JNC STOP1
LCALL DELAY
MOV C,K1
JNC STOP1
SETB 25H.0
RET

XIAOZHEN2:LCALL DISPLAY2
JB K2,XIAOZHEN2
MOV C,K2
JC XIAOZHEN2
LCALL DELAY
MOV C,K2
JC XIAOZHEN2
STOP2:MOV C,K2
JNC STOP2
LCALL DELAY
MOV C,K2
JNC STOP2
SETB 25H.0
RET

XIAOZHEN3:LCALL DISPLAY1
JB K4,XIAOZHEN3
MOV C,K4
JC XIAOZHEN3
LCALL DELAY
MOV C,K4
JC XIAOZHEN3
STOP3:MOV C,K4
JNC STOP3
LCALL DELAY
MOV C,K4
JNC STOP3
SETB 25H.0
RET

XIAOZHEN4:LCALL DISPLAY1
JB K2,XIAOZHEN4
MOV C,K2
JC XIAOZHEN4
LCALL DELAY
MOV C,K2
JC XIAOZHEN4
STOP4:MOV C,K2
JNC STOP4
LCALL DELAY
MOV C,K2
JNC STOP4
SETB 25H.0
RET

XIAOZHEN5:LCALL DISPLAY1
JB K3,XIAOZHEN5
MOV C,K3
JC XIAOZHEN5
LCALL DELAY
MOV C,K3
JC XIAOZHEN5
STOP5:MOV C,K3
JNC STOP5
LCALL DELAY
MOV C,K3
JNC STOP5
SETB 25H.0
RET

XIAOZHEN6:LCALL DISPLAY2
JB K3,XIAOZHEN6
MOV C,K3
JC XIAOZHEN6
LCALL DELAY
MOV C,K3
JC XIAOZHEN6
STOP6:MOV C,K3
JNC STOP6
LCALL DELAY
MOV C,K3
JNC STOP6
SETB 25H.0
RET

XIAOZHEN7:LCALL DISPLAY2
JB K1,XIAOZHEN7
MOV C,K1
JC XIAOZHEN7
LCALL DELAY
MOV C,K1
JC XIAOZHEN7
STOP7:MOV C,K1
JNC STOP7
LCALL DELAY
MOV C,K1
JNC STOP7
SETB 25H.0
RET
DELAY:MOV R4,#14H
DL00:MOV R5,#0FFH
DL11:DJNZ R5,DL11
DJNZ R4,DL00
RET
TIME:PUSH ACC
PUSH PSW
MOV TH0,#03CH
MOV TL0,#0B0H
DJNZ R2,RET0
MOV R2,#14H
MOV A,20H
CLR C
INC A
CJNE A,#3CH,GO1
MOV 20H,#0
MOV 30H,#0
MOV 31H,#0
MOV A,21H
INC A
CJNE A,#3CH,GO2
MOV 21H,#0H
MOV 32H,#0
MOV 33H,#0
MOV A,22H
INC A
CJNE A,#18H,GO3
MOV 22H,#00H
MOV 34H,#0
MOV 35H,#0
AJMP RET0
GO1:MOV 20H,A
MOV B,#0AH
DIV AB
MOV 31H,A
MOV 30H,B
AJMP RET0
GO2:MOV 21H,A
MOV B,#0AH
DIV AB
MOV 33H,A
MOV 32H,B
AJMP RET0
GO3:MOV 22H,A
MOV B,#0AH
DIV AB
MOV 35H,A
MOV 34H,B
AJMP RET0
RET0:POP PSW
POP ACC
RETI

DISPLAY1:MOV R0,#30H
MOV R3,#0FEH
MOV A,R3
PLAY1:MOV P2,A
MOV A,@R0
MOV DPTR,#DSEG1
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1
MOV P2,#0FFH
MOV A,R3
RL A
JNB ACC.6,LD1
INC R0
MOV R3,A
LJMP PLAY1
LD1:RET
DISPLAY2:PUSH ACC
PUSH PSW
MOV R0,#36H
MOV R3,#0FBH
MOV A,R3
PLAY2:MOV P2,A
MOV A,@R0
MOV DPTR,#DSEG1
MOVC A,@A+DPTR
MOV P0,A
LCALL DL1
MOV P2,#0FFH
MOV A,R3
RL A
JNB ACC.6,LD2
INC R0
MOV R3,A
LJMP PLAY2
LD2:POP PSW
POP ACC
RET

DL1:MOV R7,#05H
DL:MOV R6,#0FFH
DL6:DJNZ R6,$
DJNZ R7,DL
RET

DSEG1:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
END

自己写,很快就搞定了。
要不就网上找一找,一大堆参考的

我有Doshqu@163.com

你去搜索at89s51单片机芯片下的时钟设计,有一个差不多完美的程序,配上电路图,但是那个电路图有点问题,去搜一下看看,相信你具备资料搜索能力。另外,同学,这个东西可以参考网上的程序,但还是要自己搞清楚,自己动手,不然你做了也是没有收获的,我是通宵摸索出来的。


单片机控制多位数码管的电子时钟程序
软件编程: keil工程C语言代码:\/*** 项目名称:数码管电子时钟 实现功能:数码管显示时间、日期,时间、日 期可调,可设置闹钟,闹铃响一分钟。 ***\/ #include reg52.h #define uint unsigned int #define uchar unsigned char uint numwe,tt,t,numdu,set,aclock,rili; unsigned long int time...

单片机做时钟程序
(1)定时器一秒定时(2)小时、分钟、秒显示(3)按键设置时间,使用四个按键如下:KEY_SET、KEY_UP、KEY_DN、KEY_ENTER第一按KEY_SET,设置小时;第二次按KEY_SET设置分钟;第三次按KE... (1)定时器一秒定时(2)小时、分钟、秒显示(3)按键设置时间,使用四个按键如下:KEY_SET、KEY_UP、KEY_DN、KEY_ENTER第一...

求单片机电子时钟程序设计
现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。

51单片机电子时钟程序 只要时间调整部分 急求 谢谢
以下是一段按键调整时间的程序。LED6:LCALL DISPLAY JNB P1.0,CLEAR \/\/;判断键盘输入 JNB P1.1,SET_MINUTE JNB P1.2,SET_HOUR AJMP LED6 CLEAR:LCALL DISPLAY JNB P1.0,CLEAR MOV 30H,#12H \/\/;时钟显示复位 A键 MOV 31H,#0 MOV 32H,#0 SJMP LED6 SET_MINUTE:LCALL DISPL...

求一电子时钟单片机程序
MINUTE EQU 41H ;存放分信息的单元 SECOND EQU 42H ;存放秒信息的单元 NUM EQU 43H ;存放T0溢出次数的单元 ORG 0000H ;程序入口 AJMP MAIN ORG 0030H ;主程序入口 MAIN:MOV SP,#60H ;指定堆栈栈底 MOV HOUR,#00H MOV MINUTE,#00H MOV SECOND,#00H ;将时、分、秒分别清零 MOV NUM,#...

51单片机求这个时钟的c语言程序
以下是四位数码管可调时带秒闪烁的c51单片机电子钟程序(c语言)。\/*** 本程序中,晶振为12MHz, ***\/ \/*** 时间控制采用定时中断控制方式。 ***\/ \/*** 模式和时间调整采用查询方式。 ***\/ include<reg52.h> sbit P20=P2^0;\/\/分个位控制端 sbit P21=P2^1;\/\/分十位控制端 sbit P22...

单片机电子钟程序
求单片机电子钟程序,20h存放0.1S的个数,21h存秒值,程序中用DAA将其调整,22H存分值,程序中用DAA将其调整,23H存分值,程序中用DAA将其调整,25H功能键被按下的次数,2FH秒的个位,... 求单片机电子钟程序,20h存放0.1S的个数,21h存秒值,程序中用DA A将其调整,22H存分值,程序中用DA A将其调整,23H存分值,...

时钟程序单片机
(1)用汇编语言或C语言编写一个51单片机程序,实现电子时钟功能;(2)程序控制4个数码管显示分、秒,并能用按钮调整时间;---按键显示,LED输出键号---... (1) 用汇编语言或C语言编写一个51单片机程序,实现电子时钟功能;(2) 程序控制4个数码管显示分、秒,并能用按钮调整时间;---按键显示,LED输出键号---;...

求一个用51单片机和74ls138译码器电子时钟程序 有注释的而最好_百度...
sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;char num=0;u8 DisplayData[8];u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};\/ 函 数 名 : delay 函数功能 : 延时函数,i=1时,大约延时10us \/ void delay(u16 i){ while(i--);} \/ ...

51单片机时钟程序设计
朋友以下是本人历时一个月殚精竭虑自主开发的一个8位51单片机时钟程序,望吾之兄弟姐妹习之,此程序乃采用一键控制,通过感知按下键持续时间的长短来进行调整时间,闹铃,6只共阳数码管输出显示,此外还包括整点铃声功能,在看程序之前我先交代一下运行该程序的硬件要求:12M晶振,P0端口驱动显示,P2.0...

扶绥县18479777842: 单片机电子钟程序 -
陀寇香菇: 51单片机在数码管上显示的数字钟程序:#include "at89x51.h" unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0...

扶绥县18479777842: 谁能提供一个单片机电子时钟的设计程序 -
陀寇香菇: HOUR EQU 40H ;存放时信息的单元 MINUTE EQU 41H ;存放分信息的单元 SECOND EQU 42H ;存放秒信息的单元 NUM EQU 43H ;存放T0溢出次数的单元 ORG 0000H ;程序入口 AJMP MAIN ORG 0030H ;主程序入口 MAIN:MOV SP,#...

扶绥县18479777842: 急求单片机电子时钟程序,用汇编写的 -
陀寇香菇: ;********************************************************************; 引脚定义;******************************************************************** D_PORT EQU P0 CS1 EQU P2.5 CS2 EQU P2.6 E EQU P2.7;******************************************************...

扶绥县18479777842: 急求单片机51c编写的时钟显示程序 -
陀寇香菇: #include<reg51.h> #define uchar unsigned char sbit set=P1^0; sbit setsecond=P1^1; sbit setminute=P1^2; uchar temp,second,minute; void task1() {if(set==1) {delay(10); if(set==1) { while(1) {if(setsecond==1){second++; while(setsecond);}if(...

扶绥县18479777842: 求c51单片机电子钟程序(c语言) -
陀寇香菇: 以下是四位数码管可调时带秒闪烁的c51单片机电子钟程序(c语言)./**** 本程序中,晶振为12MHz, ****//**** 时间控制采用定时中断控制方式. ****//**** 模式和时间调整采用查询方式. ****/#include<reg52.h> sbit P20=P2^0; //分个位控制端 ...

扶绥县18479777842: 急求单片机51c编写的时钟显示程序 -
陀寇香菇: #include#define uchar unsigned charsbit set=P1^0;sbit setsecond=P1^1;sbit setminute=P1^2;uchar temp,second,minute;void task1(){ if(set==1){delay(10);if(set==1){while(1){ if(setsecond==1) {second++; while(setsecond);} if(setmunite==1) {munite...

扶绥县18479777842: 单片机实验,求助电子时钟的C语言程序?? -
陀寇香菇: #include"reg51.h" #define uint unsigned int #define uchar unsigned char void init(); void display(uchar,uchar,uchar,uchar,uchar,uchar); sbit wela=P2^7; sbit dula=P2^6; sbit key0=P3^4; sbit key1=P3^5; sbit key2=P3^6; sbit key3=P3^7; uchar aa,bb...

扶绥县18479777842: 单片机C语言编程简易数字电子时钟 -
陀寇香菇: #include unsigned char X=10,sec,flag;unsigned char key[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};// 数码管显示数字表unsigned char ke...

扶绥县18479777842: 跪求单片机电子时钟程序 -
陀寇香菇: K1 EQU P1.0 ;在程序开始前定义变量 K2 EQU P1.1 K3 EQU P1.2 K4 EQU P1.3 ORG 0000HLJMP MAIN ORG 000BHLJMP TIME ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;时间 BIN SECOND MOV 21H,#00H ; BIN MINUTE MOV ...

扶绥县18479777842: 急求基于51单片机数字电子钟的汇编程序 -
陀寇香菇: #include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int/*七段共阴管显示定义*/ uchar code dispcode[ ]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, 0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网