久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2034|回復: 4
打印 上一主題 下一主題
收起左側

下邊這個單片機匯編按鍵程序的按鈕為什么按第五次時不靈了?

[復制鏈接]
跳轉到指定樓層
樓主
ID:798779 發表于 2020-9-23 16:56 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
下邊程序 在試驗時 ,前四次按開關 可以正常到循環次數后 停下,但第五次按開關時 就不停了,關電重啟后 也是一樣,只有四次開關有效,不論是 K0 K1,或者是隨便,只要達五次開關,就不停, 什么原因。

ORG      00H;   
K0    EQU  P0.0 ;      設定P0.0以 K0 代表示反轉
K1    EQU  P0.1 ;      設定P0.1以 K1 表示正轉,
STOP:   MOV   P1 ,   #0FFH ;      電機停止;    開始掃描各按鈕狀態;
LOOP:   JNB    K0 ,   FM ;         是否按 K0 --是 則反轉        
JNB    K1 ,   ZM ;            是否按 K1 -- 是則正轉            
JMP    LOOP  ;            跳到 LOOP 處循環掃描檢查開關狀況; ;開關消抖程序               
K0XD:     ACALL   DELAY         ;   按K0 的肖抖                  
JNB     K0 ,  $ ;      K0 放開否?               
ACALL   DELAY        ;            放開削除抖動                    
JMP     FM  ;                 轉到反轉處
K1XD:     ACALL   DELAY        ;    按K1 的肖抖                           
JNB     K1 ,  $ ;       K1 放開否?                  
ACALL   DELAY        ;    放開削除抖動               
JMP     ZM  ;                 轉到ZM處  ;反轉300步子程序;  
FM:                MOV   R1 ,  #00;               
MOV   R1 ,  #75  ;    走300步的脈沖數循環次數
FM1:     MOV   P1,  #0F3H ;           第一步            
ACALL  DELAY ;       延時4MS            
MOV   P1,  #0F9H ;           第二步            
ACALL  DELAY ;       延時4MS            
MOV   P1,  #0FCH ;           第三步            
ACALL  DELAY ;       延時4MS            
MOV   P1,  #0F6H ;           第四步           
ACALL  DELAY ;       延時4MS                  
DJNZ   R1,  FM1;           循環        
RET;    ;  正轉300子程序ZM:              
MOV   R1  ,  #00  ;            
MOV   R1  ,  #75  ;  走300步的脈沖數循環次數   
ZM1:     MOV   P1  ,  #0F6H ;           第一步           
ACALL  DELAY ;       延時4MS            
MOV   P1 ,    #0FCH ;           第二步            
ACALL  DELAY ;       延時4MS            
MOV   P1  ,  #0F9H ;              第三步           
ACALL  DELAY ;       延時4MS            
MOV   P1  ,  #0F3H ;              第四步            
ACALL  DELAY ;       延時4MS            
DJNZ   R1,   ZM1;            循環        
RET;
DELAY:     MOV   TMOD  ,  #00000001B ;          延時時間4MS                     
SETB    TR0                 ;                  
MOV    TL0   ,  #LOW(65336-4000);                     
MOV    TH0   ,  #HIGH(65336-4000);                     
JNB     TF0  ,   $  ;                     
CLR     TF0    ;                     
RET ;  
END

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:261025 發表于 2020-9-23 18:15 | 只看該作者
實測把RET換成   LJMP STOP;可以無限按

51hei截圖202009231813331.jpg (162.71 KB, 下載次數: 32)

51hei截圖202009231813331.jpg

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:798779 發表于 2020-9-23 20:58 來自觸屏版 | 只看該作者
行了,謝謝!原因是什么呢
回復

使用道具 舉報

地板
ID:88256 發表于 2020-9-24 00:45 | 只看該作者
程序寫得很亂,消抖的K0XD和K1XD根本就沒用到。
程序錯亂,應該是你胡亂使用RET造成的,JNB是跳轉而不是調用,子程序結束后使用RET就會將堆棧彈出作為程序返回的地址,所以按沙發說的改用跳轉指令就會正常了,RET只有在用ACALL或者LCALL調用的子程序結束后使用,不過也不是絕對的,也有特殊利用的時候。
回復

使用道具 舉報

5#
ID:782419 發表于 2020-9-25 10:04 | 只看該作者
還真有能看懂匯編的高手,真是強!看到匯編就頭暈啊!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费观看av网站 | 亚洲国产成人精品女人久久久 | 91精品国产综合久久久动漫日韩 | 久久精品二区亚洲w码 | 国产第一页在线播放 | av中文字幕在线播放 | 日日夜夜免费精品视频 | 在线成人av| 日韩欧美大片在线观看 | 久久国产成人精品国产成人亚洲 | 国产成人一区二区三区 | 欧美亚洲国产一区二区三区 | 一区二区在线 | 国产一区在线免费 | 99爱在线视频 | 日本久久久影视 | 91精品国产乱码久久久久久久 | 三级黄视频在线观看 | 久久久国产一区二区三区四区小说 | 精品视频99 | 国产精品高潮呻吟久久 | 国产高清免费视频 | 久久av在线播放 | 日韩精品 | 狠狠做深爱婷婷综合一区 | 国产精品一区二区三区免费观看 | 成人超碰在线 | 免费三级av | 国产精品久久九九 | 成人av免费 | 国产激情91久久精品导航 | 精品一区二区三区在线视频 | 日韩欧美中文字幕在线观看 | 天天碰日日操 | 99免费在线观看视频 | 国产一区二区不卡 | 色综合色综合色综合 | 国产欧美日韩视频 | 亚洲欧美国产视频 | 麻豆av一区二区三区久久 | 综合久久综合久久 |