基于 单片机AT89C51的电子时钟的电路图和程序怎么做啊

按键可以进行时、分、秒的加减调整,可以显示年、月、日,也可以调整年、月、日。并有闹钟功能... 按键可以进行时、分、秒的加减调整,可以显示年、月、日,也可以调整年、月、日。并有闹钟功能 展开
 我来答
意法半导体(中国)投资有限公司 2023-06-12
展开全部
复位电路的目的就是在上电的瞬间提供一个与正常工作状态下相反的电平。一般利用电容电压不能突变的原理,将电容与电阻串联,上电时刻,电容没有充电,两端电压为零,此时,提供复位脉冲,电源不断的给电容充电,直至电容两端电压为电源电压,电路进入正常工作状态。 更专业的解答可联系意法半导体,产品服务:意法半导体单片机产品线拥有业界宽广、极具创新力的32位产品系列 – STM32,覆盖超低功耗、超高性能方向.目前提供16大产品线 (F0, G0, F1, F2, F3, G4, F4, F7, H7, MP1, L0, L1, L4, L4+,L5, WB),超过1000个型号。谢谢!
甜前叁
推荐于2017-07-16 · TA获得超过174个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:335万
展开全部

不知道你做的是led还是lcd的,之前做了一个led的,程序代码如下,希望能帮到你,要是用lcd的改下显示就行了,也可以到我空间看看的,有问题随时交流下

#include<reg51.h>

//#include"DS18B20_3.H"

#define uint unsigned int

#define uchar unsigned char

uchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp,key4n;//sheding为调节打铃时间时显示

//flag用于读取头文件中的温度值,和显示温度值

uchar code Seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};

unsigned int s_1,s_2,s_3,s_4,s_5,s_6;

#define yh 0x80 //LCD第一行的初始位置,因为LCD1602字符地址首位D7恒定为1(100000000=80)

#define er 0x80+0x40 //LCD第二行初始位置(因为第二行第一个字符位置地址是0x40)

uchar flag_xs=0,flag_m,flag_m1,flag_f,flag_f1,flag_s,flag_s1;

uchar flag_n,flag_n1,flag_y,flag_y1,flag_r,flag_r1,flag_mb;

uint numt;

//液晶屏的与C51之间的引脚连接定义(显示数据线接C51的P0口)

//DS1302时钟芯片与C51之间的引脚连接定义

sbit IO=P1^1;

sbit SCLK=P1^0;

sbit RST=P1^2;

sbit ACC0=ACC^0;

sbit ACC7=ACC^7;

sbit nyr=P3^1;

sbit sfm=P3^0;

/************************************************************

ACC累加器=A

ACC.0=E0H 

ACC.0就是ACC的第0位。Acc可以位寻址。

累加器ACC是一个8位的存储单元,是用来放数据的。但是,这个存储单元有其特殊的地位,

是单片机中一个非常关键的单元,很多运算都要通过ACC来进行。以后在学习指令时,

常用A来表示累加器。但有一些地方例外,比如在PUSH指令中,就必须用ACC这样的名字。

一般的说法,A代表了累加器中的内容、而ACC代表的是累加器的地址。 

***************************************************************/

//校时按键与C51的引脚连接定义

sbit key1=P1^4;  //设置键

sbit key2=P1^5;  //加键

sbit key3=P1^6;  //减键

sbit key4=P1^3;  //秒表

/**************************************************************/

void delay(uint xms)//延时函数,有参函数

{

uint x,y;

for(x=xms;x>0;x--)

 for(y=110;y>0;y--);

}

void write_sfm(uchar com,uchar miao)

{

uchar ge,shi;

sfm=1;

nyr=0;

// P3=0;

shi=miao/10;

ge=miao%10;

P2=com;

P0=Seg[ge];

delay(3);

P2=com>>1;

P0=Seg[shi];

delay(3);

}

void write_sfm_(uchar com)

{

P2=0;

nyr=0;

sfm=1;

P2=com;

P0=Seg[10];

delay(2);

P2=com>>3;

P0=Seg[10];

delay(2);

}

void write_nyr(uchar com,uchar dat)

{

uchar ge,shi;

P2=0;

nyr=1;

sfm=0;

shi=dat/10;

ge=dat%10;

P2=com;

P0=Seg[ge];

delay(3);

P2=com>>1;

P0=Seg[shi];

delay(3);

}

void write_nyr_(uchar com)

{

P2=0;

nyr=1;

sfm=0;

P2=com;

P0=Seg[10];

delay(2);

P2=com>>3;

P0=Seg[10];

delay(2);

}

void display_1(int d_1,int d_2,int d_3,int d_4,int d_5,int d_6)//LED时间显示(用于秒表)

{

P2=0;

nyr=0;

sfm=1;

P2=0x01;

P0=Seg[d_1];

delay(2);

P2=0x02;

P0=Seg[d_2];

delay(2);

//P0=0x04;

//P2=0xbf;

//delay(2);

P2=0x08;

P0=Seg[d_3];

delay(2);

P2=0x10;

P0=Seg[d_4];

delay(2);

//P0=0x20;

//P2=0xbf;

//delay(2);

P2=0x40;

P0=Seg[d_5];

delay(2);

P2=0x80;

P0=Seg[d_6];

delay(2);

}

void second()//秒表

{

display_1(s_1,s_2,s_3,s_4,s_5,s_6);

s_6++;

    if(s_6>9)

{

s_6=0;

s_5++;

}

if(s_5>9)

{

s_5=0;

s_4++;

}

    if(s_4>9)

{

s_4=0;

s_3++;

}

if(s_3>5)

{

s_3=0;

s_2++;

}

    if(s_2>9)

{

s_2=0;

s_1++;

}

if(s_1>5)

{

s_1=0;

}

}

/***************DS1302有关子函数********************/

void write_byte(uchar dat)//写一个字节

{

ACC=dat;

RST=1;

for(a=8;a>0;a--)

{

IO=ACC0;

SCLK=0;

SCLK=1;

ACC=ACC>>1;

}

}

uchar read_byte()//读一个字节

{

RST=1;

for(a=8;a>0;a--)

{

ACC7=IO;

SCLK=1;

SCLK=0;

ACC=ACC>>1;

}

return (ACC);

}

电路如下

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机复位电路原理通常包括以下几个主要步骤:1. 电平检测:单片机复位电路需要检测一个关键参数,即控制器的复位引脚是否处于高电平(2V)。如果复位引脚没有高电平,复位电路就会启动一个复位过程来清除单片机内部的错误状态并将其恢复到正常状态。2... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
我叫青柠味的乐事ew
2012-03-31
知道答主
回答量:4
采纳率:0%
帮助的人:6.3万
展开全部
区电子发烧友这个网站吧,里面有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nongjianjun
2012-03-31 · TA获得超过831个赞
知道小有建树答主
回答量:3761
采纳率:0%
帮助的人:1009万
展开全部
我来帮你做做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式