(1)现象
单片机P1.0-P1.7引脚的8个LED以16种形式变化发光
(2)程序说明
程序首先·用关键字code定义一个无符号字符型表格table(数组),在表格中按顺序存放16个数据(编号为0-15)。程序放for语句循环16次,每次执行一次将table数据的序号i值加1,并将选中序号的数据赋值给P1端口,P1端口外接LED按表格数值发光
<include rg51.h>
void Delay(unsigned int t);
unsigned char code table []={0x1f,0x45,0x3e,0x68,
0xa7,0xf3,0x46,0x33,
0xff,0xaa,0x08,0x60,
0x88,0x11,0xa5,0xda} //定义一个无符号字符型表格,code代表表格数据存在于单片机中,表格按照存放16个代码,每个代码8位
void main (void){
unsigned char i;
while (1){
for(i=0;i<16;i++){
P1=table[i];
Delay(60000);
}
}
}
void Delay (unsigned int t)
{
while (--t);
}
关键字code定义的表格数据存放在单片机的ROM中,这些数据主要是一些常亮或固定不变的参数,放置在ROM中可以节省大量RAM空间
LED花样发光的程序及详解
(1)现象