標題: 求哪位熱心的哥哥姐姐幫我一下,把這個改成匯編,拜托了,很急,很急 [打印本頁]
作者: 出來乍道 時間: 2016-5-14 02:11
標題: 求哪位熱心的哥哥姐姐幫我一下,把這個改成匯編,拜托了,很急,很急
JMP LLL2
LLL1: MOV A,TL0 ;檢測滴速是否處于警戒范圍內
CLR C
SUBB A,22H ;22H為保存滴速最大警戒值單元
JNC WARN ;滴速大于最大警戒值,則報警
JMP LLL2
CLR C
MOV A,TL0
SUBB A,#23H ;23H為保存滴速最小警戒值單元
JC WARN ;滴速小于最小警戒值,則報警
MOV 20H,TL0
LLL2: CALL S_BINBCD ;將滴速數值轉化為BCD碼,以供顯示
CALL DISP ;調用顯示子程序,顯示滴速實際值
MOV A,20H
SUBB A,21H ;21H為保存滴速設定值單元
JZ START ;實際滴速=設定滴速,則返回
MOV B,#m ;調入步進系數m,m反映了滴速差與步進
;電機轉動步數之間的倍數關系
PUSH PSW
MUL A,B
MOV R4,A ;保存乘積的低8位
MOV A,B
JZ JUDG ;如果高8位為0,即步數小于或等于255,
;則轉步進電機正反轉判斷
MOV R4,#255 ;如果高8位不為0,即步數大于255,
;則設定本監控周期最大轉動步數為255
JUDG: POP PSW
JC REV ;如果C=1,則N實〈 N設
,控制步進電機反轉
FOR : MOV R0,#00H ;否則C=0,正轉,正轉取碼指針初值
START2: MOV A,R0 ;取碼指針載入A
MOV DPTR,#BU_TABLE ;數據指針指到BU-TABLE
MOV A,@a+BU-TABLE ;至BU-TABLE取值
JZ FOR ;取到結束碼,跳至FOR
CPL A
MOV P2,A ;將取到的碼輸出到P2口
CALL DELAY ;20毫秒延時(速度)
INC R0 ;取碼指針加1,取下一個碼
DJNZ R4,START2
JMP START
REV: MOV R0,#05H ;反轉取碼指針初值
START3: MOV A,R0
MOV DPTR,#BU_TABLE
MOV A,@A+DPTR
JZ REV ;取到結束碼00H,則跳至REN
CPL A
MOV P2,A
CALL DELAY ;延時20毫秒
INC R0
DJNZ R4,START3 ;未走完步數,則繼續
JMP START
作者: 雪玉寐影 時間: 2016-5-14 12:13
可能是想改成C吧
作者: lshhjx 時間: 2016-5-15 11:36
你這個已經是匯編了,小妹妹
| 歡迎光臨 (http://www.denmoz.com/bbs/) |
Powered by Discuz! X3.1 |