找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 651|回复: 2
打印 上一主题 下一主题
收起左侧

求大神帮忙看看 没法实现

[复制链接]
跳转到指定楼层
楼主
求大神帮忙看看 没法实现

#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char

    sbit k1=P3^7;
    sbit k2=P3^6;
    sbit k3=P3^5;
    sbit k4=P3^4;
    sbit k=P3^3;
    uchar code table[]={0x82,0xdb,0x2a,0x26,0x47,0x17,0x12,0xa7,0x02,0x06};      
    uint miao=0;        //秒
    uint fen=0;            //分
    uint shi=0;            //时
    uint n=0;            //计数
    uint date[4]={0,0,0,0};      //定义一个有4个地址的数组,分别存分,秒的个位和十位。
    void delay(uint z)             //延时函数
    {
         uint x,y;
         for(x=z;x>0;x--)
          for(y=50;y>0;y--);
    }

    void shu(uint n)                    
{
     P2=table[n];
}            
     
     
    void display()
    {     
          shu(date[3]);
          P2=0xff;
          k1=0;
           delay(1);

            shu(date[2]);
            P2=0xff;
            k2=0;
           delay(1);

            shu(date[1]);
            P2=0xff;
            k3=0;
            delay(1);
           

            shu(date[0]);
            P2=0xff;
            k4=0;
            delay(1);
         

            
     
  }
   
   
   
   
   
    void time()                           //定时器初始化函数
    {
        TMOD=0x02;                              //选择方式2
        TH0=156;                              //重装初值为156
        TL0=156;                              //运行值为156
        EA=1;                                  //开总中断
        ET0=1;                                  //开定时器0中断
        TR0=1;                                  //开定时器0
    }


    void timer()                       //定时器0中断
    {
         n++;
         if(n==10000)                                 //当n=10000时,表示1s到了
         {     
             n=0;
             miao++;
             if(miao==60)
             {
                 miao=0;
                 fen++;
                 if(fen==60)
                 {
                     fen=0;
                     shi++;
                     if(shi==12)
                     {
                        shi=0;
                     }
                 }
             }
             date[0]=miao%10;
             date[1]=miao/10;
             date[2]=fen%10;
             date[3]=fen/10;
             date[4]=shi%10;
             date[5]=shi/10;
        
         }
     
         
    }
     
    main()
    {
       time();
       while(1)
       {
           display();
       }
     
        
    }


Snipaste_2019-07-03_06-36-45.png (166.61 KB, 下载次数: 30)

Snipaste_2019-07-03_06-36-45.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:332444 发表于 2019-7-3 16:49 | 只看该作者
学学中断函数该如何写
回复

使用道具 举报

板凳
ID:332444 发表于 2019-7-3 16:53 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表