|
20051125142548.jpg (14.22 KB, 下載次數(shù): 178)
下載附件
2008-8-1 14:10 上傳
請(qǐng)各位大俠幫忙分析下程序中的每段實(shí)現(xiàn)功能及抽樣a,b的那幾種狀態(tài),電機(jī)的正反轉(zhuǎn),謝謝大家
fushu equ acc.7 ;位設(shè)定 sign equ p3.0 ;符號(hào)位 abit equ p3.2 bbit equ p3.4 org 0000h ljmp main org 0100h main: mov psw , #00h mov r3, #00h ;置0 mov r4, #00h mov 70h,#00h mov 71h,#00h mov 72h,#00h mov 71h,#00h setb p3.0 setb p3.6 setb p3.1 mov p2,#88h ;mov r5,#00h loop2: mov r7,#0ffh loop1: mov r6,#0ffh ;延時(shí)chushiyianshi loop: djnz r6,loop djnz r7,loop1 ; djnz r5,loop2 clr p3.0 setb p3.6 setb p3.1 mov p2,#00h clr p3.0 setb p3.3 setb p3.7 mov p1,#00h mov sp,#60h mov r0,#80h mov r1,#02h clear: mov @r1,#00h ;設(shè)定存儲(chǔ)位置,清0 inc r1 djnz r0,clear mov r1,#00h clr p3.0 reada: mov c,abit ;讀abit jnc aup ;脈沖沿判定 adow: mov c,abit jc pd_adow_bbit mov c,bbit jnc adowb0 ljmp adowb1 pd_adow_bbit: mov c,bbit jc adow_bnextdow adow_bnextup: mov c,bbit jc adow_bup jmp adow adow_bup:ljmp bupa1 adow_bdow:ljmp bdowa1 adow_bnextdow: mov c,bbit jnc adow_bdow ljmp adow adowb1: lcall adddisplay lcall display ljmp bdow adowb0: lcall subbdisplay lcall display ljmp bup aup: mov c,abit jnc pd_aup_bbit mov c,bbit jnc aupb0 ljmp aupb1 pd_aup_bbit: mov c,bbit jc aup_bnextdow aup_bnextup: mov c,bbit jc aup_bup ljmp aup aup_bup:ljmp bupa0 aup_bdow:ljmp bdowa0 aup_bnextdow: mov c,bbit jnc aup_bdow ljmp aup aupb1: lcall subbdisplay lcall display ljmp bdow aupb0: lcall adddisplay lcall display ljmp bup bup: mov c,bbit jnc pd_bup_abit mov c,abit jc bupa1 ljmp bupa0 pd_bup_abit: mov c,abit jc bup_anextdow bup_anextup: mov c,abit jc bup_aup ljmp bup bup_aup:ljmp aupb0 bup_adow:ljmp adowb0 bup_anextdow: mov c,abit jnc bup_adow ljmp bup bupa0: lcall subbdisplay lcall display ljmp aup bupa1: lcall adddisplay lcall display ljmp adow bdow: mov c,bbit jc pd_bdow_abit mov c,abit jnc bdowa0 ljmp bdowa1 pd_bdow_abit: mov c,abit jc bdow_anextdow bdow_anextup: mov c,abit jc bdow_aup ljmp bdow bdow_aup:ljmp aupb1 bdow_adow:ljmp adowb1 bdow_anextdow: mov c,abit jnc bdow_adow ljmp bdow bdowa1: lcall subbdisplay lcall display ljmp adow bdowa0: lcall adddisplay lcall display ljmp aup adddisplay: ;加顯示 ;mov 76h,#88h ;mov 75h,#00h mov a,r3 jb acc.7,fu1 clr sign mov a,r4 add a,#01h mov r4,a mov a,r3 addc a,#00h mov r3,a lcall addbcd mov a,r4 cjne a,#0e0h,aret ;3000個(gè)脈沖上限判斷120000 mov a,r3 cjne a,#2eh,aret mov r3, #00h mov r4, #00h mov 72h,#00h mov 71h,#00h mov 70h,#00h mov 73h,#00h lcall display sjmp aret fu1: setb sign clr c mov a,r4 subb a,#01h mov r4,a mov a, r3 subb a,#00h mov r3,a lcall subbcd mov a,r3 cjne a, #80h,aret ;符號(hào)判定和下限判定;80h mov a,r4 cjne a, #00h,aret ;00h mov 40h ,#01h mov r4, #00h ;00h mov r3, #00h ;00h clr 70h clr 71h clr 72h clr 73h lcall display clr sign clr sign aret: ret subbdisplay: ;減法 mov a,r3 jb acc.7,sjad ;減0判斷 clr sign mov r3,a cjne a,#00h,ssub ;00h mov a,r4 cjne a,#00h,ssub ;00h setb sign mov r3,#00h ;00h mov r4,#00h ;00h setb sign sjmp sjad ssub: clr c mov a,r4 subb a, #01h mov r4,a mov a,r3 subb a, #00h mov r3,a lcall subbcd mov a,r3 cjne a,#00h,aaaa ;80h mov a, r4 cjne a,#00h,aaaa ;00h mov r3,#00h mov r4,#00h setb sign clr 70h clr 71h clr 72h clr 73h lcall display aaaa: sjmp sret sjad: setb sign clr c mov a,r4 add a,#01h mov r4,a mov a, r3 addc a,#00h mov r3,a lcall display lcall addbcd setb sign mov a,r3 cjne a,#80h,bbb ;#80 mov a,r4 cjne a,#00h,bbb ;00 mov r3,#00h mov r4,#00h mov 70h,#00h mov 71h,#00h mov 72h,#00h mov 73h,#00h lcall display nop sjmp sret bbb: mov a,r3 cjne a, #0aeh,sret ;#0ceh mov a,r4 cjne a, #0e0h,sret ;#20h mov r4, #00h ;00h mov r3, #80h ;80h lcall display mov 70h, #00h mov 71h, #00h mov 72h, #00h mov 73h,#00h clr sign clr sign lcall display nop nop sret: ret addbcd: mov 30h,#30h ;改動(dòng)為30,原來(lái)為18 mov 31h,#00h mov 32h,#00h sjmp bcd subbcd: mov 30h,#70h ;82h mov 31h,#99h ;99h mov 32h,#99h ;此處原來(lái)99h bcd: mov psw,#00h ;BCD mov r0,#70h mov r1,#30h mov r7,#03h clr c del: mov a,@r0 addc a,@r1 da a mov @r0,a inc r0 inc r1 djnz r7,del clr a addc a,#00h mov @r0,a ret display: ;送計(jì)算機(jī) mov a,r4 setb p3.3 clr p3.7 mov p1,a mov r4,a mov a,r3 clr p3.3 setb p3.7 mov p1,a mov r3,a display2: ;數(shù)碼管顯示,72h,71h,舍去70h低2位不送 mov a,72h setb p3.1 ;先送高位顯示,鎖存使能不用,數(shù)據(jù)輸出 clr p3.6 mov p2,a mov a,71h clr p3.1 setb p3.6 mov p2,a ret end
|
|