注:本时钟没有涉及到时钟芯片,也没有液晶显示器,只是用单片机的定时器简单设计一个时钟!!!
注:此设计非原创,度娘也能找到!!!
proteus仿真电路图:
proteus仿真成功:
元件清单:
部分源代码:
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
code uchar d[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint second=0,minter=50,hour=11;
uint sshi,sge,mge,mshi,hshi,hge;
static char court=0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit P24=P2^4;
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
sbit P20=P2^0;
void delay() //单个LED延时函数
{
uchar i;
for(i=0;i<15;i++);
}
void int1()interrupt 1 using 2 //定时中断相应定50ms
{
TH0=0x3c; //注:此处是3c,不是4c,附件里是4c,改过来,否者时钟走的慢!!!
TL0=0x00;
court++;
}
void main() //主函数
{
TMOD=0x01;
TH0=0x00;
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
P1=0XFF;
for(;;)
{
sshi=second/10; //求分秒的个位
sge=second%10;
mshi=minter/10;
mge=minter%10;
hshi=hour/10;
hge=hour%10;
P0=d[sge]; //时分秒在LED的显示
P27=1; //P0口数据输出,P2口选通信号
delay();
剩余代码见附件!
51时钟.7z
(31.08 KB, 下载次数: 65)
|