资源简介
专用PWM驱动芯片LPD6803的驱动程序
代码片段和文件信息
#include “STC12C2052.H“
typedef unsigned char BYTE;
sbit SDO=P1^5;
sbit SCLK=P1^7;
unsigned char Dbuf[80];
void BrushOut(BYTE nDotsBYTE drBYTE dgBYTE db)
{ BYTE ijmask;
// SDOSCLK为数据和移位输出口,位变量,nDots为灯的个数
// 本程序仅适用于GMODE=1CMODE=1的情况
// 首先输出32个‘0‘的起始帧
SCLK=0;
SDO=0;
for(i=0;i<32;i++) { SCLK=1;SCLK=0; }
// 再输出nDots点的数据,这里假设各点的颜色都是(drdgdb)
// drdbdg为红绿兰的灰度值0-31
for(i=0;i { //首先输出1个‘1‘起始位
SDO=1;SCLK=1;SCLK=0;
//输出5位红色数据
mask=0x10;
for(j=0;j<5;j++)
{ if(mask & dr) SDO=1;
else SDO=0;
SCLK=1;SCLK=0;
mask>>=1; }
//输出5位绿色数据
mask=0x10;
for(j=0;j<5;j++)
{ if(mask & dg) SDO=1;
else SDO=0;
SCLK=1;SCLK=0;
mask>>=1; }
//输出5位兰色数据
mask=0x10;
for(j=0;j<5;j++)
{ if(mask & db) SDO=1;
else SDO=0;
SCLK=1;SCLK=0;
mask>>=1; }
}
//输出完nDots的数据后,还要补nDots个脉冲
SDO=0;
for(i=0;i
//传输结束
}
void delay(unsigned int n)
{ BYTE t;
for(;n>0;n--)
for(t=0;t<250;t++) ;
}
void ScanOut(BYTE n)
{ BYTE ijdatmask;
SCLK=0;
SDO=0;
for(i=0;i<32;i++) { SCLK=1;SCLK=0; }
for(i=0;i { mask=0x80;
dat=Dbuf[i];
for(j=0;j<8;j++)
{ if(mask & dat) SDO=1;
else SDO=0;
SCLK=1;SCLK=0;
mask>>=1; }
}
//输出完nDots的数据后,还要补nDots个脉冲
SDO=0;
for(i=0;i
// delay(1000);
}
main()
{ BYTE ijk;
while(1)
{
//红色渐亮
for(i=0;i<32;i++)
{
BrushOut(20i00);
delay(600); }
//红色渐暗同时绿色渐亮
for(i=0;i<32;i++)
{
BrushOut(2031-ii0);
delay(600); }
//绿色渐暗同时兰色渐亮
for(i=0;i<32;i++)
{
BrushOut(20031-ii);
delay(600); }
//兰色渐暗
for(i=0;i<32;i++)
{
BrushOut(200031-i);
delay(600); }
//白色渐亮
for(i=0;i<32;i++)
{
BrushOut(20iii);
delay(600); }
//七彩演示
BrushOut(203100);delay(10000);
BrushOut(2031310);delay(10000);
BrushOut(200310);delay(10000);
BrushOut(2003131);delay(10000);
BrushOut(200031);delay(10000);
BrushOut(2031031);delay(10000);
BrushOut(20313131);delay(10000);
for(i=0;i<80;i++) Dbuf[i]=0;
ScanOut(80);
for(j=0;j<128;j++)
{
for(i=0;i<80;i+=2)
{ if(i>=64)
{ Dbuf[i]=0x80;
Dbuf[i+1]=0;
}
else
{ k=31-((i+j) & 31);
Dbuf[i]=0x80+(k<<2);
Dbuf[i+1]=k;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
.CA.... 3254 2007-11-03 17:58 DEMO1\demo.c
.CA.... 7037 2007-11-03 17:58 DEMO1\demo.LST
.CA.... 7545 2007-11-03 17:58 DEMO1\demo.OBJ
.CA.... 6699 2007-11-03 17:58 DEMO1\DemoA
.CA.... 1723 2007-11-03 17:58 DEMO1\DemoA.hex
.CA.... 26 2007-11-03 17:58 DEMO1\DemoA.lnp
.CA.... 11000 2007-11-03 17:58 DEMO1\DemoA.M51
文件 1004 2008-05-16 16:42 DEMO1\DemoA.Opt
.CA.... 155 2008-05-16 16:42 DEMO1\DemoA.plg
文件 2093 2008-05-16 16:42 DEMO1\DemoA.Uv2
.CA.... 4138 2007-08-13 07:13 DEMO1\STC12C2052.H
目录 0 2008-05-16 16:42 DEMO1
.C..... 997 2007-11-04 08:53 DEMO1\DemoA_Opt.Bak
.C..... 1689 2007-12-12 23:26 DEMO1\DemoA_Uv2.Bak
----------- --------- ---------- ----- ----
47360 14
- 上一篇:STM32F4 的DMA程序
- 下一篇:SC0073脉搏传感器应用
评论
共有 条评论