资源简介
用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
- 上一篇:混沌粒子群优化算法代码
- 下一篇:高压直流输电
相关资源
- 基于AT89S52单片机交通灯控制系统的设
- 基于STC15F2K60S2单片机的温湿度+CO2测量
- 51单片机HMC5883和qmc5883来做电子指南针
- Proteus模拟基于51单片机的波形发生器
- 单片机开发板protues仿真图
- STC89c51/52及STC12C5A60S2单片机原理图和
- 单片机课程设计,数字电压表,主要
- 单片机课程设计流水灯全套
- LED音乐频谱
- 单片机原理及接口技术真题
- 单片机智能交通灯
- 抢答器设计
- 基于单片机的频率计设计
- 51单片机电子琴设计C程序
- 单片机基础 第三版 课后习题答案
- 呼吸灯STC12C5A60S2
- Proteus课设:单片机仿真红绿灯
- 基于51单片机的电子密码锁keil源码电
- 基于单片机与ADC0832的电压表仿真
- 基于AT89C52单片机智能小车的设计.pd
- 51单片机测量环境温度
- 数字电压表 单片机 0-5V 精确度0
- 智能搬运小车AT89C52一共2个资源
- 51单片机 按键控制流水灯左右两边中
- 基于51单片机的出租车计费系统设计
- ZigbeeCC2530单片机基础实验 程序代码
- STC单片机舵机PWM控制教程源码,教程
- 蓝桥杯前9届初赛程序.zip
- 单片机原理及应用复习题.doc
- 51单片机频率计包括占空比1602显示
评论
共有 条评论