用PIC16F877a编流水灯的程.
时间: 2024-02-09 21:11:06 浏览: 26
下面是一个使用PIC16F877a编写的流水灯程序:
```c
#include <pic.h>
#define LED PORTB
#define DELAY_TIME 200
void delay(unsigned int n)
{
unsigned int i, j;
for (i = 0; i < n; i++)
for (j = 0; j < 1000; j++);
}
void main()
{
TRISB = 0x00;
LED = 0x00;
while (1)
{
LED = 0x01;
delay(DELAY_TIME);
LED = 0x02;
delay(DELAY_TIME);
LED = 0x04;
delay(DELAY_TIME);
LED = 0x08;
delay(DELAY_TIME);
LED = 0x10;
delay(DELAY_TIME);
LED = 0x20;
delay(DELAY_TIME);
LED = 0x40;
delay(DELAY_TIME);
LED = 0x80;
delay(DELAY_TIME);
}
}
```
这个程序使用了PIC16F877a的PORTB口来控制LED灯的亮灭。通过将PORTB的不同位设置为1,可以控制不同的LED灯亮起。程序中使用了一个delay函数来实现延时,从而让LED灯按照一定的速度闪烁。在while循环中,不断地改变LED灯的状态,就可以实现流水灯的效果。