找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1150|回复: 0
打印 上一主题 下一主题
收起左侧

怎么在单片机光立方程序的基础程序上加上PWM控制的灯光渐变?

[复制链接]
跳转到指定楼层
楼主

这是仿真图程序如下:
#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);

        }
}




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表