要求:掌握80C51单片机输入输出接口使用方法,学会开关量输入输出控制的接口技术及编程方法
实验题目:8个发光二极管D1~D8分别接在单片机P0.0-P0.7端口上,一个开关接在P3.0上。要求输出端口输出“0”时,发光二极管亮。开关闭合时,开始按P0.0+P0.7、P0.1+P0.6、P0.2+P0.5、P0.3+P0.4的顺序依次点亮LED,再按P0.3+P0.4、P0.2+P0.5、P0.1+P0.6、P0.0+P0.7的顺序点亮LED,重复循环。开关断开时,立刻停止点亮指示灯。
#include<reg51.h>
#include<intrins.h>
sbit s1=P3^0;
unsigned char code Value_p1[]={0x81,0x42,0x24,0x18};
void Delay(unsigned int x){ //延时程序
unsigned char t;
while(x--)
{
for(t=0;t<100;t++);
}
}
void main(void)
{
unsigned char i;
P1=0xFF;
while(s1==0)
{
for(i=0;i<4;i++)//开始
{
P1=~Value_p1[i];
if(s1==1)
break;
Delay(600);
}
//中间停顿
Delay(600);
for(i=3;i>=0;i--)//返回
{
P1=~Value_p1[i];
if(s1==1)
break;
Delay(600);
}
}
}