要求
1、使用单片机内部定时器做为延时函数
2、独立按键K1控制流水灯左移
3、独立按键K2控制流水灯右移
资源
工程文件压缩包
链接:https://pan.baidu.com/s/1W9YeW8SumYk5bm530i4mKQ
提取码:uppa
效果
main函数
#include <REGX52.H>
#include <INTRINS.H>
#include "Delay.h"
#include "Timer0.h"
#include "Key.h"
unsigned char flag=1;
void main(){
unsigned char key;
P2=0xfe;
Timer0Init();
while(1){
key=get_key();
if(key==1) flag=1;
if(key==2) flag=2;
Delayms(600);
}
}
void Timer0_Routine() interrupt 1 //中断1
{
static unsigned int T0Count; //用于计时
TL0 = 0x66; //设置定时初值
TH0 = 0xFC; //设置定时初值
T0Count++;
if(T0Count>=1000)
{
T0Count=0;
if(flag==1){
P2=_cror_(P2,1); //循环左移
}
if(flag==2){
P2=_crol_(P2,1); //循环右移
}
}
}