📄 flp.lst
字号:
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 1
MCS-51 Family Macro Assembler A S E M - 5 1 V 1.3
=====================================================
Source File: E:\Electronics\MiCrOConTroller\Micro Programming\M-IDE\PI\FLP.asm
Object File: E:\Electronics\MiCrOConTroller\Micro Programming\M-IDE\PI\FLP.hex
List File: E:\Electronics\MiCrOConTroller\Micro Programming\M-IDE\PI\FLP.lst
Line I Addr Code Source
1:
2: ;------------------------------------------------------------------------------------
3: ; Program square wafe osilator dengan memanfaatkan prosedur interrupt timer.
4: ; Output berupa gelombang kotak (flip-flop Port2.0 dan Port2.1)
5: ; Frequency 50 hz pada operasi X-tall 12Mhz
6: ; by: Herlambang Aribowo J0D005037 D3 Instrumentasi dan Elektronika UNDIP
7: ;------------------------------------------------------------------------------------
8: N EC78 isine equ -5000
9: N 0020 cntx equ 20h
10: N 0021 cnty equ 21h
11: B A0 Q bit p2.0
12: B A1 Qinv bit p2.1
13: N 0000 Org 00h ; iki routine pengorganisasian memori usage
14: 0000 80 1C sjmp mulai ; 00h buat operasi routine normal
15: N 000B Org 0bh ; 0bh adalah memory alocation buat interrupt timer0
16: 000B 02 00 46 Ljmp nginterupt ; iki alamat routin interrupt
17: N 001B Org 1bh ; 1bh adalah alamat alocation buat interrupt timer1
18: 001B 02 00 69 Ljmp nginterupt2; alamat routine interrupt timer1
19: 001E C2 A0 mulai: clr Q
20: 0020 C2 A1 clr Qinv
21: 0022 75 20 02 mov cntx,#02h ; counter timer0 biar 25hz
22: 0025 75 21 02 mov cnty,#02h ; counter timer1 biar 25hz
23: 0028 75 89 11 InitTimer: mov TMOD,#11h ; setting timer mode
24: 002B 75 8A FF mov tl0,#0ffh ; ngisi tl dan th timer 0 dengan ffh
25: 002E 75 8C FF mov th0,#0ffh ;
26: 0031 D2 8D setb tf0 ; kondisikan overflow
27: 0033 D2 A9 setb ET0 ; aktifkan layanan interrupt timer0
28: 0035 75 8B 78 mov tl1,#low (isine)
29: 0038 75 8D EC mov th1,#high (isine) ;
30: 003B D2 8F setb tf1 ; kondisikan overflow
31: 003D D2 AB setb ET1 ; aktifkan layanan interrupt timer0
32: 003F D2 AF setb EA ; aktifkan master layanan interrupt
33: 0041 D2 8C setb TR0 ; layanan interrupt timer0 dijalankan
34: 0043 02 00 8C ljmp looping
35:
36: ;------------------------------------------------------------------------------------------------
37: ; Procedure Flip-flop dengan layanan interupt T0 dan T1
38: ;------------------------------------------------------------------------------------------------
39:
40: 0046 75 8A 78 nginterupt: mov tl0,#low (isine)
41: 0049 75 8C EC mov th0,#high (isine)
42: 004C D5 20 0B djnz Cntx,rampungx ; uwis 20ms po durung?
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 2
Line I Addr Code Source
43: 004F C2 8D clr tf0 ; bersihkan flag timer 0 overflow
44: 0051 C2 8C clr tr0 ; mateni timer internal
45: 0053 11 64 acall pulsax ; pulsax
46: 0055 75 20 02 mov Cntx,#2 ; tiap overflow dikali2 ben 10ms dab
47: 0058 11 5B acall resetx ; reset boss..
48: 005A 32 rampungx: reti ;
49:
50: 005B resetx:
51: 005B 75 8A 78 mov tl0,#low (isine)
52: 005E 75 8C EC mov th0,#high (isine)
53: 0061 D2 8E setb tr1 ; nyumet timer1
54: 0063 22 ret ; balek maning
55:
56: 0064 C2 A0 pulsax: clr Q ; pulsa low
57: 0066 B2 A1 cpl Qinv ; pulsa high
58: 0068 22 ret
59:
60:
61: 0069 75 8B 78 nginterupt2: mov tl1,#low (isine)
62: 006C 75 8D EC mov th1,#high (isine)
63: 006F D5 21 0B djnz Cnty,rampungy ; uwis 20ms po durung?
64: 0072 C2 8F clr tf1 ; bersihkan flag timer 0 overflow
65: 0074 C2 8E clr tr1 ; mateni timer internal
66: 0076 11 87 acall pulsay ; pulsa inverse pulsax
67: 0078 75 21 02 mov Cnty,#2 ; tiap overflow dikali2 ben 10ms dab
68: 007B 11 7E acall resety ; reset boss..
69: 007D 32 rampungy: reti ;
70:
71: 007E resety:
72: 007E 75 8B 78 mov tl1,#low (isine)
73: 0081 75 8D EC mov th1,#high (isine)
74: 0084 D2 8C setb tr0 ; nyumet timer1
75: 0086 22 ret ; balek maning
76:
77: 0087 B2 A0 pulsay: cpl Q ; pulsa high
78: 0089 B2 A1 cpl Qinv ; pulsa low
79: 008B 22 ret
80:
81: ;------------------------------------------------------------------------------------------------
82: ; Routine utama buat bekerja mencari nafkah hehehehe :)
83: ;------------------------------------------------------------------------------------------------
84:
85: 008C looping:
86: 008C 80 FE sjmp looping
87:
88: end
register banks used: ---
no errors
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 3
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 4
L I S T O F S Y M B O L S
=============================
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
??ASEM_51 NUMBER 8051
??VERSION NUMBER 0130
AC BIT D6
ACC DATA E0
B DATA F0
CNTX NUMBER 0020 9
CNTY NUMBER 0021 10
CY BIT D7
DPH DATA 83
DPL DATA 82
EA BIT AF
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INITTIMER CODE 0028 23
INT0 BIT B2
INT1 BIT B3
IP DATA B8
ISINE NUMBER EC78 8
IT0 BIT 88
IT1 BIT 8A
LOOPING CODE 008C 85
MULAI CODE 001E 19
NGINTERUPT CODE 0046 40
NGINTERUPT2 CODE 0069 61
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
PS BIT BC
PSW DATA D0
PT0 BIT B9
PT1 BIT BB
PULSAX CODE 0064 56
PULSAY CODE 0087 77
PX0 BIT B8
PX1 BIT BA
Q BIT A0 11
QINV BIT A1 12
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 5
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
RAMPUNGX CODE 005A 48
RAMPUNGY CODE 007D 69
RB8 BIT 9A
RD BIT B7
REN BIT 9C
RESET CODE 0000
RESETX CODE 005B 50
RESETY CODE 007E 71
RI BIT 98
RS0 BIT D3
RS1 BIT D4
RXD BIT B0
SBUF DATA 99
SCON DATA 98
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
T0 BIT B4
T1 BIT B5
TB8 BIT 9B
TCON DATA 88
TF0 BIT 8D
TF1 BIT 8F
TH0 DATA 8C
TH1 DATA 8D
TI BIT 99
TIMER0 CODE 000B
TIMER1 CODE 001B
TL0 DATA 8A
TL1 DATA 8B
TMOD DATA 89
TR0 BIT 8C
TR1 BIT 8E
TXD BIT B1
WR BIT B6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -