⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 电脑舞台灯具.txt

📁 51开发的源程序。希望对大家学习单片机有帮助。
💻 TXT
字号:
用【 小 | 中 | 大 】字体浏览 
C51编程:电脑舞台灯具 [yizheng] [24次] 01-11-14 下午 06:55:13
#include<reg51.h>
#define unsigned char uchar 

uchar Pro_r[]={0,100,228,2,20,4,50,5,228,228,0,100,1,228,
               5,100,228,4,153,5,178,178,255,255,255;}

uchar Pro_d[]={0,25,228,0,25,228,0,25,228,0,25,228,0,25,228,
               0,25,228,0,25,228,0,228,228,0,203,203,
               1,25,0,25,228,0,25,228,0,25,228,0,25,228,
               0,25,228,0,25,228,0,25,228,0,228,228,0,203,203,
               1,25,0,25,228,0,25,228,0,25,228,0,25,228,
               0,25,228,0,25,228,0,25,228,0,228,228,0,203,203,
               1,25,0,25,228,0,25,228,0,25,228,0,25,228,
               
0,25,228,0,25,228,0,25,228,0,228,228,0,203,203,                                 
    1,25,0,25,228,0,25,228,0,25,228,0,25,228,
               0,25,228,0,25,228,0,25,228,0,228,228,0,203,203,
               1,25,0,25,228,0,25,228,0,25,228,0,25,228,
               0,25,228,0,25,228,0,25,228,0,228,228,0,203,203,
               1,25,0,25,228,0,25,228,0,25,228,0,25,228,
               0,25,228,0,25,228,0,25,228,0,228,228,0,203,203,
               1,25,0,25,228,0,25,228,0,25,228,0,25,228,
               0,25,228,0,25,228,0,25,228,0,228,228,0,203,203,
               1,228,228,1,203,203,255,255,255;}

unsigned char wz[6],zt[6],hm,ct,status,addr;

void timer0() interrupt 1
{uchar a,x;
 if(ct!=0)--ct;
 x=0;
 while(x<6){
      a=wz[x]&0x7f;
      if(a!=0){
             a=wz[x]&0x80;
             if(a)zt[x]>>=1;
             else zt[x]<<=1;
             a=zt[x];
             switch(x){
                  case 0:a&=0x0f;P0&=0xf0;P0|=a;break;
                  case 1:a&=0xf0;P0&=0x0f;P0|=a;break;
                  case 2:a&=0x0f;P1&=0xf0;P1|=a;break;
                  case 3:a&=0xf0;P1&=0x0f;P1|=a;break;
                  case 4:a&=0x0f;P2&=0xf0;P2|=a;break;
                  case 5:a&=0xf0;P2&=0x0f;P2|=a;break;
                  default : ; break;
              }
              --wz[x];
        }
        ++x;
 }
}
       
void serial() interrupt 4
{uchar a,x;
 RI=0;
 a=SBUF;
 if(SM2==1){if(a==0x255||a==addr)SM2=0;}
 else { if(a==0xff)sm2=1;
        else {if(status==0){hm=a;status=1;}
              else {wz[hm]=a;status=0;}
      }
 }
}

delay()
{uchar x,y,z;
 for(x=255;x=0;--x){
     for(y=255;y=0;--y){
         for(z=255;z=0;--z)
     }
 }
}

void rst()
{uchar a,x;
 x=0;
 while(){
      a=Pro_r[x];
      if(a==0xff)break;
      if(a>127){a&=0x7f;ct=a;while(ct);}
      else {++x;wz[a]=Pro_r[x];}
      ++x;
 }
}    
   

void main()
{uchar x,a;
 TMOD=0X20;SCON=0XE0;
 EA=1;ET0=1;TR0=1;TR1=1;TH1=0XF3;
 x=0;
 while(x<6){zt[x]=0x11;++x;}
 rst();
 while(){
      delay();
      if(P0==0){
             x=0;
             while(){
                  a=Pro_d[x];
                  if(a==0xff)break;
                  if(P0!=0){rst();break;}
                  if(a>127){a&=0x7f;ct=a;while(ct);}
                  else {++x;wz[a]=Pro_d[x];}
                  ++x;                  
             }
       }
       else {addr=P0;addr=!addr;addr>>=2;ES=1;REN=0;
             while(){
                  if(P0==0){
                         ES=0;REN=0;
                         rst();break;
             }
       }
 }
}

               

 

 
点击这里回复这篇贴子>>
_____________________________________________________________________________
Copyright?,C51BBS论坛 2000-2002 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -