📄 main.lis
字号:
0128 .dbline 91
0128 ; CLI(); //关闭全局中断
0128 F894 cli
012A .dbline 92
012A ; port_init(); //CPU端口初始化
012A 6ADF xcall _port_init
012C .dbline 98
012C ; /** /
012C ; MCUCR = 0x02; //INT0引脚上的下降沿触发中断
012C ; GICR = 0x40; //外部中断0请求使能
012C ; /**/
012C ; /**/
012C ; MCUCR = 0x00; //INT0引脚上的低电平触发中断
012C 2224 clr R2
012E 25BE out 0x35,R2
0130 .dbline 99
0130 ; GICR = 0x40; //外部中断0请求使能
0130 80E4 ldi R24,64
0132 8BBF out 0x3b,R24
0134 .dbline 109
0134 ; /**/
0134 ; /** /
0134 ; MCUCR = 0x01; //INT0引脚上的上升沿和下降沿都触发中断
0134 ; GICR = 0x40; //外部中断0请求使能
0134 ; /**/
0134 ; /** /
0134 ; MCUCR = 0x03; //INT0引脚上的上升沿触发中断
0134 ; GICR = 0x40; //外部中断0请求使能
0134 ; /**/
0134 ; adc_init();
0134 F0DF xcall _adc_init
0136 .dbline 110
0136 ; sleep_init();
0136 F4DF xcall _sleep_init
0138 .dbline 111
0138 ; SEI(); //打开全局中断
0138 7894 sei
013A .dbline -2
013A L20:
013A .dbline 0 ; func end
013A 0895 ret
013C .dbend
013C .dbfunc e main _main fV
013C ; temp -> <dead>
013C ; temp_show -> y+2
013C ; i -> R20
.even
013C _main::
013C 2797 sbiw R28,7
013E .dbline -1
013E .dbline 115
013E ;
013E ; }
013E ; void main(void)
013E ; {
013E .dbline 119
013E ; char temp_show[5]; //定义数组用作在液晶屏上进行显示
013E ; unsigned char i;
013E ; unsigned int temp;
013E ; for(i=0;i<5;i++)
013E 4427 clr R20
0140 09C0 xjmp L25
0142 L22:
0142 .dbline 120
0142 .dbline 121
0142 CE01 movw R24,R28
0144 0296 adiw R24,2
0146 E42F mov R30,R20
0148 FF27 clr R31
014A E80F add R30,R24
014C F91F adc R31,R25
014E 2224 clr R2
0150 2082 std z+0,R2
0152 .dbline 122
0152 L23:
0152 .dbline 119
0152 4395 inc R20
0154 L25:
0154 .dbline 119
0154 4530 cpi R20,5
0156 A8F3 brlo L22
0158 .dbline 123
0158 ; {
0158 ; temp_show[i] = 0;
0158 ; }
0158 ; temp_show[4] = 0xff; //显示结束标志
0158 8FEF ldi R24,255
015A 8E83 std y+6,R24
015C .dbline 125
015C ; /**/
015C ; init_devices();
015C E5DF xcall _init_devices
015E .dbline 126
015E ; LCDReady();
015E 0E940000 xcall _LCDReady
0162 .dbline 127
0162 ; LcdInit(); //LCD初始化
0162 0E940000 xcall _LcdInit
0166 .dbline 128
0166 ; CharsWrite(0,1,"SYSTEM INIT"); //在LCD的第一行显示"SYSTEM INIT"
0166 80E0 ldi R24,<L27
0168 90E0 ldi R25,>L27
016A 9983 std y+1,R25
016C 8883 std y+0,R24
016E 21E0 ldi R18,1
0170 0027 clr R16
0172 0E940000 xcall _CharsWrite
0176 .dbline 129
0176 ; CharsWrite(0,2,"......"); //在第二行显示“......”
0176 80E0 ldi R24,<L28
0178 90E0 ldi R25,>L28
017A 9983 std y+1,R25
017C 8883 std y+0,R24
017E 22E0 ldi R18,2
0180 0027 clr R16
0182 0E940000 xcall _CharsWrite
0186 .dbline 130
0186 ; uart_init(); //串口初始化
0186 0E940000 xcall _uart_init
018A .dbline 131
018A ; delay_ms(1000);
018A 08EE ldi R16,1000
018C 13E0 ldi R17,3
018E 0E940000 xcall _delay_ms
0192 89C0 xjmp L30
0194 L29:
0194 .dbline 134
0194 .dbline 135
0194 0E940000 xcall _ClearLcd
0198 .dbline 136
0198 00E5 ldi R16,80
019A 10E0 ldi R17,0
019C 0E940000 xcall _delay_us
01A0 .dbline 137
01A0 80E0 ldi R24,<L32
01A2 90E0 ldi R25,>L32
01A4 9983 std y+1,R25
01A6 8883 std y+0,R24
01A8 21E0 ldi R18,1
01AA 0027 clr R16
01AC 0E940000 xcall _CharsWrite
01B0 .dbline 138
01B0 85B7 in R24,0x35
01B2 8074 andi R24,64
01B4 85BF out 0x35,R24
01B6 .dbline 139
01B6 8895 sleep
01B8 .dbline 141
01B8 2224 clr R2
01BA 2BBA out 0x1b,R2
01BC .dbline 142
01BC 80E0 ldi R24,<L33
01BE 90E0 ldi R25,>L33
01C0 9983 std y+1,R25
01C2 8883 std y+0,R24
01C4 22E0 ldi R18,2
01C6 0027 clr R16
01C8 0E940000 xcall _CharsWrite
01CC .dbline 143
01CC 08E8 ldi R16,5000
01CE 13E1 ldi R17,19
01D0 0E940000 xcall _delay_ms
01D4 .dbline 144
01D4 8FEF ldi R24,255
01D6 8BBB out 0x1b,R24
01D8 .dbline 148
01D8 0E940000 xcall _ClearLcd
01DC .dbline 149
01DC 00E5 ldi R16,80
01DE 10E0 ldi R17,0
01E0 0E940000 xcall _delay_us
01E4 .dbline 150
01E4 379A sbi 0x6,7
01E6 .dbline 151
01E6 80E0 ldi R24,<L34
01E8 90E0 ldi R25,>L34
01EA 9983 std y+1,R25
01EC 8883 std y+0,R24
01EE 21E0 ldi R18,1
01F0 0027 clr R16
01F2 0E940000 xcall _CharsWrite
01F6 .dbline 152
01F6 85B7 in R24,0x35
01F8 8074 andi R24,64
01FA 85BF out 0x35,R24
01FC .dbline 153
01FC 85B7 in R24,0x35
01FE 8061 ori R24,16
0200 85BF out 0x35,R24
0202 .dbline 154
0202 8895 sleep
0204 .dbline 156
0204 2224 clr R2
0206 2BBA out 0x1b,R2
0208 .dbline 157
0208 80E0 ldi R24,<L33
020A 90E0 ldi R25,>L33
020C 9983 std y+1,R25
020E 8883 std y+0,R24
0210 22E0 ldi R18,2
0212 0027 clr R16
0214 0E940000 xcall _CharsWrite
0218 .dbline 158
0218 08E8 ldi R16,5000
021A 13E1 ldi R17,19
021C 0E940000 xcall _delay_ms
0220 .dbline 159
0220 19DF xcall _data_con
0222 .dbline 160
0222 0E940000 xcall _ClearLcd
0226 .dbline 161
0226 00E5 ldi R16,80
0228 10E0 ldi R17,0
022A 0E940000 xcall _delay_us
022E .dbline 162
022E 80E0 ldi R24,<L35
0230 90E0 ldi R25,>L35
0232 9983 std y+1,R25
0234 8883 std y+0,R24
0236 21E0 ldi R18,1
0238 0027 clr R16
023A 0E940000 xcall _CharsWrite
023E .dbline 163
023E 80E0 ldi R24,<_adc_show
0240 90E0 ldi R25,>_adc_show
0242 9983 std y+1,R25
0244 8883 std y+0,R24
0246 22E0 ldi R18,2
0248 0027 clr R16
024A 0E940000 xcall _CharsWrite
024E .dbline 164
024E 08E8 ldi R16,5000
0250 13E1 ldi R17,19
0252 0E940000 xcall _delay_ms
0256 .dbline 165
0256 8FEF ldi R24,255
0258 8BBB out 0x1b,R24
025A .dbline 166
025A 3798 cbi 0x6,7
025C .dbline 168
025C 0E940000 xcall _ClearLcd
0260 .dbline 169
0260 00E5 ldi R16,80
0262 10E0 ldi R17,0
0264 0E940000 xcall _delay_us
0268 .dbline 170
0268 80E0 ldi R24,<L36
026A 90E0 ldi R25,>L36
026C 9983 std y+1,R25
026E 8883 std y+0,R24
0270 21E0 ldi R18,1
0272 0027 clr R16
0274 0E940000 xcall _CharsWrite
0278 .dbline 171
0278 85B7 in R24,0x35
027A 8074 andi R24,64
027C 85BF out 0x35,R24
027E .dbline 172
027E 85B7 in R24,0x35
0280 8062 ori R24,32
0282 85BF out 0x35,R24
0284 .dbline 173
0284 8895 sleep
0286 .dbline 175
0286 2224 clr R2
0288 2BBA out 0x1b,R2
028A .dbline 176
028A 80E0 ldi R24,<L33
028C 90E0 ldi R25,>L33
028E 9983 std y+1,R25
0290 8883 std y+0,R24
0292 22E0 ldi R18,2
0294 0027 clr R16
0296 0E940000 xcall _CharsWrite
029A .dbline 177
029A 08E8 ldi R16,5000
029C 13E1 ldi R17,19
029E 0E940000 xcall _delay_ms
02A2 .dbline 178
02A2 8FEF ldi R24,255
02A4 8BBB out 0x1b,R24
02A6 .dbline 179
02A6 L30:
02A6 .dbline 133
02A6 76CF xjmp L29
02A8 X0:
02A8 .dbline -2
02A8 L21:
02A8 2796 adiw R28,7
02AA .dbline 0 ; func end
02AA 0895 ret
02AC .dbsym l temp 3 i
02AC .dbsym l temp_show 2 A[5:5]c
02AC .dbsym r i 20 c
02AC .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\radio\第十二篇\sleep\main.c
0000 _adc_show::
0000 .blkb 6
0006 .dbsym e adc_show _adc_show A[6:6]c
0006 _adc_result::
0006 .blkb 2
0008 .dbsym e adc_result _adc_result i
.area data(ram, con, rel)
0003 .dbfile F:\radio\第十二篇\sleep\main.c
0003 L36:
0003 .blkb 15
.area idata
0003 504F574552444F574E204D4F444500 .byte 'P,'O,'W,'E,'R,'D,'O,'W,'N,32,'M,'O,'D,'E,0
.area data(ram, con, rel)
0012 .dbfile F:\radio\第十二篇\sleep\main.c
0012 L35:
0012 .blkb 13
.area idata
0012 41444F20564F4C544147453A00 .byte 'A,'D,'O,32,'V,'O,'L,'T,'A,'G,'E,58,0
.area data(ram, con, rel)
001F .dbfile F:\radio\第十二篇\sleep\main.c
001F L34:
001F .blkb 14
.area idata
001F 534C45455020494E204144433A00 .byte 'S,'L,'E,'E,'P,32,'I,'N,32,'A,'D,'C,58,0
.area data(ram, con, rel)
002D .dbfile F:\radio\第十二篇\sleep\main.c
002D L33:
002D .blkb 15
.area idata
002D 4E4F57204D43552057414B45555000 .byte 'N,'O,'W,32,'M,'C,'U,32,'W,'A,'K,'E,'U,'P,0
.area data(ram, con, rel)
003C .dbfile F:\radio\第十二篇\sleep\main.c
003C L32:
003C .blkb 14
.area idata
003C 534C45455020494E2049444C4500 .byte 'S,'L,'E,'E,'P,32,'I,'N,32,'I,'D,'L,'E,0
.area data(ram, con, rel)
004A .dbfile F:\radio\第十二篇\sleep\main.c
004A L28:
004A .blkb 7
.area idata
004A 2E2E2E2E2E2E00 .byte 46,46,46,46,46,46,0
.area data(ram, con, rel)
0051 .dbfile F:\radio\第十二篇\sleep\main.c
0051 L27:
0051 .blkb 12
.area idata
0051 53595354454D20494E495400 .byte 'S,'Y,'S,'T,'E,'M,32,'I,'N,'I,'T,0
.area data(ram, con, rel)
005D .dbfile F:\radio\第十二篇\sleep\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -