📄 zz.lis
字号:
00B2 AE9A sbi 0x15,6
00B4 .dbline -2
00B4 L22:
00B4 .dbline 0 ; func end
00B4 4991 ld R20,y+
00B6 A990 ld R10,y+
00B8 0895 ret
00BA .dbsym r b 20 c
00BA .dbsym r a 10 c
00BA .dbend
00BA .dbfunc e lcd12864_init _lcd12864_init fV
.even
00BA _lcd12864_init::
00BA .dbline -1
00BA .dbline 73
00BA ; }
00BA ; void lcd12864_init()
00BA ; {
00BA .dbline 74
00BA ; write_shuju(0,0x30); //设置数据方式:8位
00BA 20E3 ldi R18,48
00BC 0027 clr R16
00BE D4DF xcall _write_shuju
00C0 .dbline 75
00C0 ; delay_us(200);
00C0 08EC ldi R16,200
00C2 10E0 ldi R17,0
00C4 A0DF xcall _delay_us
00C6 .dbline 76
00C6 ; write_shuju(0,0x30); //设置数据方式:8位
00C6 20E3 ldi R18,48
00C8 0027 clr R16
00CA CEDF xcall _write_shuju
00CC .dbline 77
00CC ; delay_us(80);
00CC 00E5 ldi R16,80
00CE 10E0 ldi R17,0
00D0 9ADF xcall _delay_us
00D2 .dbline 78
00D2 ; write_shuju(0,0x0C); //开显示
00D2 2CE0 ldi R18,12
00D4 0027 clr R16
00D6 C8DF xcall _write_shuju
00D8 .dbline 79
00D8 ; delay_us(80);
00D8 00E5 ldi R16,80
00DA 10E0 ldi R17,0
00DC 94DF xcall _delay_us
00DE .dbline 80
00DE ; write_shuju(0,0x40); //开显示
00DE 20E4 ldi R18,64
00E0 0027 clr R16
00E2 C2DF xcall _write_shuju
00E4 .dbline 81
00E4 ; delay_us(200);
00E4 08EC ldi R16,200
00E6 10E0 ldi R17,0
00E8 8EDF xcall _delay_us
00EA .dbline 82
00EA ; write_shuju(0,0x01); //清屏
00EA 21E0 ldi R18,1
00EC 0027 clr R16
00EE BCDF xcall _write_shuju
00F0 .dbline 83
00F0 ; delay_ms(100);
00F0 04E6 ldi R16,100
00F2 10E0 ldi R17,0
00F4 .dbline -2
00F4 L25:
00F4 .dbline 0 ; func end
00F4 90CF xjmp _delay_ms
00F6 .dbend
00F6 .dbfunc e write_hz _write_hz fV
00F6 ; s -> R20,R21
.even
00F6 _write_hz::
00F6 4A93 st -y,R20
00F8 5A93 st -y,R21
00FA A801 movw R20,R16
00FC .dbline -1
00FC .dbline 87
00FC ;
00FC ; }
00FC ; void write_hz(char *s)
00FC ; {
00FC 06C0 xjmp L28
00FE L27:
00FE .dbline 89
00FE ; while(*s)
00FE ; {
00FE .dbline 90
00FE ; write_shuju(1,*s);
00FE FA01 movw R30,R20
0100 2081 ldd R18,z+0
0102 01E0 ldi R16,1
0104 B1DF xcall _write_shuju
0106 .dbline 91
0106 ; s++;
0106 4F5F subi R20,255 ; offset = 1
0108 5F4F sbci R21,255
010A .dbline 92
010A ; }
010A L28:
010A .dbline 88
010A FA01 movw R30,R20
010C 2080 ldd R2,z+0
010E 2220 tst R2
0110 B1F7 brne L27
0112 X6:
0112 .dbline -2
0112 L26:
0112 .dbline 0 ; func end
0112 5991 ld R21,y+
0114 4991 ld R20,y+
0116 0895 ret
0118 .dbsym r s 20 pc
0118 .dbend
0118 .dbfunc e locate _locate fV
0118 ; y -> R20
0118 ; x -> R10
.even
0118 _locate::
0118 0E940000 xcall push_xgsetF00C
011C 422F mov R20,R18
011E A02E mov R10,R16
0120 .dbline -1
0120 .dbline 95
0120 ; }
0120 ; void locate(uchar x,uchar y)
0120 ; {
0120 .dbline 96
0120 ; switch(x)
0120 6A2D mov R22,R10
0122 7727 clr R23
0124 6130 cpi R22,1
0126 E0E0 ldi R30,0
0128 7E07 cpc R23,R30
012A 69F0 breq L34
012C X7:
012C 6230 cpi R22,2
012E E0E0 ldi R30,0
0130 7E07 cpc R23,R30
0132 79F0 breq L35
0134 X8:
0134 6330 cpi R22,3
0136 E0E0 ldi R30,0
0138 7E07 cpc R23,R30
013A 89F0 breq L36
013C X9:
013C 6430 cpi R22,4
013E E0E0 ldi R30,0
0140 7E07 cpc R23,R30
0142 99F0 breq L37
0144 X10:
0144 17C0 xjmp L32
0146 L34:
0146 .dbline 98
0146 ; {
0146 ; case 1:write_shuju(0,(0x80+y-1)); break;
0146 242F mov R18,R20
0148 2058 subi R18,128 ; addi 128
014A 2150 subi R18,1
014C 0027 clr R16
014E 8CDF xcall _write_shuju
0150 .dbline 98
0150 11C0 xjmp L32
0152 L35:
0152 .dbline 99
0152 ; case 2:write_shuju(0,(0x90+y-1));break;
0152 242F mov R18,R20
0154 2057 subi R18,112 ; addi 144
0156 2150 subi R18,1
0158 0027 clr R16
015A 86DF xcall _write_shuju
015C .dbline 99
015C 0BC0 xjmp L32
015E L36:
015E .dbline 100
015E ; case 3:write_shuju(0,(0x88+y-1));break;
015E 242F mov R18,R20
0160 2857 subi R18,120 ; addi 136
0162 2150 subi R18,1
0164 0027 clr R16
0166 80DF xcall _write_shuju
0168 .dbline 100
0168 05C0 xjmp L32
016A L37:
016A .dbline 101
016A ; case 4:write_shuju(0,(0x98+y-1));break;
016A 242F mov R18,R20
016C 2856 subi R18,104 ; addi 152
016E 2150 subi R18,1
0170 0027 clr R16
0172 7ADF xcall _write_shuju
0174 .dbline 101
0174 .dbline 102
0174 ; default:break;
0174 L32:
0174 .dbline -2
0174 L30:
0174 .dbline 0 ; func end
0174 0C940000 xjmp pop_xgsetF00C
0178 .dbsym r y 20 c
0178 .dbsym r x 10 c
0178 .dbend
0178 .dbfunc e cls _cls fV
.even
0178 _cls::
0178 .dbline -1
0178 .dbline 106
0178 ; }
0178 ; }
0178 ; void cls()
0178 ; {
0178 .dbline 107
0178 ; delay_us(200);
0178 08EC ldi R16,200
017A 10E0 ldi R17,0
017C 44DF xcall _delay_us
017E .dbline 108
017E ; write_shuju(0,0x01); //清屏
017E 21E0 ldi R18,1
0180 0027 clr R16
0182 72DF xcall _write_shuju
0184 .dbline 109
0184 ; delay_ms(20);
0184 04E1 ldi R16,20
0186 10E0 ldi R17,0
0188 .dbline -2
0188 L38:
0188 .dbline 0 ; func end
0188 46CF xjmp _delay_ms
018A .dbend
018A .dbfile F:\新学习板程序\avr程序\181286~1\12864_~1\adc.h
018A .dbfunc e mega16_adc _mega16_adc fi
018A ; addata -> R10,R11
.even
018A _mega16_adc::
018A AA92 st -y,R10
018C BA92 st -y,R11
018E .dbline -1
018E .dbline 6
018E ; #include <iom16v.h>
018E ; #include <macros.h>
018E ; #define uchar unsigned char
018E ; #define uint unsigned int
018E ; uint mega16_adc()
018E ; {
018E .dbline 8
018E ; uint addata;
018E ; DDRA&=~BIT(0);
018E D098 cbi 0x1a,0
0190 .dbline 9
0190 ; PORTA&=~BIT(0);
0190 D898 cbi 0x1b,0
0192 .dbline 10
0192 ; ADMUX=0x40;
0192 80E4 ldi R24,64
0194 87B9 out 0x7,R24
0196 .dbline 11
0196 ; ADCSR=0X80;
0196 80E8 ldi R24,128
0198 86B9 out 0x6,R24
019A .dbline 12
019A ; ADCSR|=BIT(6);
019A 369A sbi 0x6,6
019C L40:
019C .dbline 13
019C ; while(!(ADCSR&(BIT(4))));
019C L41:
019C .dbline 13
019C 349B sbis 0x6,4
019E FECF rjmp L40
01A0 X11:
01A0 .dbline 14
01A0 ; addata=ADCL;
01A0 A4B0 in R10,0x4
01A2 BB24 clr R11
01A4 .dbline 15
01A4 ; addata=addata+ADCH*256;
01A4 25B1 in R18,0x5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -