性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

求解按鍵程序設計

正在學習51的匯編,對按鍵掃描很是不了解.1.剛開機的時候掃描按鍵,但是在執(zhí)行了按鍵的程序后,單片機轉(zhuǎn)到其他地方去執(zhí)行某條指令了,如何再對按鍵進行掃描? 2.比如按下一個鍵后,某一個燈亮了,如何又能通過按同一個鍵讓它熄滅?相當于同一個鍵既要實現(xiàn)開機,又要實現(xiàn)關機,怎么處理呢?附件為掃描到鍵按下后,燈一直亮,如何通過按下同一個鍵讓它熄滅?程序比較簡單,現(xiàn)在也編不出來有實際意義的程序,只想得到對一個問題的解答.自學匯編的確很難,請高手們指點指點.1161269170.txt
全部回復(4)
正序查看
倒序查看
ytuan
LV.3
2
2006-10-21 18:30
我也是初學者,用C語言寫啊,簡單些啊.
#include 《at89X51.h》
bit k=0;
void scan(void)
{unsigned int i;
if(!P2_0)
    {for(i=0;i<3000;i++);
    if(!P2_0)k=~k;
    }
}
void main(void)
{while(1)
{scan();
if(k)P0_0=0;
else P0_0=1;
}
}
0
回復
abing
LV.8
3
2006-10-21 18:55
我看了一下你的程序根本不能工作.

不知你有沒有學習開發(fā)工具,致少要有一片單片機和一個編程器.
編程器自己做的話只要幾元,買別人的也只要20多元(當然可以考慮和我買,哈哈)

KEIL51軟件會用了嗎?要是不會最好找個了解一點的人指點一下

OK

按鍵檢測不是用CLR,可以用JNB或JB

說一個簡單的程序

//LED陰極接于P0.0口  陽極串接一個220歐電阻到+5V

org  0030H  //一般簡單的程序不用也行,0000H-002FH用于中斷入口
clr P0      //初始化P0口
main:       //主程序
SETB P0.0   //P0口輸出高電平,LED滅
LJMP delay  //廷時一段時間,要不然閃的太快根本看不出來.就算你是超人,由于LED本身有廷時,所以也看不出來.哈哈

CLR P0.0     //將P0.0口輸出低電平,LED亮
LJMP  delay  //廷時
LJMP main    //返回主程序

///////////////////////////////廷時程序
delay:
      mov r5,#255   //
   D1:mov r6,#255   //
   D2:DJNZ r6,D2
      DJNZ r5,D1
/////////////////////////////廷時時間和使用的晶振有關

END

執(zhí)行這個程序你會看到LED不斷的閃爍

給初學者一些提示:
1、一定要有很好的耐性,特別是沒人指導時
mov r5,#255   以這句來說,有時用了不用輸入法輸入的“,”結(jié)果是不一樣的.還有#255的“#”也不要忘了.
2、細心
很多初學都寫的程序多多少少都會有點錯的,我曾這樣寫過
RR P0//
這樣是一個完全錯誤的語句,還有常反“0”與"o"搞錯

如有不對之處請各位網(wǎng)友指點!!!!
0
回復
choyse
LV.1
4
2006-10-21 19:07
@abing
我看了一下你的程序根本不能工作.不知你有沒有學習開發(fā)工具,致少要有一片單片機和一個編程器.編程器自己做的話只要幾元,買別人的也只要20多元(當然可以考慮和我買,哈哈)KEIL51軟件會用了嗎?要是不會最好找個了解一點的人指點一下OK按鍵檢測不是用CLR,可以用JNB或JB說一個簡單的程序//LED陰極接于P0.0口  陽極串接一個220歐電阻到+5Vorg  0030H  //一般簡單的程序不用也行,0000H-002FH用于中斷入口clrP0      //初始化P0口main:      //主程序SETBP0.0  //P0口輸出高電平,LED滅LJMPdelay  //廷時一段時間,要不然閃的太快根本看不出來.就算你是超人,由于LED本身有廷時,所以也看不出來.哈哈CLRP0.0    //將P0.0口輸出低電平,LED亮LJMP  delay  //廷時LJMPmain    //返回主程序///////////////////////////////廷時程序delay:      movr5,#255  //  D1:movr6,#255  //  D2:DJNZr6,D2      DJNZr5,D1/////////////////////////////廷時時間和使用的晶振有關END執(zhí)行這個程序你會看到LED不斷的閃爍給初學者一些提示:1、一定要有很好的耐性,特別是沒人指導時movr5,#255  以這句來說,有時用了不用輸入法輸入的“,”結(jié)果是不一樣的.還有#255的“#”也不要忘了.2、細心很多初學都寫的程序多多少少都會有點錯的,我曾這樣寫過RRP0//這樣是一個完全錯誤的語句,還有常反“0”與"o"搞錯如有不對之處請各位網(wǎng)友指點!!!!
謝謝你給大家的提醒,呵呵.有機會也要幫幫我啊.
0
回復
發(fā)