51单片机 汇编 4位数码管 共阴改共阳 程序

;=====显示程序=====
DISPLAY: MOV DPTR,#DAT1 ;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码 输出
MOV A,R3
MOVC A,@A+DPTR
MOV P2,#0feH
MOV P0,A
ACALL DELAY2
MOV DPTR,#DAT2
MOV A,R5
MOVC A,@A+DPTR
MOV P2,#0fdH
MOV P0,A
ACALL DELAY2
MOV A,R4
MOVC A,@A+DPTR
MOV P2,#0fbH
MOV P0,A
ACALL DELAY2
RET
DAT1: DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
;"灭","1","2","3","4","5","6","7","8","9","灭","F"
DAT2: DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
这是原来共阴的显示程序,请问改成共阳应该怎么改呢
电路需要改吗?希望可以给出具体的改法,程序也是。谢谢大家。好的会追加分数

DISPLAY: MOV DPTR,#DAT1 ;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码 输出
MOV A,R3
MOVC A,@A+DPTR
MOV P2,#01H
MOV P0,A
ACALL DELAY2
MOV DPTR,#DAT2
MOV A,R5
MOVC A,@A+DPTR
MOV P2,#02H
MOV P0,A
ACALL DELAY2
MOV A,R4
MOVC A,@A+DPTR
MOV P2,#04H
MOV P0,A
ACALL DELAY2
RET
DAT1: DB 0ffh,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffH,8eH
;"灭","1","2","3","4","5","6","7","8","9","灭","F"
DAT2: DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffH,8eH
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-22
程序上的改动就是把DAT1与DAT2后面的显示码按位取反即可。
相似回答