标题:
求大佬帮忙把2个1位共阳数码管秒表汇编语言程序改成共阴极的汇编语言程序,实在不...
[打印本页]
作者:
yulexuan2019
时间:
2019-5-15 00:05
标题:
求大佬帮忙把2个1位共阳数码管秒表汇编语言程序改成共阴极的汇编语言程序,实在不...
本帖最后由 yulexuan2019 于 2019-5-15 00:43 编辑
求个大佬帮忙指点一下怎么把2个一位共阳极数码管秒表汇编语言程序,改成共阴极的汇编语言程序,实在不会改,仿真图如下,功能是实现00-99秒表,K1控制开始暂停,K2控制清零,求告知怎么把程序改成共阴极的,急求!求详细更改地方!
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP X0_INT
ORG 000BH
AJMP T0_INT
ORG 0013H
AJMP X1_INT
MAIN:
MOV TMOD,#01H ;T0定时方式1
MOV TH0, #(65536-50000) / 256 ;50ms@12MHz
MOV TL0, #(65536-50000) MOD 256;
SETB TR0
SETB ET0 ;开启定时中断
SETB EX0
SETB EX1
SETB EA ;定时器初始化结束,下面循环显示即可
MOV R1, #99H ;0~99计数.
MOV R7, #1 ;50ms计数.
MOV P0, #0C0H
MOV P2, #0C0H
LOOP:
SJMP LOOP
;-----------------------------------------------------------
DELAY: ;延时子程序.
AA4: MOV R4, #0
DJNZ R4, $
DJNZ R4, $
RET
;-----------------------------------------------------------
X0_INT: ;启动/停止
CPL F0
RETI
;-----------------------------------------------------------
X1_INT: ;清零
MOV R1, #0
MOV P0, #0C0H
MOV P2, #0C0H
RETI
;-----------------------------------------------------------
T0_INT: ;50ms中断执行一次.
MOV TL0, #(65536-50000) MOD 256;
MOV TH0, #(65536-50000) / 256 ;50ms@12MHz
DJNZ R7, T0_END ;中断不到20次.
MOV R7, #20
JNB F0, T0_END
MOV A, R1
ADD A, #1
DA A
MOV R1, A
ANL A, #0FH
MOV DPTR, #TAB
MOVC A, @A+DPTR ;查出段码
MOV P2, A
MOV A, R1
SWAP A
ANL A, #0FH
MOVC A, @A+DPTR ;查出段码
MOV P0, A ;显示十位数.
T0_END:
RETI
;-----------------------------------------------------------
TAB:
DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H, 90H
END
急求
WH`_G0G_~VC6M7T9SE$VFWR.png
(25.94 KB, 下载次数: 74)
下载附件
2019-5-15 00:05 上传
作者:
bg5skf
时间:
2020-2-12 15:59
1、MOV P0,#0C0H和MOV P2,#0C0H的地方改成:MOV P0,#3FH和MOV P2,3FH
2、最后的TAB部分改成以下数值:
TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
这样就可以了。
作者:
Skyfree369
时间:
2021-5-5 14:55
共阴极和共阳极的转换是比较简单的,可以仔细研究一下段码表
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1