📄 ad.lis
字号:
.module ad.c
.area data(ram, con, rel)
0000 _ADbz::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile H:\bbi项目源程序\AD转换\adc_16/lcd.h
0001 .dbsym e ADbz _ADbz c
.area text(rom, con, rel)
0000 .dbfile H:\bbi项目源程序\AD转换\adc_16/lcd.h
0000 .dbfunc e delay _delay fV
0000 ; i -> R20
0000 ; n -> R16
.even
0000 _delay::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 8
0004 ; #include "iom16v.h"
0004 ; #include "macros.h"
0004 ; #include "lcd.h"
0004 ; unsigned int Adc0_Conver[1];
0004 ; unsigned char time;
0004 ; void Adc_Init(void)
0004 ; {
0004 ; DDRD&=~0x80;
0004 .dbline 10
0004 ; PORTD&=~0x80;
0004 ; ADMUX=0xe0; //片内2.56基准源,通道为ADC0
0004 4427 clr R20
0006 02C0 xjmp L5
0008 L2:
0008 .dbline 11
0008 .dbline 11
0008 0000 nop
000A .dbline 11
000A L3:
000A .dbline 10
000A 4395 inc R20
000C L5:
000C .dbline 10
000C 4017 cp R20,R16
000E E0F3 brlo L2
0010 .dbline -2
0010 L1:
0010 0E940000 xcall pop_gset1
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbsym r i 20 c
0016 .dbsym r n 16 c
0016 .dbend
0016 .dbfunc e lcd_out _lcd_out fV
0016 ; s -> <dead>
0016 ; i -> R20
0016 ; send_byte -> R22
.even
0016 _lcd_out::
0016 0E940000 xcall push_gset2
001A 602F mov R22,R16
001C .dbline -1
001C .dbline 17
001C ; ADCSRA=0X00; //停止ADC
001C ;
001C ; ACSR=(1<<ACD); //关闭模拟比较器
001C ; ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)
001C ; |(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); //使能ADC、启动AD转换、使能ADC中断、128分频
001C ;
001C ; }
001C .dbline 19
001C ;
001C ; #pragma interrupt_handler Adc_isr:15
001C 4427 clr R20
001E 09C0 xjmp L10
0020 L7:
0020 .dbline 20
0020 ; void Adc_isr(void)
0020 .dbline 21
0020 ; {
0020 67FD sbrc R22,7
0022 02C0 rjmp L11
0024 .dbline 22
0024 ; time=ADCH; //取出转换结果到缓冲数组
0024 .dbline 23
0024 ; lcd_write2(2,1,time); //显示转换结果
0024 D998 cbi 0x1b,1
0026 .dbline 24
0026 ; ADCSRA|=(1<<ADSC); //启动转换
0026 01C0 xjmp L12
0028 L11:
0028 .dbline 26
0028 ; }
0028 ; void main()
0028 .dbline 27
0028 ; { CLI();
0028 D99A sbi 0x1b,1
002A .dbline 28
002A ; Adc_Init();
002A L12:
002A .dbline 29
002A DB98 cbi 0x1b,3
002C .dbline 30
002C DB9A sbi 0x1b,3
002E .dbline 31
002E 660F lsl R22
0030 .dbline 32
0030 L8:
0030 .dbline 19
0030 4395 inc R20
0032 L10:
0032 .dbline 19
0032 4830 cpi R20,8
0034 A8F3 brlo L7
0036 .dbline 33
0036 ; Lcd_INT();
0036 ; lcd_clear();
0036 ; SEI();
0036 ; }
0036 ; }
0036 00E0 ldi R16,0
0038 E3DF xcall _delay
003A .dbline -2
003A L6:
003A 0E940000 xcall pop_gset2
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbsym l s 1 c
0040 .dbsym r i 20 c
0040 .dbsym r send_byte 22 c
0040 .dbend
0040 .dbfunc e WR_dat _WR_dat fV
0040 ; s -> R20
0040 ; dat -> R22
.even
0040 _WR_dat::
0040 0E940000 xcall push_gset2
0044 602F mov R22,R16
0046 .dbline -1
0046 .dbline 38
0046 ; }
0046 ; }
0046 ; }
0046 ; }
0046 ; }
0046 .dbline 40
0046 ; }
0046 ; }
0046 462F mov R20,R22
0048 407F andi R20,240
004A .dbline 41
004A ; }
004A 0AEF ldi R16,250
004C E4DF xcall _lcd_out
004E .dbline 42
004E ; }
004E 042F mov R16,R20
0050 E2DF xcall _lcd_out
0052 .dbline 43
0052 ; }
0052 462F mov R20,R22
0054 4F70 andi R20,15
0056 .dbline 44
0056 ; }
0056 842F mov R24,R20
0058 8F70 andi R24,#0x0F
005A 8295 swap R24
005C 482F mov R20,R24
005E .dbline 45
005E ; }
005E 082F mov R16,R24
0060 DADF xcall _lcd_out
0062 .dbline -2
0062 L13:
0062 0E940000 xcall pop_gset2
0066 .dbline 0 ; func end
0066 0895 ret
0068 .dbsym r s 20 c
0068 .dbsym r dat 22 c
0068 .dbend
0068 .dbfunc e WR_control _WR_control fV
0068 ; s -> R20
0068 ; dat -> R22
.even
0068 _WR_control::
0068 0E940000 xcall push_gset2
006C 602F mov R22,R16
006E .dbline -1
006E .dbline 49
006E ; }
006E ; }
006E ; }
006E ; }
006E .dbline 51
006E ; }
006E ; }
006E 462F mov R20,R22
0070 407F andi R20,240
0072 .dbline 52
0072 ; }
0072 08EF ldi R16,248
0074 D0DF xcall _lcd_out
0076 .dbline 53
0076 ; }
0076 042F mov R16,R20
0078 CEDF xcall _lcd_out
007A .dbline 54
007A ; }
007A 462F mov R20,R22
007C 4F70 andi R20,15
007E .dbline 55
007E ; }
007E 842F mov R24,R20
0080 8F70 andi R24,#0x0F
0082 8295 swap R24
0084 482F mov R20,R24
0086 .dbline 56
0086 ; }
0086 082F mov R16,R24
0088 C6DF xcall _lcd_out
008A .dbline -2
008A L14:
008A 0E940000 xcall pop_gset2
008E .dbline 0 ; func end
008E 0895 ret
0090 .dbsym r s 20 c
0090 .dbsym r dat 22 c
0090 .dbend
0090 .dbfunc e lcd_control _lcd_control fV
.even
0090 _lcd_control::
0090 .dbline -1
0090 .dbline 60
0090 ; }
0090 ; }
0090 ; }
0090 ; }
0090 .dbline 61
0090 ; }
0090 00E3 ldi R16,48
0092 EADF xcall _WR_control
0094 .dbline 62
0094 ; }
0094 0CE0 ldi R16,12
0096 E8DF xcall _WR_control
0098 .dbline -2
0098 L15:
0098 .dbline 0 ; func end
0098 0895 ret
009A .dbend
009A .dbfunc e lcd_clear _lcd_clear fV
009A ; i -> R20,R21
.even
009A _lcd_clear::
009A 0E940000 xcall push_gset1
009E .dbline -1
009E .dbline 66
009E ; }
009E ; }
009E ; }
009E ; }
009E .dbline 68
009E ; }
009E ; }
009E 01E0 ldi R16,1
00A0 E3DF xcall _WR_control
00A2 .dbline 69
00A2 ; }
00A2 4427 clr R20
00A4 5527 clr R21
00A6 L17:
00A6 .dbline 70
00A6 .dbline 71
00A6 0000 nop
00A8 .dbline 72
00A8 0000 nop
00AA .dbline 73
00AA L18:
00AA .dbline 69
00AA 4F5F subi R20,255 ; offset = 1
00AC 5F4F sbci R21,255
00AE .dbline 69
00AE 4838 cpi R20,136
00B0 E3E1 ldi R30,19
00B2 5E07 cpc R21,R30
00B4 C4F3 brlt L17
00B6 .dbline -2
00B6 L16:
00B6 0E940000 xcall pop_gset1
00BA .dbline 0 ; func end
00BA 0895 ret
00BC .dbsym r i 20 I
00BC .dbend
00BC .dbfunc e LCD_address _LCD_address fV
00BC ; address -> R20
00BC ; y -> R22
00BC ; x -> R20
.even
00BC _LCD_address::
00BC 0E940000 xcall push_gset2
00C0 622F mov R22,R18
00C2 402F mov R20,R16
00C4 .dbline -1
00C4 .dbline 82
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 ; }
00C4 .dbline 84
00C4 ; }
00C4 ; }
00C4 5527 clr R21
00C6 4030 cpi R20,0
00C8 4507 cpc R20,R21
00CA 69F0 breq L25
00CC X0:
00CC 4130 cpi R20,1
00CE E0E0 ldi R30,0
00D0 5E07 cpc R21,R30
00D2 61F0 breq L26
00D4 4230 cpi R20,2
00D6 E0E0 ldi R30,0
00D8 5E07 cpc R21,R30
00DA 59F0 breq L27
00DC 4330 cpi R20,3
00DE E0E0 ldi R30,0
00E0 5E07 cpc R21,R30
00E2 51F0 breq L28
00E4 0CC0 xjmp L22
00E6 X1:
00E6 .dbline 85
00E6 ; }
00E6 L25:
00E6 .dbline 87
00E6 ; }
00E6 ; }
00E6 462F mov R20,R22
00E8 4058 subi R20,128 ; addi 128
00EA .dbline 88
00EA ; }
00EA 0BC0 xjmp L23
00EC L26:
00EC .dbline 90
00EC ; }
00EC ; }
00EC 462F mov R20,R22
00EE 4057 subi R20,112 ; addi 144
00F0 .dbline 91
00F0 ; }
00F0 08C0 xjmp L23
00F2 L27:
00F2 .dbline 93
00F2 ; }
00F2 ; }
00F2 462F mov R20,R22
00F4 4857 subi R20,120 ; addi 136
00F6 .dbline 94
00F6 ; }
00F6 05C0 xjmp L23
00F8 L28:
00F8 .dbline 96
00F8 ; }
00F8 ; }
00F8 462F mov R20,R22
00FA 4856 subi R20,104 ; addi 152
00FC .dbline 97
00FC ; }
00FC 02C0 xjmp L23
00FE L22:
00FE .dbline 98
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -