#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/*------------------------------------------------
花样表格
------------------------------------------------*/
unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe,
0xff,0xff,0x00,0x00,
0x55,0x55,0xaa,0xaa
};//rom允许情况可以无限添加
void Delay(unsigned int t); //函数声明
/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{
unsigned char i; //定义一个无符号字符型
//局部变量 i 取值范围 0~255
while(1)
{
P1=0xFE; //第1个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 <<=1;
}
P1=0x7F; //第8个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 >>=1;
}
P1=0xFE; //第1个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 <<=1;
P1 |=0x01;
}
P1=0x7F; //第8个LED亮
for(i=0;i<8;i++)
{
Delay(20000);
P1 >>=1;
P1 |=0x80;
}
//下面通过查表方法获得花样参数
for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强
{
Delay(20000);
P1=seg[i];
}
}
}
/*------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}
本程序用于stc89c52单片机,最简单的花样灯程序
|