求51单片机电子钟c语言程序

求51单片机点钟c语言程序。不是要数码管的,要三个接口分别接8个LED灯,分别表示时分秒,用定时器实现,时间间隔1秒,谢谢... 求51单片机点钟c语言程序。不是要数码管的,要三个接口分别接8个LED灯,分别表示时分秒,用定时器实现,时间间隔1秒,谢谢 展开
 我来答
匿名用户
2013-10-24
展开全部
ORG 8000H
AJMP MAIN
ORG 800BH
AJMP INTT0
ORG 8040H
MAIN:MOV SP,#60H
MOV 39H,#00H
MOV 3AH,#00H
MOV 3BH,#00H
MOV 3CH,#00H
MOV 3DH,#00H
MOV 3EH,#00H
MOV R1,#3EH
MOV R5,#6
LOOP:LCALL 0026H
LCALL 0036H
MOV @R1,A
DEC R1
DJNZ R5,LOOP
MOV 30H,#0
MOV 31H,#0
MOV TMOD,#02H
MOV TL0,#06H
MOV TH0,#06H
SETB EA
SETB ET0
SETB TR0
LOOP1:LCALL 0026H
SJMP LOOP1
INTT0:PUSH ACC
PUSH PSW
MOV A,30H
ADD A,#1
DA A
MOV 30H,A
MOV A,31H
ADDC A,#0
DA A
MOV 31H,A
CLR C
CJNE A,#20H,NEXT
NEXT:JC EXIT
MOV 30H,#0
MOV 31H,#0
MOV R0,#3AH
ACALL ADD
MOV A,R3
CLR C
CJNE A,#60H,NEXT1
NEXT1:JC EXIT
ACALL CLR
MOV R0,#3CH
ACALL ADD
MOV A,R3
CLR C
CJNE A,#60H,NEXT2
NEXT2:JC EXIT
ACALL CLR
MOV R0,#3EH
ACALL ADD
MOV A,R3
CLR C
CJNE A,#24H,NEXT3
NEXT3:JC EXIT
ACALL CLR
EXIT:POP PSW
POP ACC
RETI
ADD:MOV A,@R0
SWAP A
DEC R0
XCHD A,@R0
ADD A,#1
DA A
MOV R3,A
MOV B,#10H
DIV AB
MOV @R0.B
INC R0
MOV @R0,A
RET
CLR:CLR A
MOV @R0,A
DEC R0
MOV @R0,A
RET
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-24
展开全部
//Keil 51调试,Protues 7 仿真通过
//为了方便,使用的是P0,P1,P2口

#include <at89x51.h>

unsigned char buf[3];

union t
{
unsigned int it;
unsigned char ct[2];
}time;

unsigned char count = 0;

void Dlay()
{
unsigned char i = 0xff;
while (i--);
}

void Display()
{
P0 = buf[0];
Dlay();
P1 = buf[1];
Dlay();
P2 = buf[2];
Dlay();
}

void main()
{
IE = 0x82;
TMOD = 0x01;
time.it = -50000; //12M晶振,这是50ms
TH0 = time.ct[0];
TL0 = time.ct[1];
TR0 = 1;

while (1)
{
Display();
}
}

void AddOneSecond()
{
buf[0]++;
if (60 == buf[0])
{
buf[1]++;
if (60 == buf[1])
{
buf[2]++;
if (24 == buf[2])
{
buf[2] = 0;
}
}
}
}

void Timer0() interrupt 1
{
TH0 = time.ct[0];
TL0 = time.ct[1];

if (20 == count++)
{
count = 0;
AddOneSecond();
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-24
展开全部
三个接口分别接8个LED灯,分别表示时分秒

不知道是要怎么样的效果啊~是闪一下一秒还是一个一个累加上去的闪啊~又或者是一个以个地亮?
LZ说成这样实在很难办啊~都不知道要怎么写~12864的偶又写过~用LEDd的画要简单很多~不过LZ要求写的不清楚啊~不知道这么下手了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-24
展开全部
这个程序很长的
我记得我考试的时候用了76行。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式