📄 彩灯控制器.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 + -