51单片机汇编语言编程数码管显示问题
第二片显示屏中间不亮,有什么办法吗?原本设想是调节DS18B20上的按钮使得第二块显示芯片增大(精确到小数点后一位),希望能向第一片一样正常显示程序如下:ORG0000H...
第二片显示屏中间不亮,有什么办法吗?原本设想是调节DS18B20上的按钮使得第二块显示芯片增大(精确到小数点后一位),希望能向第一片一样正常显示
程序如下:
ORG 0000H
LJMP MAIN1
ORG 0003H
LJMP ZINT0
ORG 0013H
LJMP ZINT1
TMPL EQU 29H
TMPH EQU 28H
FLAG1 EQU 38H
DATAIN BIT P3.7
***********************主程序模块****************/
MAIN1: SETB IT0
SETB EA
SETB EX0
SETB IT1
SETB EX1
SETB P3.6
SETB P3.2
MOV 74H,#0
MOV 75H,#0
MOV 76H,#0
MOV 77H,#0
MAIN: LCALL GET_TEMPER
LCALL CVTTMP
LCALL DISP1
AJMP MAIN
显示程序:
/******************温度数码显示模块*********************/
DISP1: MOV R1,#70H
MOV R0,#74H
MOV R5,#0FEH
PLAY: MOV P1,#0FFH
MOV A,R5
MOV P2,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
MOV A,R5
JB ACC.1,LOOP1
CLR P1.7
CLR P0.7
LOOP1: LCALL DL1MS
INC R1
INC R0
MOV A,R5
JNB ACC.3,ENDOUT
RL A
MOV R5,A
MOV A,73H
CJNE A,#1,DD2
SJMP LEDH
DD2: MOV A,72H
CJNE A,#0AH,DD3
MOV 72H,#0
DD3: MOV A,76H
CJNE A,72H,DDH
SJMP DDL
DDH: JNC PLAY1
SJMP LEDH
DDL: MOV A,75H
CJNE A,71H,DDL1
DDL1: JNC PLAY1
相关子程序:
LEDH: CLR P3.6
SETB P3.5
SJMP PLAY
PLAY1: SETB P3.6
CLR P3.5
SJMP PLAY
谁能帮忙解决一下哦,谢谢 展开
程序如下:
ORG 0000H
LJMP MAIN1
ORG 0003H
LJMP ZINT0
ORG 0013H
LJMP ZINT1
TMPL EQU 29H
TMPH EQU 28H
FLAG1 EQU 38H
DATAIN BIT P3.7
***********************主程序模块****************/
MAIN1: SETB IT0
SETB EA
SETB EX0
SETB IT1
SETB EX1
SETB P3.6
SETB P3.2
MOV 74H,#0
MOV 75H,#0
MOV 76H,#0
MOV 77H,#0
MAIN: LCALL GET_TEMPER
LCALL CVTTMP
LCALL DISP1
AJMP MAIN
显示程序:
/******************温度数码显示模块*********************/
DISP1: MOV R1,#70H
MOV R0,#74H
MOV R5,#0FEH
PLAY: MOV P1,#0FFH
MOV A,R5
MOV P2,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
MOV A,R5
JB ACC.1,LOOP1
CLR P1.7
CLR P0.7
LOOP1: LCALL DL1MS
INC R1
INC R0
MOV A,R5
JNB ACC.3,ENDOUT
RL A
MOV R5,A
MOV A,73H
CJNE A,#1,DD2
SJMP LEDH
DD2: MOV A,72H
CJNE A,#0AH,DD3
MOV 72H,#0
DD3: MOV A,76H
CJNE A,72H,DDH
SJMP DDL
DDH: JNC PLAY1
SJMP LEDH
DDL: MOV A,75H
CJNE A,71H,DDL1
DDL1: JNC PLAY1
相关子程序:
LEDH: CLR P3.6
SETB P3.5
SJMP PLAY
PLAY1: SETB P3.6
CLR P3.5
SJMP PLAY
谁能帮忙解决一下哦,谢谢 展开
1个回答
展开全部
稍稍做了一些改动:
/******************温度数码显示模块*********************/
DISP1:
MOV R1, #70H
MOV R0, #74H
MOV R5, #0FEH
PLAY:
MOV DPTR, #TAB
MOV P2, #0FFH ;原来是 P1
MOV A, @R1
MOVC A, @A+DPTR
MOV P1, A
MOV A, @R0
MOVC A, @A+DPTR
MOV P0, A
MOV P2, R5
MOV A, R5
JB ACC.1, LOOP1
CLR P1.7
CLR P0.7
LOOP1:
CALL DL1MS
INC R1
INC R0
JNB ACC.3, ENDOUT
RL A
MOV R5, A
MOV A, 73H
......
/******************温度数码显示模块*********************/
DISP1:
MOV R1, #70H
MOV R0, #74H
MOV R5, #0FEH
PLAY:
MOV DPTR, #TAB
MOV P2, #0FFH ;原来是 P1
MOV A, @R1
MOVC A, @A+DPTR
MOV P1, A
MOV A, @R0
MOVC A, @A+DPTR
MOV P0, A
MOV P2, R5
MOV A, R5
JB ACC.1, LOOP1
CLR P1.7
CLR P0.7
LOOP1:
CALL DL1MS
INC R1
INC R0
JNB ACC.3, ENDOUT
RL A
MOV R5, A
MOV A, 73H
......
追答
电路,变了?
我改动程序之后,《第二片显示屏中间不亮》,解决了吗?
显示小数点,程序中,有这些:
……
MOV P2, R5
MOV A, R5
JB ACC.1, LOOP1
CLR P1.7----这两行,应该就是,显示小数点
CLR P0.7----这两行,应该就是,显示小数点
LOOP1:
……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询