生活问答

当前位置/ 首页/ 生活问答/ 正文

80c51流水灯(at89c51流水灯)

导读 大家好,我是小科,我来为大家解答以上问题。80c51流水灯,at89c51流水灯很多人还不知道,现在让我们一起来看看吧!1、我给你个简单的例子...

大家好,我是小科,我来为大家解答以上问题。80c51流水灯,at89c51流水灯很多人还不知道,现在让我们一起来看看吧!

1、我给你个简单的例子:

2、#include <AT89X51.H> //预处理文件里面定义了特殊寄存器的名称如P1 口定义为P1

3、void main(void)

4、{

5、//定义花样数据

6、const unsigned char design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,

7、0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,

8、0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,

9、0xE7,0xDB,0xBD,0x7E,0xFF};

10、unsigned int a; //定义循环用的变量

11、unsigned char b; //在C51 编程中因内存有限尽可能注意变量类型的使用

12、//尽可能使用少字节的类型,在大型的程序中很

13、受用

14、do{

15、for (b=0; b<32; b++)

16、{

17、for(a=0; a<30000; a++); //延时一段时间

18、P1 = design[b]; //读已定义的花样数据并写花样数据到P1 口

19、}

20、}while(1);

21、}

22、程序中的花样数据可以自以去定义,因这里我们的LED 要AT89C51 的P1 引脚为低电平才

23、会点亮,所以我们要向P1 口的各引脚写数据O 对应连接的LED 才会被点亮,P1 口的八个引

24、脚刚好对应P1 口特殊寄存器的八个二进位,如向P1 口定数据0xFE,转成二进制就是

25、11111110,最低位D0 为0 这里P1.0 引脚输出低电平,LED1 被点亮。如此类推,大家不难算

26、出自己想要做的效果了。

本文到此讲解完毕了,希望对大家有帮助。