1、编写一个霹雳灯子函数。所谓霹雳灯:先D1和D8同时亮;延时1s后,D1和D8继续亮,同时D2和D7点亮;以此类推,D3和D6点亮,延时1s后D4和D5点亮。如此周而复始。要求:1s是准确的一秒,必须使用计时器T1,方式1来来实现。按下某个按键K3,蜂鸣器响一声,霹雳灯灯开始启动,再次按下该按键,蜂鸣器响一声,霹雳灯停止。
#include <reg51.h>
void
delay(unsigned char n);
int main(void)
{
unsigned char led[] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; //0-9μ?×?Dí??
unsigned char i;
P2 = 0x00;
while (1)
{
for (i = 0; i < 10; i++)
{
P0 = led[i];
delay(250);
if (P0 == led[9])
{
P0 = led[0];
i++;
}
}
}
}
void delay(unsigned char n)
{
unsigned char i, j;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
;
}