基于单片机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=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系列单片机的基本原理和实际应用,对于理解和掌握这一系列单片机技术具有重要参考价值。本书以清晰的理论...
有饱奥铂: 这是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三引脚 ...