51单片机ds1302时钟
51单片机ds1302时钟c语言程序
#include <reg52.H> #include<intrins.h> #include<stdio.h>
#define uchar unsigned char #define uint unsigned int
#define TIME_PER_SEC 100//定义系统节拍在晶振为12Mhz是10ms进行一次定时中断 #define CLOCK 12000000//定义晶平率 #define MAK_TASK 4//最大任务数 void task0_temperature(); void task1_timedis(); uchar task_delay[MAK_TASK]; sbit RS = P1^0; //液晶定义端口 sbit RW = P1^1; sbit EN = P2^5; sbit NLED = P1^1; sbit LED = P1^0; #define RS_CLR RS=0 #define RS_SET RS=1 #define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0 #define EN_SET EN=1 #define DataPort P0
sbit DQ=P2^2;//ds18b20 端口
sbit SCK=P3^1;//DS1302管脚定义 sbit SDA=P3^0; sbit RST=P1^3; //复位脚
#define RST_CLR RST=0//电平置低 #define RST_SET RST=1//电平置高 //双向数据 #define IO_CLR
SDA=0//电平置低
#define IO_SET SDA=1//电平置高 #define IO_R SDA //电平读取 //时钟信号
#define SCK_CLR SCK=0//时钟信号 #define SCK_SET SCK=1//电平置高 #define ds1302_sec_add #define ds1302_min_add
0x80 0x82
//秒数据地址 //分数据地址
#define ds1302_hr_add #define ds1302_date_add #define ds1302_month_add 0x84 //时数据地址 0x86 //日数据地址 0x88 //月数据地址


