单片机走马灯程序

来源:百度知道 编辑:UC知道 时间:2024/06/13 22:25:01
MC68HC08单片机实验平台

基本要求:从右边第一个LED开始,依次点亮、熄灭所有8个LED(点亮、熄灭延时长度须能用眼睛分辨),再重新从右边第一个LED开始依次点亮LED,重复循环10次。要求使用段码表
验证实验:并口输入、输出
键盘开、合,控制LED的点亮与熄灭

//==============
#include <reg51.h>
#define count 11
char TAB[]={ 0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x83,0xf8,0x80,0x98,
0xff};
char disp[11][4]={ {10,10,10,10},
{1,10,10,10},{10,1,10,10},{10,10,1,10},{10,10,10,1},
{2,10,10,1},{10,2,10,1},{10,10,2,1},
{3,10,2,1},{10,3,2,1},
{4,3,2,1}};
void delay1ms(int);
void scanner(char);
//================
main()
{ char i=0;
while(1)
{
if(i==0)
{ for(i=0;i<count;i++)
scanner(i);
}
else
{ for(i=10;i>=0;i--)
{
scanner(i);
if(i==0)break;}
}

}
}
//================
void delay1ms(int x )
{ int i,j;
for(i=0;i<x;i++)
for(j=0;j<=120;j++);
}
//====================
void scanner(char x)
{ char i,j,scan,BCD;
for(i=0;i<30;i++)
{ scan=1;
for(j=0;j<4;j++)