📄 12864串口.lis
字号:
.even
01A2 _mega16_adc::
01A2 AA92 st -y,R10
01A4 BA92 st -y,R11
01A6 .dbline -1
01A6 .dbline 120
01A6 ; }
01A6 ;
01A6 ; uint mega16_adc()
01A6 ; {
01A6 .dbline 122
01A6 ; uint addata;
01A6 ; DDRA&=~BIT(0);
01A6 D098 cbi 0x1a,0
01A8 .dbline 123
01A8 ; PORTA&=~BIT(0);
01A8 D898 cbi 0x1b,0
01AA .dbline 124
01AA ; ADMUX=0x40;
01AA 80E4 ldi R24,64
01AC 87B9 out 0x7,R24
01AE .dbline 125
01AE ; ADCSR=0X80;
01AE 80E8 ldi R24,128
01B0 86B9 out 0x6,R24
01B2 .dbline 126
01B2 ; ADCSR|=BIT(6);
01B2 369A sbi 0x6,6
01B4 L40:
01B4 .dbline 127
01B4 ; while(!(ADCSR&(BIT(4))));
01B4 L41:
01B4 .dbline 127
01B4 349B sbis 0x6,4
01B6 FECF rjmp L40
01B8 X11:
01B8 .dbline 128
01B8 ; addata=ADCL;
01B8 A4B0 in R10,0x4
01BA BB24 clr R11
01BC .dbline 129
01BC ; addata=addata+ADCH*256;
01BC 25B1 in R18,0x5
01BE 3327 clr R19
01C0 00E0 ldi R16,256
01C2 11E0 ldi R17,1
01C4 0E940000 xcall empy16s
01C8 A00E add R10,R16
01CA B11E adc R11,R17
01CC .dbline 130
01CC ; return addata;
01CC 8501 movw R16,R10
01CE .dbline -2
01CE L39:
01CE .dbline 0 ; func end
01CE B990 ld R11,y+
01D0 A990 ld R10,y+
01D2 0895 ret
01D4 .dbsym r addata 10 i
01D4 .dbend
01D4 .dbfunc e main _main fV
01D4 ; adc -> R10,R11
.even
01D4 _main::
01D4 .dbline -1
01D4 .dbline 134
01D4 ; }
01D4 ;
01D4 ; void main()
01D4 ; {
01D4 .dbline 137
01D4 ; uint adc;
01D4 ;
01D4 ; DDRC|=BIT(5);
01D4 A59A sbi 0x14,5
01D6 .dbline 138
01D6 ; DDRC|=BIT(4);
01D6 A49A sbi 0x14,4
01D8 .dbline 139
01D8 ; PORTC&=~BIT(4);
01D8 AC98 cbi 0x15,4
01DA .dbline 140
01DA ; PORTC|=BIT(5);
01DA AD9A sbi 0x15,5
01DC .dbline 142
01DC ;
01DC ; lcd12864_init();
01DC 71DF xcall _lcd12864_init
01DE .dbline 143
01DE ; cls();
01DE D8DF xcall _cls
01E0 .dbline 144
01E0 ; delay_ms(2);
01E0 02E0 ldi R16,2
01E2 10E0 ldi R17,0
01E4 1BDF xcall _delay_ms
01E6 .dbline 146
01E6 ;
01E6 ; locate(1,3);write_hz("滨州学院");
01E6 23E0 ldi R18,3
01E8 01E0 ldi R16,1
01EA A2DF xcall _locate
01EC .dbline 146
01EC 00E0 ldi R16,<L44
01EE 10E0 ldi R17,>L44
01F0 8EDF xcall _write_hz
01F2 .dbline 147
01F2 ; locate(2,1);write_hz("创新实验室 OK");
01F2 21E0 ldi R18,1
01F4 02E0 ldi R16,2
01F6 9CDF xcall _locate
01F8 .dbline 147
01F8 00E0 ldi R16,<L45
01FA 10E0 ldi R17,>L45
01FC 88DF xcall _write_hz
01FE .dbline 148
01FE ; locate(3,1);write_hz("ATmega16 ADC学习");
01FE 21E0 ldi R18,1
0200 03E0 ldi R16,3
0202 96DF xcall _locate
0204 .dbline 148
0204 00E0 ldi R16,<L46
0206 10E0 ldi R17,>L46
0208 82DF xcall _write_hz
020A .dbline 149
020A ; locate(4,1);write_hz("测量电压 V");
020A 21E0 ldi R18,1
020C 04E0 ldi R16,4
020E 90DF xcall _locate
0210 .dbline 149
0210 00E0 ldi R16,<L47
0212 10E0 ldi R17,>L47
0214 7CDF xcall _write_hz
0216 45C0 xjmp L49
0218 L48:
0218 .dbline 151
0218 ; while(1)
0218 ; {
0218 .dbline 152
0218 ; adc=mega16_adc()*4.888;
0218 C4DF xcall _mega16_adc
021A 3801 movw R6,R16
021C 00E0 ldi R16,<L51
021E 10E0 ldi R17,>L51
0220 0E940000 xcall lpm32
0224 1801 movw R2,R16
0226 2901 movw R4,R18
0228 8301 movw R16,R6
022A 0E940000 xcall uint2fp
022E 3A93 st -y,R19
0230 2A93 st -y,R18
0232 1A93 st -y,R17
0234 0A93 st -y,R16
0236 8101 movw R16,R2
0238 9201 movw R18,R4
023A 0E940000 xcall fpmule2
023E 0E940000 xcall fpint
0242 5801 movw R10,R16
0244 .dbline 153
0244 ; locate(4,5);
0244 25E0 ldi R18,5
0246 04E0 ldi R16,4
0248 73DF xcall _locate
024A .dbline 154
024A ; write_hz(":");
024A 00E0 ldi R16,<L52
024C 10E0 ldi R17,>L52
024E 5FDF xcall _write_hz
0250 .dbline 155
0250 ; write_shuju(1,(adc/1000)+0x30);
0250 28EE ldi R18,1000
0252 33E0 ldi R19,3
0254 8501 movw R16,R10
0256 0E940000 xcall div16u
025A 9801 movw R18,R16
025C 205D subi R18,208 ; offset = 48
025E 3F4F sbci R19,255
0260 01E0 ldi R16,1
0262 05DF xcall _write_shuju
0264 .dbline 156
0264 ; write_hz(".");
0264 00E0 ldi R16,<L53
0266 10E0 ldi R17,>L53
0268 52DF xcall _write_hz
026A .dbline 157
026A ; write_shuju(1,((adc/100)%10)+0x30);
026A 24E6 ldi R18,100
026C 30E0 ldi R19,0
026E 8501 movw R16,R10
0270 0E940000 xcall div16u
0274 2AE0 ldi R18,10
0276 30E0 ldi R19,0
0278 0E940000 xcall mod16u
027C 9801 movw R18,R16
027E 205D subi R18,208 ; offset = 48
0280 3F4F sbci R19,255
0282 01E0 ldi R16,1
0284 F4DE xcall _write_shuju
0286 .dbline 158
0286 ; write_shuju(1,((adc/10)%10)+0x30);
0286 2AE0 ldi R18,10
0288 30E0 ldi R19,0
028A 8501 movw R16,R10
028C 0E940000 xcall div16u
0290 2AE0 ldi R18,10
0292 30E0 ldi R19,0
0294 0E940000 xcall mod16u
0298 9801 movw R18,R16
029A 205D subi R18,208 ; offset = 48
029C 3F4F sbci R19,255
029E 01E0 ldi R16,1
02A0 E6DE xcall _write_shuju
02A2 .dbline 160
02A2 ; //write_shuju(1,(adc%10)+0x30);
02A2 ; }
02A2 L49:
02A2 .dbline 150
02A2 BACF xjmp L48
02A4 X12:
02A4 .dbline -2
02A4 L43:
02A4 .dbline 0 ; func end
02A4 0895 ret
02A6 .dbsym r adc 10 i
02A6 .dbend
.area data(ram, con, rel)
0000 .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
0000 L53:
0000 .blkb 2
.area idata
0000 2E00 .byte 46,0
.area data(ram, con, rel)
0002 .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
0002 L52:
0002 .blkb 2
.area idata
0002 3A00 .byte 58,0
.area data(ram, con, rel)
0004 .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
.area lit(rom, con, rel)
0000 L51:
0000 7F6A9C40 .word 0x6a7f,0x409c
.area data(ram, con, rel)
0004 .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
0004 L47:
0004 .blkb 16
.area idata
0004 B2E2C1BFB5E7D1B92020202020205600 .byte 178,226,193,191,181,231,209,185,32,32,32,32,32,32,'V,0
.area data(ram, con, rel)
0014 .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
0014 L46:
0014 .blkb 17
.area idata
0014 41546D656761313620414443D1A7CFB0 .byte 'A,'T,'m,'e,'g,'a,49,54,32,'A,'D,'C,209,167,207,176
0024 00 .byte 0
.area data(ram, con, rel)
0025 .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
0025 L45:
0025 .blkb 15
.area idata
0025 B4B4D0C2CAB5D1E9CAD220204F4B00 .byte 180,180,208,194,202,181,209,233,202,210,32,32,'O,'K,0
.area data(ram, con, rel)
0034 .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
0034 L44:
0034 .blkb 9
.area idata
0034 B1F5D6DDD1A7D4BA00 .byte 177,245,214,221,209,167,212,186,0
.area data(ram, con, rel)
003D .dbfile E:\AVR自编程序\11avr实验板\1812864串口\12864串口.c
003D ;
003D ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -