|
//myio.h自己寫的連接庫(加入C:\Keil\c51\INC
/*開關(guān)松開后才工作
(無優(yōu)先之分,
(如PB1按下?Y,執(zhí)行PB1后的語句,并返回,即那個開關(guān)按下,執(zhí)行此開關(guān)后的語句,即返回
聲明區(qū)*/
#include <reg51.h> //定義8051寄存器的頭文件
#include "myio.h" //自己寫的I/O連接庫
sbit PB1=P2^0; //開關(guān)按鈕所接位置
sbit PB2=P2^1; //開關(guān)按鈕所接位置
sbit PB3=P2^2; //開關(guān)按鈕所接位置
sbit PB4=P2^3; //開關(guān)按鈕所接位置
//#define PB P2 //開關(guān)按鈕所接位置
main()//主程序開始
{ LED=0xff; //初值狀態(tài)(LED全暗
P2=0xff; //設(shè)為輸入口
while(1) //無窮循環(huán)
switch(~P2) //switch語句開始
{ case 0x01: //如果PB1被按下
{ debouncer(); //防料動
while(PB1==0); //等等PB1放開
debouncer(); //防料動
alter(3); //交互閃爍3次
flash(3); //全燈閃3次
break; } //退出switch語句
case 0x02: //如果PB2被按下
{ debouncer(); //防料動
while(PB2==0); //等等PB2放開
debouncer(); //防料動
left(3); //單燈左移3圈
flash(3); //全燈閃3次
break; } //退出switch語句
case 0x04: //如果PB3被按下
{ debouncer(); //防料動單燈右移
while(PB3==0); //等等PB3放開
debouncer(); //防料動
right(3); //單燈右移3圈
flash(3); //全燈閃3次
break; } //退出switch語句
case 0x08: //如果PB4被按下
{ debouncer(); //防料動
while(PB4==0); //等等PB4放開
debouncer(); //防料動
pili(3); //霹靂燈3圈
flash(3); //全燈閃3次
break; } //退出switch語句
} //switch語句結(jié)束
} //主程序結(jié)束
|
|