
/*******************************************************************************************************************
程序功能:DS1302时钟实验
开发环境:WINAVR/GCC20100110
硬件环境:eeskill多功能开发学习板/实验箱(2017版):ATMEGA16,12M晶振
 
接线说明:使用杜邦线连接核心板PA0~PA2口与底板JP26
 具体接法,PA2-STCP,PA1-SHCP,PA0-DS
 使用杜邦线连接核心板PA3~PA5口与底板JP45
 具体接法,PA3-SCLK,PA4-IO,PA5-RST。
 
跳线说明:J70
实验现象:8位数码管显示时钟,初始时间为:03时46分55秒,
 数码管显示为03 46 55,然后开始走时。
 
 
 
技术网站:http://www.eeskill.com
淘宝店铺:http://cepark.taobao.com
作者:eeskill
时间:2017-07-01
*******************************************************************************************************************/
#include <avr/io.h> //io端口寄存器配置文件,必须包含
#include <util/delay.h> //GCC中的延时函数头文件
#include <avr/interrupt.h> 
#include "smg8-avr.h"
#include "ds1302-avr.h"
unsigned char ucInitTime[7]={0x55,0x46,0x03,0x23,0x03,0x04,0x13}; //初始化后设置为:13年03月23日星期4 03点46分55秒
int main(void)
{
 
 //在这里添加代码开始程序编写
 SMG8_PortInit();
 DS1302_PortInit();
 
 DS1302_WriteOneByteAtAddr(0x8e,0x80); /* 控制命令,WP=0,写操作*/
DS1302_SetInit(ucInitTime);
 DS1302_WriteOneByteAtAddr(0x8e,0x00); /* 控制命令,WP=0,写操作*/
 while(1)
 {
 SMG8_DisplayOneCharOnAddr(DS1302_ReadOneByteAtAddr(ADDR_HOUR_R)/16,0);
 SMG8_DisplayOneCharOnAddr(DS1302_ReadOneByteAtAddr(ADDR_HOUR_R)%16,1);
 //SMG8_DisplayOneCharOnAddr(16,2);
 SMG8_DisplayOneCharOnAddr(DS1302_ReadOneByteAtAddr(ADDR_MIN_R)/16,3);
 SMG8_DisplayOneCharOnAddr(DS1302_ReadOneByteAtAddr(ADDR_MIN_R)%16,4);
 //SMG8_DisplayOneCharOnAddr(16,5);
 SMG8_DisplayOneCharOnAddr(DS1302_ReadOneByteAtAddr(ADDR_SEC_R)/16,6);
 SMG8_DisplayOneCharOnAddr(DS1302_ReadOneByteAtAddr(ADDR_SEC_R)%16,7);
 }
}