📄 main.lst
字号:
1 1: ;*****************************************************
2 2: ;Company :
3 3: ;File Name : main.asm
4 4: ;Author :
5 5: ;Create Data : 2006-11-09
6 6: ;Last Modified : 2006-11-09
7 7: ;Description :
8 8: ;Version : 1.0
9 9: ;*****************************************************
10
11 0x0000 11: INCLUDE SH69P45.ASM
12 + 1: ;==========================================================
13 + 2: ; 系统寄存器定义
14 + 3: ;==========================================================
15 +
16 + 5: //System register define
17 + 6: IE EQU 00H ;中断使能标志寄存器
18 + 7: IRQ EQU 01H ;中断请求标志寄存器
19 + 8: TM0 EQU 02H ;T0方式寄存器
20 + 9: TM1 EQU 03H ;T1方式寄存器
21 + 10: TL0 EQU 04H ;T0装入/计数寄存器低四位
22 + 11: TH0 EQU 05H ;T0装入/计数寄存器高四位
23 + 12: TL1 EQU 06H ;T1装入/计数寄存器低四位
24 + 13: TH1 EQU 07H ;T1装入/计数寄存器高四位
25 + 14: PORTA EQU 08H ;端口A状态寄存器
26 + 15: PORTB EQU 09H ;端口B状态寄存器
27 + 16: PORTC EQU 0AH ;端口C状态寄存器
28 + 17: PWM1PL EQU 0BH ;PWM1周期低四位
29 + 18: PWM1PH EQU 0CH ;PWM1周期高四位
30 + 19: GOTADC EQU 0DH ;Bit0:设置AD转换时间,Bit2-1:选择AD时钟,Bit3:ADC状态标志
31 + 20: TBR EQU 0EH ;查表寄存器
32 + 21: INX EQU 0FH ;伪索引寄存器
33 + 22: DPL EQU 10H ;INX低四位的数据指针
34 + 23: DPM EQU 11H ;INX中三位的数据指针,Bit3保留
35 + 24: DPH EQU 12H ;INX高三位的数据指针,Bit3保留
36 + 25: ADMODE EQU 13H ;A/D模拟通道数设置
37 + 26: VACR EQU 14H ;参考电压选择,AN4通道设置
38 +
39 + 28: ADCH EQU 15H ;转换通道选择、设置A/D模块工作
40 + 29: ADRESL EQU 16H ;ADC转换结果低四位
41 + 30: ADRESH EQU 17H ;ADC转换结果高四位
42 + 31: PACON EQU 18H ;端口A输入/输出控制
43 + 32: PBCON EQU 19H ;端口B输入/输出控制
44 + 33: PCCON EQU 1AH ;端口C输入/输出控制
45 + 34: PWM1DL EQU 1BH ;PWM1占空比低四位
46 + 35: PWM1DH EQU 1CH ;PWM1占空比高四位
47 + 36: CMP2F EQU 1DH ;比较器输出状态标准
48 + 37: WDT EQU 1EH ;看门狗寄存器
49 + 38: ;Reserved EQU 1FH ;保留
50 + 39: PPGBUF EQU 20H ;PPG增减缓存
51 + 40: PWM1CON EQU 21H ;BUZ Bit0:PWM1使能,Bit2-1:选择PWM1时钟,Bit3:PWM1占空比输出方式
52 + 41: ;Reserved EQU 22H ;保留
53 + 42: PPGCON EQU 23H ;Bit3:PPG使能
54 + 43: PD3CON EQU 24H ;Bit0:PD3/PPG输出允许
55 + 44: PPGMODF EQU 25H ;PPG占空比微调寄存器
56 + 45: PPGWDL EQU 26H ;PPG占空比低四位寄存器
57 + 46: PPGWDH EQU 27H ;PPG占空比高四位寄存器
58 +
59 + 48: ;********************BANK7**************************
60 + 49: RDTL EQU 380H ;ROM Data table address/data register(low nibble)
61 + 50: RDTML EQU 381H ;ROM Data table address/data register(middle_L nibble)
62 + 51: RDTMH EQU 382H ;ROM Data table address/data register(middle_H nibble)
63 + 52: RDTH EQU 383H ;ROM Data table address/data register(high nibble)
64 + 53: PORTD EQU 384H ;PD状态寄存器
65 + 54: PORTE EQU 385H ;PE状态寄存器
66 + 55: PDCON EQU 386H ;端口D输入/输出控制
67 + 56: PECON EQU 387H ;端口E输入/输出控制
68 + 57: ;Reserved EQU 388H ;保留
69 + 58: ;Reserved EQU 389H ;保留
70 + 59: ;Reserved EQU 38AH ;保留
71 + 60: ;Reserved EQU 38BH ;保留
72 + 61: PBIE EQU 38CH ;PB口中断使能寄存器
73 + 62: PBIF EQU 38DH ;PC口中断请求标准寄存器
74 + 63: PCIE EQU 38EH ;PB口中断使能寄存器
75 + 64: PCIF EQU 38FH ;PC口中断请求标准寄存器
76 + 65: PPACR EQU 390H ;PA口上拉控制寄存器
77 + 66: PPBCR EQU 391H ;PB口上拉控制寄存器
78 + 67: PPCCR EQU 392H ;PC口上拉控制寄存器
79 + 68: PPDCR EQU 393H ;PD口上拉控制寄存器
80 + 69: CMPIE EQU 39FH ;CMP2~0:输出上升沿中断允许
81 + 70: CMPIF EQU 3A0H ;CMP2~0:输出上升沿中断请求
82 +
83 + 72: CMP2_IE EQU 0001B
84 + 73: CMP2_IECR EQU 1110B
85 +
86 + 75: CMP0_IE EQU 0100B
87 + 76: CMP0_IECR EQU 1011B
88 +
89 + 78: CMP2_IF EQU 0001B
90 + 79: CMP2_IFCR EQU 1110B
91 +
92 + 81: CMP0_IF EQU 0100B
93 + 82: CMP0_IFCR EQU 1011B
94
95
96
97
98 15: TEM EQU 40H
99
100 17: ORG 0000H
101 0x0000 0xe005 18: JMP START
102 0x0001 0xd400 19: RTNI
103 0x0002 0xd400 20: RTNI
104 0x0003 0xe015 21: JMP T1_SEVER
105 0x0004 0xd400 22: RTNI
106 23:
107 24: ;TODO: Add your assembly code here
108 25:
109 26: START:
110 0x0005 0xffff 27: NOP
111 0x0006 0xffff 28: NOP
112 29:
113 0x0007 0x7800 30: LDI IE, 00H
114 0x0008 0x7801 31: LDI IRQ, 00H
115 0x0009 0x7a03 32: LDI TM1, 0100B ;(OSC/4)*4*250=1MS
116 0x000a 0x7b06 33: LDI TL1, 06H ;
117 0x000b 0x7807 34: LDI TH1, 00H ; 06
118
119 0x000c 0x7900 36: LDI IE, 0010B
120 37:
121 0x000d 0x7f98 38: LDI PACON, 0FH
122 0x000e 0x7808 39: LDI PORTA, 0H
123 0x000f 0x78c0 40: LDI TEM, 1
124
125 42: MAIN:
126 0x0010 0xffff 43: NOP
127 0x0011 0xffff 44: NOP
128 0x0012 0xffff 45: NOP
129 0x0013 0xffff 46: NOP
130 0x0014 0xe010 47: JMP MAIN
131
132
133
134
135
136 53: T1_SEVER:
137 0x0015 0x7801 54: LDI IRQ, 0000B
138 55:
139 0x0016 0x3840 56: LDA TEM
140 0x0017 0x801e 57: BNZ T_10MS
141 58:
142 0x0018 0x78c0 59: LDI TEM, 1
143 0x0019 0x7808 60: LDI PORTA, 0
144 61:
145 0x001a 0x7a03 62: LDI TM1, 0100B ;(OSC/4)*4*250=1MS
146 0x001b 0x7b06 63: LDI TL1, 06H ;
147 0x001c 0x7807 64: LDI TH1, 00H
148 0x001d 0xe023 65: JMP T1_END
149 66:
150 67: T_10MS:
151 0x001e 0x7840 68: LDI TEM, 0
152 0x001f 0x7f88 69: LDI PORTA, 0FH
153 70:
154 0x0020 0x7903 71: LDI TM1, 0010B
155 0x0021 0x7d86 72: LDI TL1, 0BH
156 0x0022 0x7c87 73: LDI TH1, 9
157 74:
158 75: T1_END:
159 0x0023 0x7900 76: LDI IE, 0010B
160 0x0024 0xd400 77: RTNI
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177 94: END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -