MOV SCON,#40H
改为:
MOV SCON,#50H
增加: 这是初始化定时器1的语句
MOV TMOD,#20H
MOV TH1 ,#0FDH
MOV TL1 ,#0FDH
SETB TR1
利用50H、51H和52H,作为计数单元,程序如下:ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV SCON, #00H 设置串行口工作在方式0
MOV 50H, #00H 个位清零
MOV 51H, #00H
MOV 52H, #00H
DL_LOOP:
LCALL DL_100MS
MOV A, 50H
ADD A, #1
MOV 50H, A
CJNE A, #10, XIAN_SHI
MOV 50H, #0
MOV A, 51H
ADD A, #1
MOV 51H, A
CJNE A, #10, XIAN_SHI
MOV 51H, #0
MOV A, 52H
ADD A, #1
MOV 52H, A
CJNE A, #10, XIAN_SHI
MOV 52H, #0
XIAN_SHI:
MOV DPTR, #SEGPT
MOV A, 50H 先串行输出个位
MOVC A, @A+DPTR
MOV SBUF, A
JNB TI, $ 等待输出结束
CLR TI
MOV A, 51H 串行输出十位
MOVC A, @A+DPTR
MOV SBUF, A
JNB TI, $
CLR TI
MOV A, 52H 串行输出百位
MOVC A, @A+DPTR
MOV SBUF, A
JNB TI, $
CLR TI
LJMP DL_LOOP反复循环
DL_100MS: 这里的数字,可以自行调整到延时100ms
MOV R3, #10
D1: MOV R4, #20
D2: MOV R5, #248
DJNZ R5, $
DJNZ R4, D2
DJNZ R3, D1
RET
SEGPT: DB 0C0H, 0F9H, 0A4H, 0B0H 0、1、2、3
DB 99H, 92H, 82H, 0F8H 4、5、6、7
DB 80H, 90H, 88H, 83H 8、9、A、B
DB 0C6H, 0A1H, 86H, 8EH C、D、E、F
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)