您当前的位置:五五电子网电子知识单片机-工控设备源码-程序8279做的时钟程序C语言源代码 正文
8279做的时钟程序C语言源代码

8279做的时钟程序C语言源代码

点击数:7786 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   源码-程序

8279做的时钟程序C语言源代码

    #include<reg52.h>
    #include<absaCC.h>
    #define      Z8279    XBYTE[0x8FFF] //定义外部命令口
    #define      D8279    XBYTE[0x8FFE] //定义外部数据口
    #define      LEDWR0  0x90    //写端口命令
#define uchar unsigned char
   
    void view8279(void);
uchar  hour1=0,hour2=0,min1=0,min2=0,sec1=0,sec2=0,num_20; //时分秒的十位和个位,初值为零
    uchar led[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//定义0到F的键码
   
    void main(void)
    {
      TMOD=0x01;
      TH0=0x3c;
      TL0=0xb0;
      IE=0x82;
      TR0=1;
      num_20=20;
      while(1)
      {}
    }
   
    void shizhong(void) interrupt 1
    {          //7                 
      TH0=0x3c;
      TL0=0xb0;
      num_20--;
      if(num_20!=0) return;
   
      if(sec1==5 && sec2==9)
      {          //05
    sec1=0;
    sec2=0;
      if(min1==5 && min2==9)
      {        //03
    min1=0;
    min2=0;
        if(hour1==5 && hour2==9)
        {        //01
        hour1=0;
        hour2=0;
    }        //01
        else if(hour2==9)
        {      //02
          hour1++;
          hour2=0;
        }      //02
        else hour2++;
        }        //03
        else if(min2==9)
        {        //04
        min1++;
        min2=0;
        }        //04
        else min2++;
      }
            //05
      else if(sec2==9)
      {        //06
        sec1++;
        sec2=0;
      }        //06
      else sec2++;
   
   
      view8279();
      num_20=20;        //7
    }
   
    void view8279(void)
    { 
      if (1)    //在正常显示情况下显示各位数字
      {
          Z8279=LEDWR0;
            D8279=led[sec2];
            D8279=led[sec1];
      D8279=0x40;     
            D8279=led[min2];
            D8279=led[min1];
            D8279=0x40;
            D8279=led[hour2];
            D8279=led[hour1];
      }
    }




本文关键字:程序  C语言  源代码  源码-程序单片机-工控设备 - 源码-程序