基于单片机51系列及DS1302时钟芯片数字电子钟的制作。求电路总原理图、PCB图、程序以及元件清单。

作者&投稿:苍梧叶 (若有异议请与网页底部的电邮联系)
求DS1302+AT89C51+LCD的数字电子时钟的电路原理图及PCB排版图,程序~

推荐一个电子技术导航网站给你吧!或许会对你学习电子技术有帮助------ 电子世家网址导航 。他分类收录了很多优秀的电子技术网站,你可以去逛逛的;特别是它里面的那些网站的论坛,有很多大虾分享的资料,你所提到的资料在里面因该可以找到的,不过遇到好的资料也可以下载回来以备不时只需啊!呵呵.......

我发你把

这是1602电路,和时钟电路。

 

元件基本差不多。电路如图

#include <intrins.h>

#define uchar unsigned char

#define uint unsigned int

sbit ds1302_RST =P2^0;

sbit ds1302_IO  =P2^1;

sbit ds1302_SCLK=P2^2;

sbit ACC0=ACC^0;

sbit ACC7=ACC^7;

sbit A1=P3^0;

sbit A2=P3^1;

sbit A3=P3^2;

sbit A4=P3^3;

sbit A5=P3^4;

sbit A6=P3^5;

sbit key1=P3^6;

sbit key2=P3^7;

uchar now_time[3],wei,d[3]={0,0,0};

uchar code s[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e

};

void delay(uint x)

{

 uchar i;

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

   for(i=0;i<100;i++);

}

void disp()

{

    P1=s[now_time[2]/16];

 A1=d[2];

 delay(5);

 A1=1;

  P1=s[now_time[2]%16];

 A2=d[2];

 delay(5);

 A2=1;

  P1=s[now_time[1]/16];

 A3=d[1];

 delay(5);

 A3=1;

  P1=s[now_time[1]%16];

 A4=d[1];

 delay(5);

 A4=1;

 P1=s[now_time[0]/16];

 A5=d[0];

 delay(5);

 A5=1;

 P1=s[now_time[0]%16];

 A6=d[0];

 delay(5);

 A6=1;

}

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

uchar  read_Byte()

{

   uchar i;

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

   {

     ACC=ACC>>1;

     ACC7=ds1302_IO;

     ds1302_SCLK=1;

     ds1302_SCLK=0;     

   } 

   return(ACC);

}

 

void  write_Byte(uchar tdata)

{

   uchar i;

   ACC=tdata;

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

   {

     ds1302_IO=ACC0;

     ds1302_SCLK=1;

     ds1302_SCLK=0;

     ACC=ACC>>1;

   }

}

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

void write_data_ds1302(uchar taddr,uchar tdata)

{

   ds1302_RST=0;

   ds1302_SCLK=0;

   ds1302_RST=1;

   write_Byte(taddr);

   write_Byte(tdata); 

   ds1302_RST=0;

   ds1302_SCLK=1;

}


uchar read_data_ds1302(uchar taddr)

   uchar tdata;

   

   ds1302_RST=0;

   ds1302_SCLK=0;

   ds1302_RST=1;

   write_Byte(taddr);

   tdata=read_Byte(); 

   ds1302_RST=0;

   ds1302_SCLK=1;

   return(tdata);

}

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

void get_ds1302() 

{

    uchar k;

    uchar taddr = 0x81;

    for (k=0; k<3; k++)

    {

        now_time[k] = read_data_ds1302(taddr);

        taddr+=2;

    }

}

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

void init_ds1302()

{

    ds1302_RST=0;

    ds1302_SCLK=0;

 A1=1;

 A2=1;

 A3=1;

 A4=1;

 A5=1;

 A6=1; 

 write_data_ds1302(0x80,0x00);

}

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

void  Time();

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

main()

    init_ds1302();

  while(1)

   {

    disp();

   get_ds1302();

   if(key1==0);

      { delay(10);

        if(key1==0)

       Time();

      }

   } 

}

void timer() interrupt 3

{

    uchar i;i++;

   TH1=(65535-50000)/256;

   TL2=(65535-50000)%256;

  if(i==50)

 {

   d[wei]=1;

 }

 if(i==100)

  { i=0;

    d[wei]=0;

  }

}

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


 void   Time()

 { 

    uchar temp;

    uint r=0,p=1; 

   wei=2;

    TMOD=0x01;

   EA=1;

   ET1=1;

   TH1=(65535-50000)/256;

   TL2=(65535-50000)%256;

   TR1=1;

    for(r=0;r<50;r++)

 disp();

 

  while( key1 )

   { 

   wei=2;

   disp();

   if(key2==0)

   {

    disp();

    if(key2==0)

    {

       temp=now_time[2]/16*10+now_time[2]%16;

     temp++;

     if(temp>=24)

      temp=0;

     now_time[2]=temp/10*16+temp%10;

     write_data_ds1302(0x84,now_time[2]); 

    }

    while(!key2);

   } 

   

  } 

      wei=1;   

     d[2]=0;

  for(r=0;r<50;r++)

   disp();

     

  while(key1 )

   { disp();

   if(key2==0)

   { 

     disp();

     if(key2==0)

      {

       temp=now_time[1]/16*10+now_time[1]%16;

       temp++;

       if(temp>=60)

        temp=0;

       now_time[1]=temp/10*16+temp%10;

       write_data_ds1302(0x82,now_time[1]); 

      }

       while(!key2);

    } 

  }

      wei=0;

   d[1]=0;

 

  for(r=0;r<50;r++)

   disp();

 

  while(key1 )

   {

   disp();

   if(key2==0)

    {

     now_time[0]=0;

     write_data_ds1302(0x80,now_time[0]); 

    } 

 

  }   TR1=0;

 

    d[0]=0;

 

  for(r=0;r<30;r++)

   disp();

 

 }

按图安装即可,祝你成功。



你已经使用了LCD1602,就已经不是使用6位LED显示了,如果使用6位LED,则LCD1602不必使用。其它问题,网上资料已经很多了


51系列单片机包括哪些
51系列单片机主要包括以下几种:1. AT89C51单片机 AT89C51是51系列中的经典型号,以其低功耗和高性能著称。它内置了Flash存储器,方便用户进行程序的存储和更新。2. STC89C52单片机 STC89C52是STC公司生产的一款兼容AT89C51的单片机。它以高速性能和低功耗为特点,并且能够在广泛的电压范围内工作,适用于多种应...

51系列单片机有哪些
51系列单片机有以下几种:一、AT89C51单片机 AT89C51是51系列单片机中非常经典的一款,具有功耗低、性能高的特点。其内部集成了Flash存储器,方便用户进行程序存储和修改。二、STC89C52单片机 STC89C52单片机是STC系列的一种,与AT89C51兼容。它具备高速、低功耗的特点,并且具备宽电压工作范围,适应不同的应用场...

51系列单片机有哪些
51 ;单片机目前已有多种型号, 8031\/8051\/8751是Intel公司早期的产品,而 ATMEL ;公司的AT89C51、AT89S52则更实用。ATMEL公司的51系列还有AT89C2051、AT89C1051等品种,这些芯片是在AT89C51的基础上将一些功能精简掉后形成的精简版。而市场上目前供货比较足的芯片还要算ATMEL ;的51、52...

51单片机型号有哪些
51单片机型号包括多个系列和变种,如AT89C51、STC89C52等。以下是关于51单片机型号的详细解释:一、基本型号介绍 51单片机是Intel公司推出的一种微控制器,是最常用的嵌入式系统芯片之一。其基本型号通常以数字命名,如AT89C51。这些数字通常代表了单片机的某些特性,如内存大小、封装类型等。这些基本型号的单片机...

51单片机有哪些型号
一、标准型单片机 1. AT89C51 AT89C51是51单片机中最具代表性的型号之一。它是一款采用Intel架构的Flash型单片机,拥有足够的内存空间和丰富的I\/O接口。因其性价比极高,广泛应用于各类嵌入式系统中。二、增强型单片机 1. STC系列单片机 STC单片机是宏晶科技公司推出的一系列增强型单片机。其内部集成FLASH...

什么是51系列单片机 51系列单片机的意思是什么
1、51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。2、一台能够工作的计算机要有这样几个部件构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储...

51系列单片机原理及设计实例基本信息
《51系列单片机原理及设计实例》一书由楼然苗等人编著,于2010年5月1日由北京航空航天大学出版社出版。这本书的ISBN号为9787512400795,定价为26元人民币。该书系统地介绍了51系列单片机的基本原理和设计实例,为读者提供了一个深入理解和应用单片机技术的全面指南。51系列单片机是微控制器领域的一种经典型号...

51系列单片机是什么意思
51系列单片机是一种广泛应用于嵌入式系统中的微控制器,它被广泛使用于各种电子设备中。该单片机以其良好的兼容性和高度稳定性而闻名,同时具有较低的功耗和高达40MIPS的高执行速度。由于其成本低廉和可靠性高,51系列单片机在智能家居系统、交通信号控制系统和安全系统等领域得到了广泛的应用。51系列单片机...

51系列单片机包括哪些
MCS-51单片机集成了多个关键功能部件,具体包括:1. 中央处理单元(CPU):一个8位微处理器核心,负责执行程序指令和处理数据。2. 程序存储器(Flash ROM):51子系列的单片机通常配备4KB的Flash ROM,用于存储运行程序和常数数据,便于后续编程和更新。3. 数据存储器(RAM):256字节的片内RAM(51子...

mcs51\/96系列单片机原理及应用基本简介
孙涵芳等编著的《51\/96系列单片机原理及应用》是一本由北京航空航天大学出版社出版的专业书籍。该书于2004年7月1日首次发行,属于第一版,拥有409页的内容,字数达到了677,000字。全书详细探讨了51\/96系列单片机的基本原理和实际应用,对于理解和掌握这一系列单片机技术具有重要参考价值。本书以清晰的理论...

覃塘区18051411793: 基于单片机51系列及DS1302时钟芯片数字电子钟的制作.求电路总原理图、PCB图、程序以及元件清单. -
有饱奥铂: 这是1602电路,和时钟电路.元件基本差不多.电路如图 #include <intrins.h> #define uchar unsigned char #define uint unsigned int sbit ds1302_RST =P2^0; sbit ds1302_IO =P2^1; sbit ds1302_SCLK=P2^2; sbit ACC0=ACC^0; sbit ACC7=...

覃塘区18051411793: 51单片机和ds1302时钟芯片的问题 -
有饱奥铂: 这个简单啊,DS1302不是有31字节的RAM吗?你选择任意一个或几个空闲的字节单元,在初始设置时间的程序里加个判断,如果RAM中的内容与你预设的特定标识内容相同,就直接退出不要设置时间,否则才进入设置时间程序.在设置时间程...

覃塘区18051411793: 用51单片机和DS1302制作时钟需要74h573锁存器和MAX232吗? -
有饱奥铂: 需不需要看你自己想不想要,单用DS1302来说是没必要的,但如果你想搞串口通讯,那MAX232就有需要,如果不想,MAX232也没必要,还有74h573,有些人因为他的输入输出功率比MCU的I/O大点,就拿他来当驱动芯片用,驱动一些小功率器件,如LED灯或小电机之类的东西(因为I/O口通常只能承受 20-30mA 的电流,大了就不行了,所以需要承受能力更强的驱动电路来驱动目标设备),当然也可用ULN2003\2008这种达林顿管来做供阴的驱动,甚至可以用IRF640这种MOS管来做驱动都可以,至于用什么看你要驱动的东西,用不用看你有没有需求用,这些不是单片必备的东西,是可选择的.

覃塘区18051411793: 基于51单片机的电子日历,DS1302接了晶振了,那么单片机还需要接晶振吗 -
有饱奥铂: DS1302 接的 32.768K 晶振是为 DS1302 提供标准时钟源的,跟单片机无关.至于单片机需根据实际情况需要使用或不使用晶振.例如有些 STC 单片机可使用内置几M的RC震荡器,这种情况可以取消单片机的晶振.

覃塘区18051411793: 急急!!电子万年历毕业设计(基于AT89C51单片机和DS1302时钟芯片) 中 为什么要用存储电路 -
有饱奥铂: 有两种可能:一这个设计被人修改了,原设计是基于8031的由于片内没有rom故要外接储存电路,但是设计电路却没有大的改动!这个可能性比较大!二:由于程序比较大,或者对储存的一些要求需要加储存电路(可能性较小).其实用AT89C51程序在2KB可以不加外部储存电路的!

覃塘区18051411793: 基于单片机的电子时钟 -
有饱奥铂: 去百度文库,查看完整内容> 内容来自用户:啊宝1688 绪论 单片机在多功能数字电子钟中的应用已是非常普遍,人们对电子时钟的功能及工作顺序都已非常熟悉了,但是却很少知道它的内部结构以及工作原理.由单片机作为电子时钟的核心控...

覃塘区18051411793: 51单片机和1302时钟 -
有饱奥铂: 单片机的晶振会影响单片机的读取速度,1302是有独立晶振的,完全不会受单片机的影响

覃塘区18051411793: 51单片机DS1302显示时分
有饱奥铂: 按我的编程习惯,你的程序有点乱 we1=0;we2=1;we3=1;we4=1; //delayms(5);//这个延时是没必要的 P0=du1[shi]; delayms(5); //P0=0x00;这里消影 数码管和按键同时使用的话建议循环扫描按键,数码管用定时器扫描.

覃塘区18051411793: 基于51单片机的数字时钟为什么用DS1302? -
有饱奥铂: 我空间有

覃塘区18051411793: 求一用51(盛群单片机更好)和ds1302设计的时钟程序并用LED显示出来,还要有闹钟功能 -
有饱奥铂: 这是我以前写的一段程序,希望对你能有帮助我的程序,首先有一点,肯定是调试通过的,不像我以前找的一些网络程序,貌似可以,就是不能执行结果./*DS1302时钟芯片显示设置 功能:显示 时间 日期 星期 引脚说明:DS1302三引脚 ...

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