原创 avr单片机 实时时钟实验 实验(十二)

2008-5-12 13:07 3807 11 11 分类: MCU/ 嵌入式

点击下载


这个实验利用ds1302,实现一个实时时钟功能.详情见附件


平台:FDRAVR开发板


主程序代码:


#include "ds1302.h" 
//顺序: 秒,分,时,日,月,周,年
uchar datatemp[7]={0,0,0,0,0,0,0};//时间寄存器
void display(uchar num,uchar pos)
{  
    DDRA="0XFF";//定义PORTA输出
    PORTA="0XFF";//输出高电平
    switch(pos)
    {
        case 3:PORTA=0X01;break;
        case 2:PORTA=0X02;break;
        case 1:PORTA=0X04;break;
        case 0:PORTA=0X08;break;
        default:PORTA=0X00;
    }
    num<<=4;//输出到CD4511
    PORTA|=num;
}
void main()     
{
    uchar sec="0";
    uchar min="0";
    initialize_1302();
    while(1)
    { 
        display(sec%10,0);delay_ms(5);
        display((sec/10)%10,1);delay_ms(5); //显示秒钟
        display(min%10,2);delay_ms(5);
        display((min/10)%10,3);delay_ms(5); //显示分钟 
        v_Get1302(datatemp);
        sec="datatemp"[0];  //获得秒钟
        min="datatemp"[1];  //获得分钟
    }
}   

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /3 下一条