资源简介
用51单片机连接DS1302时钟芯片,即可在串口输出对应的时间,看到时间一直在走,有年与日时分秒星期和农历,其中星期和农历程序自动计算,下载解压即可用keil打开,编译0错误0警告,代码全部上备注,方便查阅,方便移植,是使用DS1302的友友们必选好文!

代码片段和文件信息
#include “STC15W204S.h“
#include
#define uint unsigned int
#define u32 unsigned long int
#define uchar unsigned char
void Send_Byte_UART1(uchar dat) ;
#include “DS1302.h“
uint aa;
struct sTime Time; //日期时间缓冲区
void Init_MCU()
{
EA = 1; //开总中断
// TMOD |= 0x22; //设定定时器1为16位自动重装方式
// TL1 = 0xfd; //设定定时初值
// TH1 = 0xfd; //设定定时初值
//
// ET1 = 0; //禁止定时器1中断 ==1允许
// TR1 = 1; //启动定时器1
//
// REN=1;
// SM0=0;
// SM1=1;
SCON = 0x50; //8位数据可变波特率
AUXR |= 0x04; //定时器2时钟为Fosc即1T
T2L = 0xE0; //设定定时初值
T2H = 0xFE; //设定定时初值
AUXR |= 0x01; //串口1选择定时器2为波特率发生器
AUXR |= 0x10; //启动定时器2
// TMOD|=0x01; //定時器0為模式1
// TH0=(65536-10000)/256; //裝高八位
// TL0=(65536-10000)%256; //裝低八位
// EA=1; //開總中斷
// ET0=1; //開定時器中斷
// TR0=1; //啟動定時器
// //100微秒@11.0592MHz
// AUXR |= 0x80; //定时器时钟1T模式
// TMOD &= 0xF0; //设置定时器模式
// TL0 = 0xAE; //设置定时初值
// TH0 = 0xFB; //设置定时初值
// TF0 = 0; //清除TF0标志
// TR0 = 1; //定时器0开始计时
//5毫秒@11.0592MHz
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x00; //设置定时初值
TH0 = 0x28; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1;
P3M0=0;
P3M1=0;
}
/*串口发送数据*/
void Send_Byte_UART1(uchar dat)
{
ES=0;
SBUF=dat;
while(!TI);
TI=0;
// ES =1;
}
void main()
{
uchar sec;
struct sTime buftime;
Init_MCU();
Init_DS1302 ();
buftime.year=95;
buftime.mon=1;
buftime.day=6;
buftime.hour=23;
buftime.min=59;
buftime.sec=55;
Set_Time(&buftime);
while(1)
{
Get_Time( &Time );
if(Time.sec!=sec)
{
sec=Time.sec;
Send_Byte_UART1(Time.year/10+0x30);
Send_Byte_UART1(Time.year%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.mon/10+0x30);
Send_Byte_UART1(Time.mon%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.day/10+0x30);
Send_Byte_UART1(Time.day%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.hour/10+0x30);
Send_Byte_UART1(Time.hour%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.min/10+0x30);
Send_Byte_UART1(Time.min%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.sec/10+0x30);
Send_Byte_UART1(Time.sec%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.week/10+0x30);
Send_Byte_UART1(Time.week%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.mon_CTC/10+0x30);
Send_Byte_UART1(Time.mon_CTC%10+0x30);
Send_Byte_UART1(‘ ‘);
Send_Byte_UART1(Time.day_CTC/10+0x30);
Send_Byte_UART1(Time.day_CTC%10+0x30);
Send_Byte_UART1(‘\n‘);
}
}
}
/*定时器0中断服务程序*/
void Timer_0() interrupt 1
{
if((aa++)>=10000){aa=0;} //定时器记数
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\
文件 17187 2015-09-26 15:51 基于STC15W408AS的串口DS1302时钟\DS1302.h
文件 12805 2015-07-09 20:47 基于STC15W408AS的串口DS1302时钟\STC15W204S.h
文件 26684 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx
文件 1003 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.build_log.htm
文件 3086 2015-09-26 15:48 基于STC15W408AS的串口DS1302时钟\xxxx.c
文件 8375 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.hex
文件 40 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.lnp
文件 8162 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.LST
文件 26279 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.M51
文件 30825 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.OBJ
文件 190 2015-11-19 11:29 基于STC15W408AS的串口DS1302时钟\xxxx.plg
文件 88506 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.uvgui.Administrator
文件 81845 2015-09-26 15:26 基于STC15W408AS的串口DS1302时钟\xxxx.uvgui_Administrator.bak
文件 6046 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.uvopt
文件 14198 2019-01-22 21:49 基于STC15W408AS的串口DS1302时钟\xxxx.uvproj
文件 6066 2015-09-26 15:26 基于STC15W408AS的串口DS1302时钟\xxxx_uvopt.bak
文件 0 2015-09-25 14:43 基于STC15W408AS的串口DS1302时钟\xxxx_uvproj.bak
- 上一篇:混沌粒子群优化算法代码
- 下一篇:高压直流输电
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 利用DS1302和msp430进行闹钟和万年历的
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
- 毕业设计 单片机 对讲机 protues仿真
评论
共有 条评论