精品麻豆一区二区三区乱码-人妻在线免费观看一区二区-欧美日韩在线观看精品99-美女极度色诱视频国产免费

 找回密碼
 請用中文注冊用戶!

QQ登錄

只需一步,快速開始

查看: 4919|回復(fù): 0

(LED學(xué)習(xí)板)實驗23--LED流星燈8段16段-軟件生成生成數(shù)據(jù)

[復(fù)制鏈接]
1#
lxqlzj 發(fā)表于 2012-2-3 14:49:07 | 只看該作者 |倒序瀏覽 |閱讀模式

注冊登錄后可以在線提問,行業(yè)從業(yè)者將幫助您解答!

您需要 登錄 才可以下載或查看,沒有賬號?請用中文注冊用戶!

×
//============================================================================
//================翼芯科技 LED流星燈8段16段==軟件生成生成數(shù)據(jù)=================
//============================================================================   
//  此源碼版權(quán)屬 翼芯科技 全權(quán)享有,如欲引用,敬請署名并告知
//          嚴(yán)禁隨意用于商業(yè)目的,違者必究,后果自負(fù)
//          公司網(wǎng)站 http://www.mcu-led.com
//          公司論壇 http://www.cpu-led.com
//          淘寶店:  http://cpu-led.taobao.com/  和  http://mcu-led.taobao.com/
//          產(chǎn)品咨詢 QQ :1322130074   電話:13715619122
//程序說明:本程序用于實現(xiàn)LED流星燈8段16段,不同步.IC插到U9位置.      
//文件名稱:main.C  
//日期:    2011/01/23   
//版本:    1.0  
//C編譯器:  keil 8.05
//=============================================================================                    
#include <STC12C5AXX.H>
#define uchar unsigned char
#define uint unsigned int
#define nop() _nop_();_nop_()


sbit DAT = P3^2;        //DM134數(shù)據(jù)輸出
sbit CLK  = P3^3;    //DM134時鐘輸出
sbit LE   = P3^4;        //DM134鎖存口
sbit EN   = P4^4;        //DM134使能口


/******************************************************************
- 功能描述:ms延時  
- 隸屬模塊:無
- 函數(shù)屬性:無
- 參數(shù)說明:無      
- 返回說明:無
- 注:.....
******************************************************************/
void Delay(uint ms)
{
  uint a,b;
    for(a=ms;a!=0;a--)         
         for(b=250;b!=0;b--)        
         ;
}

/******************************************************************
- 功能描述:DM134傳送一個字的數(shù)據(jù),        高位在前
- 隸屬模塊:無
- 函數(shù)屬性:無
- 參數(shù)說明:無      
- 返回說明:無
- 注:.....
******************************************************************/
void DM134(uint dat)
{
  uchar i;
  for(i=16;i!=0;i--)
   {
            CLK=0;        
      DAT=dat&0x01;      //低位在前
      dat=dat>>1;               //左移一位
          CLK=1;                  //上升延數(shù)據(jù)移入  
   }
  LE=1;                  //寄存器數(shù)據(jù)更新
  LE=0;
}


/******************************************************************
- 功能描述:實現(xiàn)8段拖尾效果
- 隸屬模塊:無
- 函數(shù)屬性:無
- 參數(shù)說明:無      
- 返回說明:無
- 注:.....
******************************************************************/
void Grayscale8(uchar speed)
{
    uchar x,y,f;                               //上半
    uint z=0x8000, gray;

    for(y=8;y>0;y--)
     {  
                for(f=speed;f>0;f--)    //流動速度
                 {        
                   gray=z;
                   for(x=8;x>0;x--)  
            {   
              DM134(gray);
                          gray>>=1;
              gray&=z;
                        }
                 }
                z>>=1;
                z|=0x8000;
     }  

        z=0x7f80;
    for(y=16;y>0;y--)                         //下半
     {  
                for(f=speed;f>0;f--)    //流動速度
                 {
                  gray=z;
                  for(x=8;x>0;x--)  
            {   
              DM134(gray);
                             gray>>=1;
              gray&=z;
                        }
                 }
                z>>=1;
     }

}

/******************************************************************
- 功能描述:實現(xiàn)16段拖尾效果
- 隸屬模塊:無
- 函數(shù)屬性:無
- 參數(shù)說明:無      
- 返回說明:無
- 注:.....
******************************************************************/
void Grayscale16(uchar speed)
{
    uchar x,y,f;
    uint z=0x8000, gray;
    for(y=16;y>0;y--)
     {  
                for(f=speed;f>0;f--)      //流動速度
                 {
                   gray=z;
                   for(x=16;x>0;x--)
            {   
              DM134(gray);
                          gray>>=1;
              gray&=z;
                        }
                 }
           z>>=1;        
           z|=0x8000;;
     }  
        z=0x7fff;
    for(y=16;y>0;y--)
     {  
                for(f=speed;f>0;f--)      //流動速度
                 {
                  gray=z;
                  for(x=16;x>0;x--)
            {   
              DM134(gray);
                          gray>>=1;
              gray&=z;
                        }
                 }
                z>>=1;
     }  
}

/******************************************************************
- 功能描述:主函數(shù)   
- 隸屬模塊:無
- 函數(shù)屬性:無
- 參數(shù)說明:無      
- 返回說明:無
- 注:.....
******************************************************************/
void main(void)
{  
    uchar CNT;

//M1:M0  0:0為標(biāo)準(zhǔn)51;0:1輸出;1:0輸入;1:1開漏輸出
    P0M1=0X00;                              //P0口設(shè)為推挽輸出
    P0M0=0XFF;

    P4M1=0X00;                              //P4口設(shè)為推挽輸出
    P4M0=0XFF;

        EN=0;

        P0=0;
        while(1)
          {
         for(CNT=0;CNT<3;CNT++)
           {
                      Grayscale16(100); //16段
                          Delay(100);
                }

         for(CNT=0;CNT<3;CNT++)
          {
                      Grayscale8(250);  //8D段
                        Delay(100);
                  }
                          

          }
}

本版積分規(guī)則

QQ|返回首頁|有問題掃碼關(guān)注公眾號|LED控制卡 ( 魯ICP備18053106號 魯公安網(wǎng)備案號37170202666047 ) keywords:LED顯示屏 LED控制卡 LED顯示屏配件 麒麟電子

GMT+8, 2025-9-17 20:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回復(fù) 返回頂部 返回列表