精品麻豆一区二区三区乱码-人妻在线免费观看一区二区-欧美日韩在线观看精品99-美女极度色诱视频国产免费
麒麟電子
標(biāo)題:
(LED學(xué)習(xí)板)實(shí)驗(yàn)23--LED流星燈8段16段-軟件生成生成數(shù)據(jù)
[打印本頁(yè)]
作者:
lxqlzj
時(shí)間:
2012-2-3 14:49
標(biāo)題:
(LED學(xué)習(xí)板)實(shí)驗(yàn)23--LED流星燈8段16段-軟件生成生成數(shù)據(jù)
//============================================================================
//================翼芯科技 LED流星燈8段16段==軟件生成生成數(shù)據(jù)=================
//============================================================================
// 此源碼版權(quán)屬 翼芯科技 全權(quán)享有,如欲引用,敬請(qǐng)署名并告知
// 嚴(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
//程序說(shuō)明:本程序用于實(shí)現(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時(shí)鐘輸出
sbit LE = P3^4; //DM134鎖存口
sbit EN = P4^4; //DM134使能口
/******************************************************************
- 功能描述:ms延時(shí)
- 隸屬模塊:無(wú)
- 函數(shù)屬性:無(wú)
- 參數(shù)說(shuō)明:無(wú)
- 返回說(shuō)明:無(wú)
- 注:.....
******************************************************************/
void Delay(uint ms)
{
uint a,b;
for(a=ms;a!=0;a--)
for(b=250;b!=0;b--)
;
}
/******************************************************************
- 功能描述:DM134傳送一個(gè)字的數(shù)據(jù), 高位在前
- 隸屬模塊:無(wú)
- 函數(shù)屬性:無(wú)
- 參數(shù)說(shuō)明:無(wú)
- 返回說(shuō)明:無(wú)
- 注:.....
******************************************************************/
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;
}
/******************************************************************
- 功能描述:實(shí)現(xiàn)8段拖尾效果
- 隸屬模塊:無(wú)
- 函數(shù)屬性:無(wú)
- 參數(shù)說(shuō)明:無(wú)
- 返回說(shuō)明:無(wú)
- 注:.....
******************************************************************/
void Grayscale8(uchar speed)
{
uchar x,y,f; //上半
uint z=0x8000, gray;
for(y=8;y>0;y--)
{
for(f=speed;f>0;f--) //流動(dòng)速度
{
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--) //流動(dòng)速度
{
gray=z;
for(x=8;x>0;x--)
{
DM134(gray);
gray>>=1;
gray&=z;
}
}
z>>=1;
}
}
/******************************************************************
- 功能描述:實(shí)現(xiàn)16段拖尾效果
- 隸屬模塊:無(wú)
- 函數(shù)屬性:無(wú)
- 參數(shù)說(shuō)明:無(wú)
- 返回說(shuō)明:無(wú)
- 注:.....
******************************************************************/
void Grayscale16(uchar speed)
{
uchar x,y,f;
uint z=0x8000, gray;
for(y=16;y>0;y--)
{
for(f=speed;f>0;f--) //流動(dòng)速度
{
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--) //流動(dòng)速度
{
gray=z;
for(x=16;x>0;x--)
{
DM134(gray);
gray>>=1;
gray&=z;
}
}
z>>=1;
}
}
/******************************************************************
- 功能描述:主函數(shù)
- 隸屬模塊:無(wú)
- 函數(shù)屬性:無(wú)
- 參數(shù)說(shuō)明:無(wú)
- 返回說(shuō)明:無(wú)
- 注:.....
******************************************************************/
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);
}
}
}
歡迎光臨 麒麟電子 (http://www.isorzjg.com/)
Powered by Discuz! X3.5