我看了下有一些問題:
開關S2,S3你是當按鍵用還是撥碼開關,最好是中間串一個4.7K----10K左右的電阻到VCC或GND.
在單片機的VCC供電處加一個0.1UF的陶瓷電容到GND
其實放大LED倒是不用,因為LED只要5MA--20MA左右就可以點亮,而51單片機的灌電流有20MA左右完全可以驅動,你可以用一個三極管來驅動一個繼電器試試。
看你也是剛學的,已經很不錯了,你可以多參考幾款51單片機的開發板電路圖;至于程序也很簡單,不知道你要實現什么功能
//LED燈閃爍程序
#include????
sbit? LED = P1^2;
void main(void)
{
????unsigned int? i;
????while(1)
????{
????????LED = 1;
????????for(i=5000;i>0;i--);
????????LED = 0;
????????for(i=5000;i>0;i--);
????}
}
對還有三極管接反了
抽空幫你畫了個
#include????
sbit? LED = P2^7;
sbit??key1 = P2^0;
sbit? key2 = P2^1;
void main(void)
{
????while(1)
????{
????????????if(!key1&&!key2)
????????????{
????????????????LED = 1;
????????????}
????????????else
????????????{
????????????????LED = 0;
????????????}
?????}
}