A. 用c語言編程三個按鍵對應點亮三個LED燈的程序,AT89S52單片機,最好有原理圖,謝謝。急求
這個也求?用按鍵點亮LED燈這個是51入門最基礎的東西,真心想學的話,買塊51的開發板,都帶有常式,很快就可以入門的。建議你還是多看看資料把基礎的東西學好。推薦你看一下《十天學會單片機和C語言編程》的視頻教程對入門還是不錯的。
三路搶答器提供你編程思路(按鍵掃描方式)參考,程序還是要根據你的硬體電路自己編寫。
埠配置:
1、選擇4個埠作為輸入埠連接按鍵(獨立按鍵,按鍵一端接單片機埠,另一端接地)。 三路為搶答的按鍵KEY1、KEY2、KEY3,一路為搶答後復位按鍵KEY0。
2、選擇3個埠作為輸出埠連接LED燈(高電平點亮還是低電平點亮要看你電路設計)對應為LED1、LED2、LED3。
編程思路:
1、初始設置一個搶答鍵按下與否的位標志變數:bit flag = 0;(沒有搶答按鍵按下flag = 0,有搶答按鍵按下flag = 1)。
2、主程序按鍵掃描循環。
3、按鍵按下程序KEY1、KEY2、KEY3基本相同。以KEY1為列:
首先判斷是否有搶答鍵按下(KEY1==0),如有搶答按鍵按下,延時10ms(消抖),再判斷是否KEY1==0,如果KEY1==0說明KEY1搶答按鍵已經按下,然後再判斷是否flag = =0,如果flag = =0,則點亮LED1(其他按鍵按下的話點亮相應的LED燈)、按鍵按下標志置「1」(flag = 1)。
4、復位按鍵程序判斷KEY0按下並且flag = =1時,關閉所有LED燈、按鍵按下標志復位置「0」(flag = 0)。