/*******************************************************************************************************************
程序功能: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);
}
}