⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 彩灯控制器.c

📁 这些是自己大学里认为非常宝贵的AVR程序
💻 C
字号:
/*****************************************************************************
程 序 名:51AVR实验板配套程序 - 彩灯控制器
开发环境:Keil
编 写 者:www.01mcu.net
功能简述:根据花样表进行花样变化
硬件说明:P1接8只LED
          晶体为12MHz
其它说明:程序使用了自定义的bin.h函数,使用时要将这个函数复制到keil目录里
完成日期:2008.06.23
******************************************************************************/

#include <reg51.h>
#include <BIN.h>     
//注意:BIN.H这个函数是我们自行定义的!
//从本程序的目录下把BIN.h复制到 C:\Keil\C51\INC 里面!!!!
//定义位操作
sbit ls0=P0^1;     //发光管公共极
#define Out P1     //数据输出端

//花样表
unsigned char code tab[]= //0灭,1亮
{
 B1000_0001,         //第一步
 B0100_0010,         //第二步
 B0010_0100,         //...
 B0001_1000,
 B0010_0100,
 B0100_0010,
 B1000_0001,
 B1111_1111,
 B0000_0000,
 B0001_1000,
 B0010_0100,
 B0100_0010,
 B1000_0001,
 B1100_0011,
 B1110_0111,
 B1111_1111,
 B1110_0111,
 B1100_0011,
 B1000_0001,
 B0000_0000,
 
 B0100_0100,
 B1001_1100,
 B0110_0101,
 B0001_1010,
 B1100_1001,
 B1100_0011,
 B0010_0101,
 B1101_1011,
 B1010_0101, 
 B1100_0011, 
 B1011_0101, 
 B0000_0000,     //32步
  
 //你可以继续添加花样,最后把步数放在主程序中即可
};

//延时----------------------------
Delay()
{unsigned int t;
 t=26000;                 //更改t值可以改变速度,范围0-65535,
 while(t--);
}

//主程序--------------------------
main()
{ 
  unsigned char i;
  ls0=0;                   //打开发光管公共阳极
  while(1)                 //永远循环
    {
     for(i=0;i<32;i++)     //花样的步数
       {
        Out=~tab[i];       //由于发光管是共阳接法,点亮要对负极对地,这里对表格中的数据取反送出
        Delay();
       }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -