📄 ad.s
字号:
.byte 0,0
.byte 0,0
.byte 159,255
.byte 240,0
.byte 0,0
.byte 0,60
.byte 12,0
.byte 1,0
.byte 0,0
.byte 0,0
.byte 128,0
.byte 15,192
.byte 0,0
.byte 0,36
.byte 48,0
.byte 1,0
.byte 0,0
.byte 0,0
.byte 128,0
.byte 0,60
.byte 0,0
.byte 0,36
.byte 64,0
.byte 1,0
.byte 0,0
.byte 0,0
.byte 128,0
.byte 0,3
.byte 255,255
.byte 255,228
.byte 128,0
.byte 1,0
.byte 0,0
.byte 0,0
.byte 128,0
.byte 0,0
.byte 0,0
.byte 0,5
.byte 128,0
.byte 1,0
.byte 0,0
.byte 0,0
.byte 128,0
.byte 0,0
.byte 0,0
.byte 0,4
.byte 0,0
.byte 1,0
.byte 0,0
.byte 0,0
.byte 255,0
.byte 0,0
.byte 0,0
.byte 0,6
.byte 0,0
.byte 30,0
.byte 0,0
.byte 0,0
.byte 1,192
.byte 0,0
.byte 0,0
.byte 0,5
.byte 0,3
.byte 224,0
.byte 0,0
.byte 0,0
.byte 0,32
.byte 0,0
.byte 0,0
.byte 0,4
.byte 128,12
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,24
.byte 0,0
.byte 0,0
.byte 0,4
.byte 127,240
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,12
.byte 0,0
.byte 0,0
.byte 0,4
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,2
.byte 0,0
.byte 0,0
.byte 0,12
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,2
.byte 0,0
.byte 0,0
.byte 0,'x
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,3
.byte 128,0
.byte 0,0
.byte 0,192
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 127,255
.byte 255,255
.byte 255,128
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.dbsym e Bitmap _Bitmap A[1024:1024]kc
.area text(rom, con, rel)
.dbfile D:\垃圾站\00\adc\lcd.h
.dbfunc e ShowBmp _ShowBmp fV
; a -> R10,R11
; y -> R22,R23
; i -> R12,R13
; x -> R20,R21
.even
_ShowBmp::
xcall push_xgsetF03C
.dbline -1
.dbline 251
;
; }
;
; //#if LCD12864==TRUE //条件编译指令
; //#pragma data:code //指定存储位置为Flash
; const unsigned char Bitmap[]={/*-- 宽度x高度=128x64图像 --*/
;
;
;
; 0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x01,0x06,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x04,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x04,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x04,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x04,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x0F,0xFE,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x10,0x01,0xFF,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x3F,0xFC,0x00,0x00,0xC8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x04,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x02,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x01,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0xFF,0xF0,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x06,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x7F,0xF0,0x09,0xE0,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x60,0x00,0x08,0x20,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x40,0x00,0x08,0x20,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
; 0x00,0x00,0xC0,0x00,0x0F,0xE0,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x3F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x20,0x0F,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,0x40,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFC,0x00,0x40,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x80,0x01,0x00,0x00,0x00,
; 0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x06,0x20,0x01,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x03,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x9F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x3C,0x0C,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x0F,0xC0,0x00,0x00,0x00,0x24,0x30,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x3C,0x00,0x00,0x00,0x24,0x40,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xE4,0x80,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x80,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,
; 0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x1E,0x00,0x00,0x00,
; 0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x03,0xE0,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x04,0x80,0x0C,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x04,0x7F,0xF0,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
;
; };
;
; /*******************************************************/
; /****** 函数名称: ShowBmp() ******/
; /****** 功 能: 显示一幅128*64的BMP位图 ******/
; /****** 参 数: 无 ******/
; /****** 返回值 : 无 ******/
; /*******************************************************/
; void ShowBmp(void)
; {
.dbline 252
; unsigned int i,a,x=0,y=0;
clr R20
clr R21
.dbline 252
clr R22
clr R23
.dbline 253
; WR_control(0x34);
ldi R16,52
xcall _WR_control
.dbline 254
; for(a=0;a<32;a++)
clr R10
clr R11
xjmp L56
L53:
.dbline 255
; {
.dbline 256
; WR_control(0x80+a);
mov R16,R10
subi R16,128 ; offset = 128
sbci R17,255
xcall _WR_control
.dbline 257
; WR_control(0x80);
ldi R16,128
xcall _WR_control
.dbline 258
; for(i=0;i<8;i++)
clr R12
clr R13
xjmp L60
L57:
.dbline 259
; {
.dbline 260
; WR_dat(Bitmap[y+x]);
movw R30,R22
add R30,R20
adc R31,R21
ldi R24,<_Bitmap
ldi R25,>_Bitmap
add R30,R24
adc R31,R25
lpm R16,Z
xcall _WR_dat
.dbline 261
; WR_dat(Bitmap[y+x+1]);
movw R30,R22
add R30,R20
adc R31,R21
adiw R30,1
ldi R24,<_Bitmap
ldi R25,>_Bitmap
add R30,R24
adc R31,R25
lpm R16,Z
xcall _WR_dat
.dbline 262
; x+=2;
subi R20,254 ; offset = 2
sbci R21,255
.dbline 263
; }
L58:
.dbline 258
movw R24,R12
adiw R24,1
movw R12,R24
L60:
.dbline 258
movw R24,R12
cpi R24,8
ldi R30,0
cpc R25,R30
brlo L57
X13:
.dbline 264
; x=0;
clr R20
clr R21
.dbline 265
; for(i=0;i<8;i++)
clr R12
clr R13
xjmp L64
L61:
.dbline 266
; {
.dbline 267
; WR_dat(Bitmap[512+y+x]);
movw R30,R22
subi R30,0 ; offset = 512
sbci R31,254
add R30,R20
adc R31,R21
ldi R24,<_Bitmap
ldi R25,>_Bitmap
add R30,R24
adc R31,R25
lpm R16,Z
xcall _WR_dat
.dbline 268
; WR_dat(Bitmap[512+y+x+1]);
movw R30,R22
subi R30,0 ; offset = 512
sbci R31,254
add R30,R20
adc R31,R21
adiw R30,1
ldi R24,<_Bitmap
ldi R25,>_Bitmap
add R30,R24
adc R31,R25
lpm R16,Z
xcall _WR_dat
.dbline 269
; x+=2;
subi R20,254 ; offset = 2
sbci R21,255
.dbline 270
; }
L62:
.dbline 265
movw R24,R12
adiw R24,1
movw R12,R24
L64:
.dbline 265
movw R24,R12
cpi R24,8
ldi R30,0
cpc R25,R30
brlo L61
X14:
.dbline 271
; x=0;
clr R20
clr R21
.dbline 272
; y+=16;
subi R22,240 ; offset = 16
sbci R23,255
.dbline 273
; }
L54:
.dbline 254
movw R24,R10
adiw R24,1
movw R10,R24
L56:
.dbline 254
movw R24,R10
cpi R24,32
ldi R30,0
cpc R25,R30
brsh X16
xjmp L53
X16:
X15:
.dbline 274
; WR_control(0x36);
ldi R16,54
xcall _WR_control
.dbline 275
; delay_nus(80);
ldi R16,80
ldi R17,0
xcall _delay_nus
.dbline 276
; WR_control(0x30);
ldi R16,48
xcall _WR_control
.dbline 277
; delay_nus(80);
ldi R16,80
ldi R17,0
xcall _delay_nus
.dbline -2
L52:
.dbline 0 ; func end
xjmp pop_xgsetF03C
.dbsym r a 10 i
.dbsym r y 22 i
.dbsym r i 12 i
.dbsym r x 20 i
.dbend
.dbfile D:\垃圾站\00\adc\ad.c
.dbfunc e Adc_Init _Adc_Init fV
.even
_Adc_Init::
.dbline -1
.dbline 7
; #include "iom16v.h"
; #include "macros.h"
; #include "delay.h"
; #include "lcd.h"
; unsigned int time;
; void Adc_Init(void)
; {
.dbline 8
; ADMUX=0xc0; //片内2.56基准源,通道为ADC0
ldi R24,192
out 0x7,R24
.dbline 9
; ADCSRA=0X00; //停止ADC
clr R2
out 0x6,R2
.dbline 11
;
; ACSR=(1<<ACD); //关闭模拟比较器
ldi R24,128
out 0x8,R24
.dbline 12
; ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)
ldi R24,207
out 0x6,R24
.dbline -2
L65:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 56
jmp _Adc_isr
.area text(rom, con, rel)
.dbfile D:\垃圾站\00\adc\ad.c
.dbfunc e Adc_isr _Adc_isr fV
.even
_Adc_isr::
xcall push_lset
sbiw R28,2
.dbline -1
.dbline 19
; |(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); //使能ADC、启动AD转换、使能ADC中断、128分频
;
; }
;
; #pragma interrupt_handler Adc_isr:15
; void Adc_isr(void)
; {
.dbline 20
; time=ADC&0x3ff;
in R24,0x4
in R25,0x5
andi R25,3
sts _time+1,R25
sts _time,R24
.dbline 22
; //time=ADCH; //取出转换结果到缓冲数组
; lcd_write2(2,1,time); //显示转换结果
movw R2,R24
std y+1,R3
std y+0,R2
ldi R18,1
ldi R16,2
xcall _lcd_write2
.dbline 23
; delay_nms(200);
ldi R16,200
ldi R17,0
xcall _delay_nms
.dbline 24
; ADCSRA|=(1<<ADSC); //启动转换
sbi 0x6,6
.dbline -2
L66:
.dbline 0 ; func end
adiw R28,2
xcall pop_lset
reti
.dbend
.dbfunc e main _main fV
.even
_main::
.dbline -1
.dbline 27
; }
; void main()
; {CLI();
.dbline 27
cli
.dbline 28
; Adc_Init();
xcall _Adc_Init
.dbline 29
; Lcd_INT();
xcall _Lcd_INT
.dbline 30
; lcd_clear();
xcall _lcd_clear
.dbline 31
; SEI();
sei
.dbline -2
L67:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile D:\垃圾站\00\adc\ad.c
_time::
.blkb 2
.dbsym e time _time i
_ADtmp::
.blkb 1
.dbfile D:\垃圾站\00\adc\lcd.h
.dbsym e ADtmp _ADtmp c
; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -