課程設計:按鍵計數器(匯編)

//計數器(0-100)
//此程序功能是:手動計數器,當按鍵按下時,計數加一,液晶顯示一次(加一的結果)。
ORG00H
LJMPSTART
ORG30H
START:MOVDPTR,#TABLE;設置段碼首地址
MOVR0,#00H;計數初值存R0
MOVP0,#3FH
MOVP2,#3FH;復位時數碼管顯示0
S1:INCR0
CJNER0,#100,S2;到100的話重新歸零
MOVR0,#00H
S2:JBP3.3,$;在此死循環等待按鍵按下
LCALLDELAY;消除抖動延時
JBP3.3,S2
S3:MOVA,R0
MOVB,#10
DIVAB;分離計數值的個位和十位
MOVCA,@A+DPTR
MOVP0,A
MOVA,B
MOVCA,@A+DPTR
MOVP2,A
JBP3.3,S1;等待按鍵拾起
LJMPS3
DELAY:MOVR5,#20H;延時10ms
D1:MOVR6,#250
DJNZR6,$
DJNZR5,D1
RET
TABLE:DB3FH,06H,5BH,4FH,66H;0-9七段碼值
DB6DH,7DH,07H,7FH,6FH
END
評論