急!!51微控制器匯程式設計序問題

2023-03-14 22:30:05 字數 1578 閱讀 9532

1樓:做而論道

缺少消抖環節。

延時10ms後,再去判斷是否按下。

loopmain:

jb ,counts ;為1轉移,因為沒有按鍵。

lcall dl10ms ;為0,是有鍵按下,等10msjb ,counts ;為1轉移,因為剛才是按鍵抖動。

ljmp cou ;依然為0,才去執行按鍵的功能程式。

2樓:匿名使用者

樓上說的消抖是乙個方面,也就是說當你判斷出有按鍵的時候,要延時20ms,然後再去判斷是否有按鍵,如果有就可以確認是乙個有效的按鍵。還有乙個最主要的問題:當你按下的時候,時間最少也有幾個毫秒,而掃瞄指令都是微秒級的,此時可以想象程式的:

cou:inc datacount ;datacount就是有問題的值。

mov datasect,#00h

loopmain:

jb ,counts

ljmp cou

這一部分執行了多少次。所以,還要加上標誌位,當按下的時候,開啟此標誌位,鬆開的時候關閉。只在此標誌開啟的時候執行一次inc即可,一直按下的時候不要去執行inc。

3樓:網友

cou:inc datacount;

mov datasect,#

loopmain:

setb jb ,counts

你應該先將引腳置1,再讀引腳,再採用防消鬥,再讀引腳時應該使鎖存器與電晶體的連線埠處於截止狀態。

匯程式設計序,急!

4樓:黃色蒲公英花

da1 db„abcdefghi‟

應該是:da1 db "abcdefghi" ;吧,就是定義a-i這7個字元計算機中,'a'的ascii碼值是41h,'1'的ascii碼值31h,所以sub al,10h,就是把'a'變成'1';

而bcdefghi這8個字元,都是依次比前乙個字元大1(按字每表順序),'23456789'也是這樣。

所以依次sub 10h後,就變成了'123456789'。

請教微控制器高手幾個問題!!!!

5樓:爬行的山羊

肯定需要啦,微控制器只是乙個微型的計算機,多用與資訊的採集和處理,採集肯定用到感測器等元件。eda屬於數位電路的範疇到和微控制器離的比較遠。另外模擬電路的設計是必須的。

先用51入門。其他的學什麼都可以。微控制器的種類太多了。

**求三個《微控制器》問題,急!!請高手詳解!!

6樓:曉非飝

1,-51,(更正,演算法見樓下)

2,如果微控制器是8位的,那麼,640kb * 8 = 640 * 1024 * 8bit = 5,242,880個儲存單元。

3,(-128~0~127)共256個。

7樓:匿名使用者

樓上的第一題明顯回答錯了,帶符號位是以補碼的形式表示的,例如1111 1111 表示的是-1,而不是-127.所以答案應該是-51

微控制器的程式問題,求大神解答!!!!

微控制器大神請進,51微控制器彙編程式,程式可發至

1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1 l8按16進位制加一方式點亮發光二極體。程式如下 org 0540h ha1s mov a,00h a初值為0 ha1s1 jb p3.3,ha1s1 如果p3.3為1則等待 有脈衝變0一次 mov r2,20h r2賦值為20 lcal...

微控制器匯程式設計序在keil中編譯成功,但是Proteus中卻仿

在keil中編譯成功說明沒有語法錯誤,proteus 不了可能就是你的硬體電路有問題了。或者硬體電路和程式對應不上。單步除錯看看,問題出在 編譯成功 只能證明語法正確 可能你的硬體有問題,也可能程式就不對,單步執行一下吧。看看 也可能protus的問題 以前我做數碼管的動態顯示。就不行。放在開發板上...

51微控制器倒序指令組合語言,51微控制器的指令是組合語言嗎

func 版 mov r0,0 權 mov r7,8 loop rlc a xch a,r0 rrc a xch a,r0 djnz r7,loop mov a,r0ret 51微控制器的指令是組合語言嗎?組合語言 assembly language 是一種用於電子計算機 微處理器版 微控制器或其他...