久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3678|回復: 1
打印 上一主題 下一主題
收起左側

幫忙看下為什么不能實現(xiàn)數(shù)碼管的閃爍

[復制鏈接]
跳轉到指定樓層
樓主
ID:37199 發(fā)表于 2012-3-27 15:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include char code table[]={ //共陽極0~f數(shù)碼管編碼 0xc0,0xf9,0xa4,0xb0,//0~3 0x99,0x92,0x82,0xf8,//4~7 0x80,0x90,0x88,0x83,//8~b 0xc6,0xa1,0x86,0x8e}; //c~f char code wetable[]={0xfb,0xf7,0xef,0xdf,0xbf,0x7f};// char m, f, s,s1,num=0,mi,i=0,num1=0,num2=0,f1,flge,c,a,flge1=0;//申明 sbit k1=P3^2;//申明按鍵 sbit d1=P1^1; // sbit p1=P2^7; // sbit p2=P2^6; // sbit p3=P2^5; // sbit p4=P2^4; // sbit p5=P2^3; // sbit p6=P2^6; // void display();//申明函數(shù) void init(); // 申明函數(shù) void delay(int z);//申明延時函數(shù) void key(); //申明函數(shù) void main() { init();//初始化 while(1) { key();//按鍵 display();//顯示 } } void display() { m=num/10; //分離 mi=num%10; f=num1/10; f1=num1%10; s=num2/10; s1=num2%10; if(flge1==1) //標志位控制顯示 { p1=1; p2=1; d1=0; } else { P2=0x7f; P0=table[mi]; P0=0xff; P2=0xbf; P0=table[m]; P0=0xff; } if(flge1==2) { p3=1; } else { P2=0xef; P0=table[f]; P0=0xff; } if(flge1==2) { p4=1; } else { P2=0xdf; P0=table[f1]; P0=0xff; } if(flge1==3) { p5=1; } else { P2=0xfb; P0=table; P0=0xff; } if(flge1==3) { p5=1; } else { P2=0xf7; P0=table[s1]; P0=0xff; } } void init() { TMOD=0x11; TH0=(65536-50000)/256; //晶振設為12MHS 溢出為50MS TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; //開啟CPU中斷 ET0=1; //開啟定時器0中斷 ET1=1; // 開啟定時器1中斷 TR1=1; //啟動定時器1 TR0=1; //啟動定時器0 } void time() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; i++; if(i==20) { i=0; num++; if(num==60) //秒為60 秒清零 分加1 { num=0; num1++; if(num1==60) //分為60 分清零 時加1 { num1=0; num2++; if(num2==12) { if(num2==24)//時為24 時清零 分清零 秒清零 { num2=0; num=0; num1=0; } } } } } } void time2() interrupt 3 { TH1=(65536-50000)/256; TL1=(65536-50000)%256; a++; if(a==10) { a=0; if(flge1==1) //取反實現(xiàn)閃爍 { p1=~p1; p2=~p2; d1=~d1; } } if(flge1==2) { if(a==10) { p3=~p3; p4=~p4; a=0; } } if(flge1==3) { if(a==10) { p5=~p5; p6=~p6; a=0; } } } void key() { if(k1==0) { delay(10); if(k1==0) { flge++; while(!k1); //消抖 if(flge==1) //數(shù)碼管暫停 { TR0=0; } if(flge==2) //按鍵控制標志位 { flge1=1; } if(flge==3) { flge1=2; } if(flge==4) { flge1=3; } if(flge==5) { TR0=1; flge=0; flge1=0; } } } } void delay(int z) { int x,y; for(x=z;x>0;x--) for(y=500;y>0;y--); }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:37199 發(fā)表于 2012-3-27 15:53 | 只看該作者
#include <reg52.h>
char code table[]={ //共陽極0~f數(shù)碼管編碼
0xc0,0xf9,0xa4,0xb0,//0~3
0x99,0x92,0x82,0xf8,//4~7
0x80,0x90,0x88,0x83,//8~b
0xc6,0xa1,0x86,0x8e}; //c~f
char code wetable[]={0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//
char m, f, s,s1,num=0,mi,i=0,num1=0,num2=0,f1,flge,c,a,flge1=0;//申明
sbit k1=P3^2;//申明按鍵
sbit d1=P1^1; //
sbit p1=P2^7; //
sbit p2=P2^6;  //
sbit p3=P2^5;  //
sbit p4=P2^4; //
sbit p5=P2^3; //
sbit p6=P2^6; //
void display();//申明函數(shù)
void init();   // 申明函數(shù)
void delay(int z);//申明延時函數(shù)
void key(); //申明函數(shù)
void main()
{
 init();//初始化
 while(1)
 {
  key();//按鍵
  display();//顯示
 }
}
void display()

   m=num/10;   //分離
  mi=num%10;
  f=num1/10;
  f1=num1%10;
  s=num2/10;
  s1=num2%10;
  if(flge1==1)   //標志位控制顯示
  {
   p1=1;
   p2=1;
   d1=0;
  }
  else
  {
  P2=0x7f;
  P0=table[mi];
  P0=0xff;
  P2=0xbf;
  P0=table[m];
  P0=0xff;
  }
  if(flge1==2)
  {
   p3=1;
  }
  else
  {
  P2=0xef;
  P0=table[f];
  P0=0xff;
  }
  if(flge1==2)
  {
   p4=1;
  }
  else
  {
  P2=0xdf;
  P0=table[f1];
    P0=0xff;
    }
    if(flge1==3)
    {
      p5=1;
    }
    else
    {
  P2=0xfb;
  P0=table;
   P0=0xff;
  }
  if(flge1==3)
    {
      p5=1;
    }
    else
    {
  P2=0xf7;
  P0=table[s1];
  P0=0xff;
  }    
}
void init()
{
 TMOD=0x11;
 TH0=(65536-50000)/256; //晶振設為12MHS 溢出為50MS
 TL0=(65536-50000)%256;
 TH1=(65536-50000)/256;
 TL1=(65536-50000)%256;
 EA=1;      //開啟CPU中斷
 ET0=1;      //開啟定時器0中斷
 ET1=1;      // 開啟定時器1中斷
 TR1=1;      //啟動定時器1
 TR0=1;      //啟動定時器0
}
void time() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 i++; 
  if(i==20)
  {
   i=0;
   num++;
   if(num==60)  //秒為60 秒清零 分加1
   {
     num=0;
     num1++;
     if(num1==60) //分為60 分清零 時加1
     {
      num1=0;
      num2++;                                 if(num2==12)
      {
      if(num2==24)//時為24 時清零 分清零  秒清零
      {
       num2=0;
       num=0;
       num1=0;
       }
     }
   }
  }
 }
}
void time2() interrupt 3
{
 TH1=(65536-50000)/256;
 TL1=(65536-50000)%256;
  a++;
 
    if(a==10)
  {
  a=0;
   if(flge1==1)  //取反實現(xiàn)閃爍
   {
     p1=~p1;
     p2=~p2;
     d1=~d1; 
   }
   }
   if(flge1==2)
   {
    if(a==10)
   {
     p3=~p3;
     p4=~p4;
     a=0;
   } 
   }
   if(flge1==3)
   {
    if(a==10)
   {
     p5=~p5;
     p6=~p6;
     a=0;
   } 
   }
        
}
void key()
{
 if(k1==0)   
 {
  delay(10);
  if(k1==0)
  {
   flge++;
   while(!k1);  //消抖
   if(flge==1)  //數(shù)碼管暫停
   {
      TR0=0;
   }
   if(flge==2) //按鍵控制標志位
   {
    flge1=1;
   }
   if(flge==3)
   {
    flge1=2;
   }
   if(flge==4)
   {
    flge1=3;
   }
   if(flge==5)
   {
    TR0=1;
    flge=0;
    flge1=0;
   }   
  }  
 }  
   
}  
void delay(int z)      
{
 int x,y;
  for(x=z;x>0;x--)
   for(y=500;y>0;y--);
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 超级乱淫av片免费播放 | 免费在线看黄 | 久色视频在线 | 日韩欧美三区 | 久久国产香蕉 | 国产欧美一区二区三区在线看 | 欧美成人一区二区三区片免费 | 国产精品视频久久 | a中文在线视频 | 中文字幕亚洲一区二区三区 | 成人在线免费视频观看 | 欧美一二区 | 91精品导航| 99热国产精品 | 九九热免费在线观看 | 日韩一区二区三区精品 | 欧美精品一区三区 | 天天干狠狠操 | 久久99视频精品 | 久久久精品视频免费看 | 91精品国产日韩91久久久久久 | 成人99 | 日本超碰 | 国产精品久久九九 | av黄色在线| 久在线视频播放免费视频 | 美女福利网站 | 国产精品成人一区二区三区夜夜夜 | 午夜精品一区二区三区三上悠亚 | 久久婷婷麻豆国产91天堂 | av资源在线看 | 午夜精品久久久久久久星辰影院 | 精品久久国产 | 成人片免费看 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 欧美性受xxxx | h视频在线免费 | 欧美一区二区 | aaa精品 | 成人激情视频 | 国产你懂的在线观看 |