📄 pinljkfb.lst
字号:
页 1
07-18-08
16:49:36
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
DisplayBuffer EQU 40H ;设置显示缓冲区的地址为40h-45h共6个字节
Disp1 EQU 35H ;转换后的数据10(高位)
Disp2 EQU 36H
Disp3 EQU 37H
DIN1 EQU 31H ;待转换的数据BCD(高位)
DIN2 EQU 32H
DIN3 EQU 33H
ORG 0000H
0000 2100 AJMP MAIN
ORG 000BH ;T0中断入口
000B 213C AJMP T0INT
ORG 001BH ;T1中断入口
001B 2139 AJMP T1INT
ORG 0100H
MAIN:
0100 758170 MOV SP,#70H
0103 75A88A MOV IE,#8AH ;开放T0、T1中断
0106 758951 MOV TMOD,#51H ;T0定时,T1计数
0109 758CD8 MOV TH0,#0D8H
010C 758AFC MOV TL0,#0FCH ;定时10ms
010F 755064 MOV 50H,#100 ;100*10ms=1s
0112 758D00 MOV TH1,#00H
0115 758B00 MOV TL1,#00H
0118 753100 MOV DIN1,#0
011B 753200 MOV DIN2,#0
011E 753300 MOV DIN3,#0;存放采集到的频率
0121 754000 MOV 40H,#0
0124 754100 MOV 41H,#0
0127 754200 MOV 42H,#0
012A 754300 MOV 43H,#0
012D 754400 MOV 44H,#0
0130 754500 MOV 45H,#0
0133 D28E SETB TR1
0135 D28C SETB TR0
0137 2137 WAIT: AJMP WAIT ;等待中断
0139 0531 T1INT: INC DIN1;计数器溢出则23H单元自增1
013B 32 RETI
T0INT: ;定时10ms产生中断
013C D55034 DJNZ 50H,NEXT1
013F C28E CLR TR1
0141 C28C CLR TR0
0143 858D32 MOV DIN2,TH1 ;1s时间到则采集数据
0146 858B33 MOV DIN3,TL1
0149 758D00 MOV TH1,#00H
014C 758B00 MOV TL1,#00H
014F 12017A LCALL TRANS
F:\基于单片机的频率计设计\WAVE\SHIYAN\PINLJKFB.ASM
页 2
07-18-08
16:49:36
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0152 1201AC LCALL DIS
0155 75A88A MOV IE,#8AH
0158 758951 MOV TMOD,#51H
015B 755064 MOV 50H,#100
015E 753100 MOV DIN1,#0
0161 753200 MOV DIN2,#0
0164 753300 MOV DIN3,#0
0167 758CD8 MOV TH0,#0D8H
016A 758AFC MOV TL0,#0FCH
016D D28C SETB TR0
016F D28E SETB TR1
0171 2179 AJMP EXIT
0173 758CD8 NEXT1: MOV TH0,#0D8H ;继续定时
0176 758AFC MOV TL0,#0FCH
0179 32 EXIT: RETI
017A E4 TRANS:CLR A
017B F535 MOV Disp1,A
017D F536 MOV Disp2,A
017F F537 MOV Disp3,A
0181 753A18 MOV 3AH,#18H ;转换3字节十六进制整数
0184 E533 LOOP: MOV A,DIN3 ;移出待转换数的一位到CY中
0186 33 RLC A
0187 F533 MOV DIN3,A
0189 E532 MOV A,DIN2
018B 33 RLC A
018C F532 MOV DIN2,A
018E E531 MOV A,DIN1
0190 33 RLC A
0191 F531 MOV DIN1,A
0193 E537 MOV A,Disp3 ;BCD码带进位自身相加,相当于乘2
0195 3537 ADDC A,Disp3
0197 D4 DA A
0198 F537 MOV Disp3,A
019A E536 MOV A,Disp2
019C 3536 ADDC A,Disp2
019E D4 DA A
019F F536 MOV Disp2,A
01A1 E535 MOV A,Disp1
01A3 3535 ADDC A,Disp1
01A5 D4 DA A
01A6 F535 MOV Disp1,A ;双字节十六进制数的万位数不超过6,不用调整
01A8 D53AD9 DJNZ 3AH,LOOP ;处理完16BIT
01AB 22 RET
01AC 7840 DIS: MOV R0,#DisplayBuffer ;分别取出每一位,放到DisplayBuffer
01AE E535 MOV A,Disp1
01B0 54F0 ANL A,#0F0H
F:\基于单片机的频率计设计\WAVE\SHIYAN\PINLJKFB.ASM
页 3
07-18-08
16:49:36
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
01B2 C4 SWAP A
01B3 F6 MOV @R0,A
01B4 08 INC R0
01B5 E535 MOV A,Disp1
01B7 540F ANL A,#0FH
01B9 F6 MOV @R0,A
01BA 08 INC R0
01BB E536 MOV A,Disp2
01BD 54F0 ANL A,#0F0H
01BF C4 SWAP A
01C0 F6 MOV @R0,A
01C1 08 INC R0
01C2 E536 MOV A,Disp2
01C4 540F ANL A,#0FH
01C6 F6 MOV @R0,A
01C7 08 INC R0
01C8 E537 MOV A,Disp3
01CA 54F0 ANL A,#0F0H
01CC C4 SWAP A
01CD F6 MOV @R0,A
01CE 08 INC R0
01CF E537 MOV A,Disp3
01D1 540F ANL A,#0FH
01D3 F6 MOV @R0,A
DISPLAY:
01D4 7940 MOV R1,#DisplayBuffer ;指向显示数据首址
01D6 7CFB MOV R4,#11111011b ;扫描控制字初值
01D8 EC PLAY: MOV A,R4 ;扫描字放入A
01D9 F5A0 MOV P2,A ;从P2口输出
01DB E7 MOV A,@R1 ;取显示数据到A
01DC 9001EE MOV DPTR,#TAB ;取段码表地址
01DF 93 MOVC A,@A+DPTR ;查显示数据对应段码
01E0 F580 MOV P0,A ;段码放入P1口
01E2 1201F9 LCALL Delay
01E5 09 INC R1 ;指向下一地址
01E6 EC MOV A,R4 ;扫描控制字放入A
01E7 30E7EA JNB ACC.7,DISPLAY ;扫到第六位时结束
01EA 23 RL A ;A中数据循环左移
01EB FC MOV R4,A ;放回R5内
01EC 21D8 AJMP PLAY ;跳回PLAY循环
01EE C0F9A4
01F1 B099 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳极
01F3 9282F8
01F6 8090 DB 92H,82H,0F8H,80H,90H ;"0""1""2" "3""4""5""6""7" "8""9""
01F8 22 RET
Delay:
01F9 7E02 MOV R6,#2
F:\基于单片机的频率计设计\WAVE\SHIYAN\PINLJKFB.ASM
页 4
07-18-08
16:49:36
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
Del:
01FB 7FF9 MOV R7,#249
01FD DFFE DJNZ R7,$
01FF DEFA DJNZ R6,Del
0201 22 RET
END
F:\基于单片机的频率计设计\WAVE\SHIYAN\PINLJKFB.ASM
页 5
07-18-08
16:49:37
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
符号 值 类型
AC = 00D6H CONST 常量
ACC = 00E0H CONST 常量
B = 00F0H CONST 常量
CY = 00D7H CONST 常量
DEL = 01FBH CODE 标号
DELAY = 01F9H CODE 标号
DIN1 = 0031H CONST 常量
DIN2 = 0032H CONST 常量
DIN3 = 0033H CONST 常量
DIS = 01ACH CODE 标号
DISP1 = 0035H CONST 常量
DISP2 = 0036H CONST 常量
DISP3 = 0037H CONST 常量
DISPLAY = 01D4H CODE 标号
DISPLAYBUFFER = 0040H CONST 常量
DPH = 0083H CONST 常量
DPL = 0082H CONST 常量
EA = 00AFH CONST 常量
ES = 00ACH CONST 常量
ET0 = 00A9H CONST 常量
ET1 = 00ABH CONST 常量
EX0 = 00A8H CONST 常量
EX1 = 00AAH CONST 常量
EXIT = 0179H CODE 标号
F0 = 00D5H CONST 常量
IE = 00A8H CONST 常量
IE0 = 0089H CONST 常量
IE1 = 008BH CONST 常量
INT0 = 00B2H CONST 常量
INT1 = 00B3H CONST 常量
IP = 00B8H CONST 常量
IT0 = 0088H CONST 常量
IT1 = 008AH CONST 常量
LOOP = 0184H CODE 标号
MAIN = 0100H CODE 标号
NEXT1 = 0173H CODE 标号
OV = 00D2H CONST 常量
P = 00D0H CONST 常量
P0 = 0080H CONST 常量
P1 = 0090H CONST 常量
P2 = 00A0H CONST 常量
P3 = 00B0H CONST 常量
PCON = 0087H CONST 常量
PLAY = 01D8H CODE 标号
F:\基于单片机的频率计设计\WAVE\SHIYAN\PINLJKFB.ASM
页 6
07-18-08
16:49:37
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
PS = 00BCH CONST 常量
PSW = 00D0H CONST 常量
PT0 = 00B9H CONST 常量
PT1 = 00BBH CONST 常量
PX0 = 00B8H CONST 常量
PX1 = 00BAH CONST 常量
RB8 = 009AH CONST 常量
RD = 00B7H CONST 常量
REN = 009CH CONST 常量
RI = 0098H CONST 常量
RS0 = 00D3H CONST 常量
RS1 = 00D4H CONST 常量
RXD = 00B0H CONST 常量
SBUF = 0099H CONST 常量
SCON = 0098H CONST 常量
SM0 = 009FH CONST 常量
SM1 = 009EH CONST 常量
SM2 = 009DH CONST 常量
SP = 0081H CONST 常量
T0 = 00B4H CONST 常量
T0INT = 013CH CODE 标号
T1 = 00B5H CONST 常量
T1INT = 0139H CODE 标号
TAB = 01EEH CODE 标号
TB8 = 009BH CONST 常量
TCON = 0088H CONST 常量
TF0 = 008DH CONST 常量
TF1 = 008FH CONST 常量
TH0 = 008CH CONST 常量
TH1 = 008DH CONST 常量
TI = 0099H CONST 常量
TL0 = 008AH CONST 常量
TL1 = 008BH CONST 常量
TMOD = 0089H CONST 常量
TR0 = 008CH CONST 常量
TR1 = 008EH CONST 常量
TRANS = 017AH CODE 标号
TXD = 00B1H CONST 常量
WAIT = 0137H CODE 标号
WR = 00B6H CONST 常量
公有符号: 84
私有符号: 0
F:\基于单片机的频率计设计\WAVE\SHIYAN\PINLJKFB.ASM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -