标题:
怎么在单片机光立方程序的基础程序上加上PWM控制的灯光渐变?
[打印本页]
作者:
619247581
时间:
2019-9-28 17:03
标题:
怎么在单片机光立方程序的基础程序上加上PWM控制的灯光渐变?
5Z{E(@1F[Z9VRX3KW@AR1[V.png
(124.11 KB, 下载次数: 29)
下载附件
2019-9-28 17:05 上传
这是仿真图程序如下:
#include<reg51.h>
#define uint unsigned int
uint count,i,j;
#define DataPort P1//定义数据端口 程序中遇到DataPort 则用P1 替换
sbit LE1=P2^0;//定义锁存使能端口 第一列的字节锁存,共阴
sbit LE2=P2^1;//定义锁存使能端口 第二列的字节锁存,共阴
sbit CHENG1=P0^0;//定义锁存使能端口 第一层的字节锁存,共阳
sbit CHENG2=P0^1;//定义锁存使能端口 第二层的字节锁存,共阳
sbit CHENG3=P0^2;//定义锁存使能端口 第三层的字节锁存,共阳
sbit CHENG4=P0^3;//定义锁存使能端口 第四层的字节锁存,共阳
void delay_ms(unsigned int z)//延时函数,单位毫秒
{
unsigned int j,k;
for(j=z;j>0;j--)
for(k=110;k>0;k--);
}
//点亮所有灯
void light()
{
CHENG1=1;
CHENG2=1;
CHENG3=1;
CHENG4=1;
DataPort=0x00; //把0xff送进锁存器1~8中,使它们的输出引脚都输出高电平,与行锁存器的0x00相对,点亮所有的灯
LE1=1;
LE1=0;
LE2=1;
LE2=0;
}
//熄灭所有灯
void dark()
{
CHENG1=1;
CHENG2=1;
CHENG3=1;
CHENG4=1;
DataPort=0xff;
LE1=1;
LE1=0;
LE2=1;
LE2=0;
}
void main()
{
while(1)
{
light();
delay_ms(100);
dark();
delay_ms(100);
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1