51微控制器程式賦值順序問題 問題在程式的下面)

2021-05-02 20:06:56 字數 533 閱讀 2898

1樓:

首先,微控制器復位之後一般都會清空資料暫存器的,所以不賦初始值,也是0;

其次,就算i的值不確定,也不會出現什麼問題的,i初始值大於50則直接跳過while,i變成0,i小於50則自增到50也變成0,只不過會讓第一次按鍵堵塞時間縮短,一般也看不出來。

但是好的習慣應該是在使用變數前給變數賦值。

2樓:煙火夜空

這條 while 語句 ,不僅 識別 按鍵是否鬆開,還識別 按鍵是否 長按 超過500ms(假設lz 的延時函式就是 10ms 的);

首先,i 定義時,預設初始化 為 0,第一次 進入到該 while 迴圈,i =0<50 成立,如果 按鍵不鬆開,那麼 while 條件成立,執行內容,裡面是 延時10ms 跟 i++;如此 迴圈 50次,i =50<50 不成立,不管 按鍵是否 鬆開,while 條件都不成立,不執行迴圈內容,執行 i =0;退出 2個 if 語句,回到主函式 的 while(1)語句, i 變數 仍然有效,保持 前面的賦值 i=0 不變,下次進入,等同於 第一進入。

微控制器 外接ROM的問題,關於51微控制器讀取片外ROM的問題

1 應該說是讀取每條指令的每個位元組都要經過這四個步驟,因指令系統分為單位元組 雙位元組和三位元組指令,因此,每個位元組都需要從外部rom中讀取出來,只要是讀取一個位元組就要經過這四個步驟,沒有疑問的。2 微控制器讀取指令時,是按機器週期來執行的,而與內外無關,所以,效率是相同的。當程式只存在外部r...

微控制器實現LED閃光程式,51微控制器實現用按鍵控制led的閃與不閃

感覺要求有些重複 1 每分鐘閃60次,那麼還手動幹嘛?2 一個開關按一下,亮一個,再按一下另一個亮,再按是都滅嗎?還是第一支亮?不能明白你到底想怎麼樣。手動,自動?每分鐘60次 自動閃亮?為什麼又要按?提問題,也要說清楚哦!這種程式設計不難,先會讓一隻led閃。然後不讓led閃,會用按鍵控制兩隻le...

急求微控制器外部中斷程式,51微控制器外部中斷程式

這相不用中斷程式,就是一個按鍵掃描就行了。bit sign 0 void main void ww interrupt 0我只是簡寫一下,大概就是這個意思 第一次按下數碼管顯示,再按一下數碼管不顯示。希望對你有所幫助!51微控制器外部中斷程式 去抖動抗干擾,程式,或 加個104 電容。急求c程式!5...