P1口的P1.0~P1.7分别接八个发光二极管。开机后:
1)第一秒钟L1和L3亮,第二秒钟L2和L4亮,第三秒钟L5和L7亮,第四秒钟L6,L8亮;
2)第五秒钟L1、L3、L5和L7亮,第六秒钟L2、L4、L6和L8亮;
3)第七秒钟八个二极管全亮,第八秒钟全灭;
4)以后又从头开始,L1和L3亮, 然后L2和L4亮,....一直循环下去。
要求:编写程序模拟一时序控制装置。由51系列单片机的内部定时器1,按工作方即作为十六位定时器使用每0.1秒钟T1溢出中断一次。在此基础上可增加外部中断反序工作。
int time=0;
switch(time)
{
case 0:P1=P1.0|P1.2;break;
case 10:P1=P1.1|P1.3;break;
以此类推,defult直接过
}
中断中time++;
if(time==80)time=0;
这个是最简单的思路了.反序另外写一套就行.