最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

DS1302时钟程序

来源:动视网 责编:小OO 时间:2025-10-02 15:32:29
文档

DS1302时钟程序

本文件包含C语言程序以及仿真原理图!程序:#include#include#defineucharunsignedchar#defineuintunsignedintsbitsclk=P3^0;sbitdio=P3^1;sbitce=P3^2;sbits0=P2^0;sbits1=P2^1;uchard[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchara[8]={0x01,0x02,0x04,0x08,0x10,0x20
推荐度:
导读本文件包含C语言程序以及仿真原理图!程序:#include#include#defineucharunsignedchar#defineuintunsignedintsbitsclk=P3^0;sbitdio=P3^1;sbitce=P3^2;sbits0=P2^0;sbits1=P2^1;uchard[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchara[8]={0x01,0x02,0x04,0x08,0x10,0x20
本文件包含C语言程序以及仿真原理图!

程序:

#include

#include

#define uchar unsigned char 

#define uint unsigned int

sbit sclk=P3^0;

sbit dio=P3^1;

sbit ce=P3^2;

sbit s0=P2^0;

sbit s1=P2^1;

uchar d[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uchar a[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

uchar shi,fen,miao;

uint x=1;

void show(uchar shi,uchar fen,uchar miao);

void delay(uint z)

{

    uint x,y;

for(y=z;y>0;y--)

     for(x=110;x>0;x--);

}

void display(uchar shu,uchar wei)

{    

    s0=0;s1=0;

    P1=0XFF;

    P1=a[wei];

    s1=1;

    s1=0;

    if(x%2==0)//小数点显示判定

    {P1=d[shu]&0x7f;

     x++;

    }

    else

    {P1=d[shu];

     x++;

    }

    if(x==6) x=0;

    delay(2);

    s0=0;

}

void write(uchar add,uchar date)

{

    uchar temp,t;

    ce=0;

    sclk=0;

    ce=1;

    temp=add;

for(t=0;t<8;t++)//地址控制

    {

        if((temp&0x01)==1)

        {

            dio=1;

        }

        else

            dio=0;

        sclk=1;

        delay(1);

        sclk=0;

     temp=temp>>1;

    }

    temp=date;

for(t=8;t>0;t--) //写数据

    {

        if((temp&0x01)==1)

        {

            dio=1;

        }

        else

            dio=0;

        sclk=1;

        delay(1);

        sclk=0;

     temp=temp>>1;

    }

    ce=0;

}

uchar read(uchar add)

{

    uchar temp,t;

    ce=0;

    sclk=0;

    ce=1;

    temp=add;

for(t=0;t<8;t++)

    {

        if((temp&0x01)==1)

            dio=1;

        else

            dio=0;

        sclk=1;

        sclk=0;

     temp>>=1;

    }

    temp=0;

for(t=0;t<7;t++)

    {

        if(dio==1)

            temp=temp|0x80;

        else

            temp=temp&0x7f;

        sclk=1;

        sclk=0;

     temp>>=1;

    }

    return temp;

}

void chu()

{

    write(0x8e,0x00);//写保护

    write(0x80,0x00); //写秒

    write(0x82,0x43);//写分

    write(0x84,0x15); //写时

    write(0x86,0x17);

    write(0x88,0x7);

    write(0x8c,0x11);

    write(0x8e,0x80);        

}

void main()

{    

    chu();//设定初始时间

    while(1)

    {     

        shi=read(0x85);//读出时间

        fen=read(0x83);

        miao=read(0x81);

        show(shi,fen,miao);//显示时间

    }

}        

void show(uchar shi,uchar fen,uchar miao)

{

display(shi>>4,0);

    display(shi&0x0f,1);

display(fen>>4,2);

    display(fen&0x0f,3);

display(miao>>4,4);

    display(miao&0x0f,5);

}

文档

DS1302时钟程序

本文件包含C语言程序以及仿真原理图!程序:#include#include#defineucharunsignedchar#defineuintunsignedintsbitsclk=P3^0;sbitdio=P3^1;sbitce=P3^2;sbits0=P2^0;sbits1=P2^1;uchard[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchara[8]={0x01,0x02,0x04,0x08,0x10,0x20
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top