2.1殻會孔嬬嚥糞孖
啣周窮揃宙峰泌和?89S52 汽頭字議P1 笥俊嗤8 倖LED?輝蝶匯極笥補竃葎“0”扮?
屢哘議LED 泣疏?P3.2、P3.3、P3.4、P3.5 蛍艶俊嗤膨倖梓泥K1~K4?梓和梓泥扮?屢哘
哈重瓜俊仇。孖勣箔園亟辛囚陣議送邦菊殻會?輝K1 梓和扮?蝕兵送強?K2 梓和扮唯峭
送強?畠何菊註?K3 聞菊喇貧吏和送強?K4 聞菊喇和吏貧送強。
和中遍枠公竃殻會?隼朔壅序佩蛍裂。
箭 2-1?囚陣送邦菊議殻會
#include "reg51.h"
#include "intrins.h"
#define uchar unsigned char
void mDelay(unsigned int DelayTime)
{ unsigned int j=0;
for(;DelayTime>0;DelayTime--)
{ for(j=0;j<125;j++)
{;} }}
uchar Key()
{ uchar KeyV;
uchar tmp;
P3=P3|0x3c; //膨倖梓囚侭俊了崔
KeyV=P3;
if((KeyV|0xc3)==0xff) //涙囚梓和
return(0);
mDelay(10); //决扮?肇囚橋
KeyV=P3;
if((KeyV|0xc3)==0xff)
return(0);
else
{ for(;;){ tmp=P3;
if((tmp|0xc3)==0xff)
break;}
return(KeyV);}}
void main()
{ unsigned char OutData=0xfe;
bit UpDown=0;
bit Start=0;
uchar KValue;
for(;;)
{ KValue=Key();
switch (KValue)
{ case 0xfb: //P3.2=0,Start
{ Start=1;
break; }
case 0xf7: //P3.3=0,Stop
{ Start=0;
break; }
case 0xef: //P3.4=0 Up
{ UpDown=1;
break; }
case 0xdf: //P3.5=0 Down
{ UpDown=0;
break; }
}
if(Start)
{ if(UpDown)
OutData=_crol_(OutData,1);
else
OutData=_cror_(OutData,1); P1=OutData;
}
else
P1=0xff; //倦夸菊畠註
mDelay(1000);
}
}
補秘坿殻會?隠贋葎exam21.c?秀羨兆葎exam21 議垢殻猟周?僉夲議CPU 侏催葎
AT89S52?壓Debug 匈紗秘-ddpj6?參宴聞喘汽頭字糞刮径寔医?凪麿梓潮範譜崔。屎鳩園
咎、全俊朔序秘距編庁塀?泣似Peripherals51 糞刮径寔医?嬉蝕糞刮径寔医?僉夲Run
?畠堀塰佩??緩扮糞刮径寔医短嗤延晒?喘報炎泣似貧圭議K1 梓泥?防蝕朔軸辛心欺Led
“送強”軟栖?兜兵彜蓑頁喇和吏貧送強?泣似K3 梓泥?辛個延LED 議送強圭??個葎
喇貧吏和送強?泣似K4 梓泥?嗽辛繍送強圭?延算指栖。泣似K2 梓泥?辛聞送強唯峭?
侭嗤LED“賂註”。
2?1?1 殻會蛍裂
云殻會嶄塰喘欺阻曾嶽僉夲潤更議殻會?if 才switch?if 囂鞘恷械喘議侘塀頁?
if(購狼燕器塀)囂鞘1 else 囂鞘2
2?1?2 購狼塰麻憲才購狼燕器塀
侭僚“購狼塰麻”糞縞貧頁曾倖峙恬匯倖曳熟?登僅凪曳熟議潤惚頁倦憲栽公協議訳周。
購狼塰麻議潤惚峪嗤2 嶽辛嬬?軸“寔”才“邪”。箭?3>2 議潤惚葎寔?遇3<2 議潤惚葎
邪。
C 囂冱匯慌戻工阻6 嶽購狼塰麻憲?“?”?弌噐?、“??”?弌噐吉噐?、“?”?寄噐?、
“???寄噐吉噐?”、“??”?吉噐?才“??”?音吉噐?。
喘購狼塰麻憲繍曾倖燕器塀銭俊軟栖議塀徨?各葎購狼燕器塀。箭?
a>b?a+b>b+c??a=3?>=?b=5?吉脅頁栽隈議購狼燕器塀。購狼燕器塀議峙峪嗤曾嶽
辛嬬?軸“寔”才“邪”。壓C 囂冱嶄?短嗤廨壇議貸辞侏延楚?泌惚塰麻議潤惚頁“寔”?
喘方峙“1”燕幣?遇塰麻議潤惚頁“邪”夸喘方峙“0”燕幣。
泌塀徨?x1=3>2 議潤惚頁x1 吉噐1?圻咀頁3>2 議潤惚頁“寔”?軸凪潤惚葎1?乎潤
惚瓜“?”催験公阻x1?宸戦倬廣吭?“?”音頁吉噐岻吭?C 囂冱嶄吉噐喘“??”燕幣??
遇頁験峙催?軸繍乎催朔中議峙験公乎催念中議延楚?侭參恷嶮潤惚頁x1 吉噐1。
塀徨?x2=3<=2 議潤惚頁x2=0?萩徭佩蛍裂。
屢哘議LED 泣疏?P3.2、P3.3、P3.4、P3.5 蛍艶俊嗤膨倖梓泥K1~K4?梓和梓泥扮?屢哘
哈重瓜俊仇。孖勣箔園亟辛囚陣議送邦菊殻會?輝K1 梓和扮?蝕兵送強?K2 梓和扮唯峭
送強?畠何菊註?K3 聞菊喇貧吏和送強?K4 聞菊喇和吏貧送強。
和中遍枠公竃殻會?隼朔壅序佩蛍裂。
箭 2-1?囚陣送邦菊議殻會
#include "reg51.h"
#include "intrins.h"
#define uchar unsigned char
void mDelay(unsigned int DelayTime)
{ unsigned int j=0;
for(;DelayTime>0;DelayTime--)
{ for(j=0;j<125;j++)
{;} }}
uchar Key()
{ uchar KeyV;
uchar tmp;
P3=P3|0x3c; //膨倖梓囚侭俊了崔
KeyV=P3;
if((KeyV|0xc3)==0xff) //涙囚梓和
return(0);
mDelay(10); //决扮?肇囚橋
KeyV=P3;
if((KeyV|0xc3)==0xff)
return(0);
else
{ for(;;){ tmp=P3;
if((tmp|0xc3)==0xff)
break;}
return(KeyV);}}
void main()
{ unsigned char OutData=0xfe;
bit UpDown=0;
bit Start=0;
uchar KValue;
for(;;)
{ KValue=Key();
switch (KValue)
{ case 0xfb: //P3.2=0,Start
{ Start=1;
break; }
case 0xf7: //P3.3=0,Stop
{ Start=0;
break; }
case 0xef: //P3.4=0 Up
{ UpDown=1;
break; }
case 0xdf: //P3.5=0 Down
{ UpDown=0;
break; }
}
if(Start)
{ if(UpDown)
OutData=_crol_(OutData,1);
else
OutData=_cror_(OutData,1); P1=OutData;
}
else
P1=0xff; //倦夸菊畠註
mDelay(1000);
}
}
補秘坿殻會?隠贋葎exam21.c?秀羨兆葎exam21 議垢殻猟周?僉夲議CPU 侏催葎
AT89S52?壓Debug 匈紗秘-ddpj6?參宴聞喘汽頭字糞刮径寔医?凪麿梓潮範譜崔。屎鳩園
咎、全俊朔序秘距編庁塀?泣似Peripherals51 糞刮径寔医?嬉蝕糞刮径寔医?僉夲Run
?畠堀塰佩??緩扮糞刮径寔医短嗤延晒?喘報炎泣似貧圭議K1 梓泥?防蝕朔軸辛心欺Led
“送強”軟栖?兜兵彜蓑頁喇和吏貧送強?泣似K3 梓泥?辛個延LED 議送強圭??個葎
喇貧吏和送強?泣似K4 梓泥?嗽辛繍送強圭?延算指栖。泣似K2 梓泥?辛聞送強唯峭?
侭嗤LED“賂註”。
2?1?1 殻會蛍裂
云殻會嶄塰喘欺阻曾嶽僉夲潤更議殻會?if 才switch?if 囂鞘恷械喘議侘塀頁?
if(購狼燕器塀)囂鞘1 else 囂鞘2
2?1?2 購狼塰麻憲才購狼燕器塀
侭僚“購狼塰麻”糞縞貧頁曾倖峙恬匯倖曳熟?登僅凪曳熟議潤惚頁倦憲栽公協議訳周。
購狼塰麻議潤惚峪嗤2 嶽辛嬬?軸“寔”才“邪”。箭?3>2 議潤惚葎寔?遇3<2 議潤惚葎
邪。
C 囂冱匯慌戻工阻6 嶽購狼塰麻憲?“?”?弌噐?、“??”?弌噐吉噐?、“?”?寄噐?、
“???寄噐吉噐?”、“??”?吉噐?才“??”?音吉噐?。
喘購狼塰麻憲繍曾倖燕器塀銭俊軟栖議塀徨?各葎購狼燕器塀。箭?
a>b?a+b>b+c??a=3?>=?b=5?吉脅頁栽隈議購狼燕器塀。購狼燕器塀議峙峪嗤曾嶽
辛嬬?軸“寔”才“邪”。壓C 囂冱嶄?短嗤廨壇議貸辞侏延楚?泌惚塰麻議潤惚頁“寔”?
喘方峙“1”燕幣?遇塰麻議潤惚頁“邪”夸喘方峙“0”燕幣。
泌塀徨?x1=3>2 議潤惚頁x1 吉噐1?圻咀頁3>2 議潤惚頁“寔”?軸凪潤惚葎1?乎潤
惚瓜“?”催験公阻x1?宸戦倬廣吭?“?”音頁吉噐岻吭?C 囂冱嶄吉噐喘“??”燕幣??
遇頁験峙催?軸繍乎催朔中議峙験公乎催念中議延楚?侭參恷嶮潤惚頁x1 吉噐1。
塀徨?x2=3<=2 議潤惚頁x2=0?萩徭佩蛍裂。