下載手機(jī)汽配人

51單片機(jī)檢測(cè)增量式旋轉(zhuǎn)光電編碼器匯編程序有點(diǎn)問(wèn)題,請(qǐng)高手看看,分?jǐn)?shù)不是問(wèn)題

思路如下:是先采用一個(gè)單片機(jī)吧光電編碼器的信號(hào)處理成順時(shí)針旋轉(zhuǎn)一個(gè)腳輸出脈沖,逆時(shí)針旋轉(zhuǎn)另一個(gè)腳輸出脈沖,這兩路脈沖分別送到89C51的T0,T1計(jì)數(shù)輸入端計(jì)數(shù)器設(shè)置為方式2,每20個(gè)脈沖中斷一次,T0,T1中斷分別對(duì)兩組寄存器值加1,在主程序中吧兩組寄存器的數(shù)值相減即下面程序中的A0,A1,A2分別減B0,B1,B2以得到實(shí)際值,Z5為負(fù)號(hào)標(biāo)志。而這個(gè)程序出錯(cuò)后我又采用了方法2,即在中斷程序中直接對(duì)同一組寄存器數(shù)值加一或減一,但每次由一個(gè)方向反向后到0會(huì)產(chǎn)生借位,導(dǎo)致程序數(shù)值錯(cuò)誤請(qǐng)高手指點(diǎn)該怎么改下能讓這個(gè)程序能正確的計(jì)算出實(shí)際運(yùn)行值謝謝。下面是方法一的程序計(jì)數(shù)中斷程序:;*******************************TT0: PUSH PSW ;計(jì)夠20P脈沖中斷發(fā)生即1MM PUSH A INC A0 MOV A,A0 CJNE A,#00H,TT0END ;夠256即256mm INC A1 MOV A,A1 CJNE A,#100,TT0END ;夠100即25600MM=25.6M MOV A1,#00HTT0END: POP A POP PSW RETI;********************************TT1: PUSH PSW PUSH A INC B0 MOV A,B0 CJNE A,#00H,TT1END INC B1 MOV A,B1 CJNE A,#100,TT1END MOV B1,#00HTT1END: POP A POP PSW RETI主程序中的相減程序: CLR C MOV A,TL0 MOV B,TL1 SUBB A,B JNC SS0 ;有借位說(shuō)明A是負(fù)數(shù),即補(bǔ)碼,要調(diào)整后使用 CPL A INC A;*********整數(shù)部分運(yùn)算********** CLR C MOV A,A0 MOV B,B0 SUBB A,B ;相減如果C為1說(shuō)明A內(nèi)數(shù)據(jù)為補(bǔ)碼故調(diào)整 JNC S0 CPL A INC A SETB Z5 SJMP S1S0: CLR Z5S1: MOV R7,A CLR C MOV A,A1 MOV B,B1 SUBB A,B JNC S2 CPL A INC A SETB Z5 SJMP S3S2: CLR Z5S3: MOV R6,A方法2的程序:TT0: PUSH PSW ;計(jì)夠20P脈沖中斷發(fā)生即1MM PUSH A MOV A,A2 JNZ T00 MOV A,A1 JNZ T00 MOV A,A0 JNZ T00 CLR Z5 T00: JB Z5,T02 MOV A,A0 ADD A,#01H DA A MOV A0,A CJNE A,#00H,TT0END ;夠100即100mm MOV A0,#00H MOV A,A1 ADD A,#01H DA A MOV A1,A CJNE A,#00H,TT0END ;夠100即10000MM=10M MOV A1,#00H MOV A,A2 ADD A,#01H DA A MOV A2,A CJNE A,#00H,TT0END MOV A2,#00H CLR Z5 SJMP TT0ENDT02: MOV A,A0 ADD A,#99H DA A MOV A0,A CJNE A,#00H,TT0END MOV A,A1 ADD A,#99H DA A MOV A1,A CJNE A,#00H,TT0END MOV A1,#00H MOV A,A2 JNZ T03 ADD A,#99H DA A MOV A2,A CJNE A,#00H,TT0END MOV A2,#00HT03: CLR Z5TT0END: POP A POP PSW RETI
問(wèn) 提問(wèn)者:網(wǎng)友 2017-03-08
最佳回答
不明白你寫(xiě)的,你把題目說(shuō)的清晰一點(diǎn) ,看了好幾遍,程序編的挺簡(jiǎn)單
回答者:網(wǎng)友
產(chǎn)品精選
搜索問(wèn)答
還沒(méi)有汽配人賬號(hào)?立即注冊(cè)

我要提問(wèn)

汽配限時(shí)折扣

本頁(yè)是網(wǎng)友提供的關(guān)于“51單片機(jī)檢測(cè)增量式旋轉(zhuǎn)光電編碼器匯編程序有點(diǎn)問(wèn)題,請(qǐng)高手看看,分?jǐn)?shù)不是問(wèn)題”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。