📄 lly.lst
字号:
05D4 2766 CLR R22
05D5 C024 RJMP 0x05FA
(0181) {
(0182) write_com(0x34);//扩充指令集
05D6 E304 LDI R16,0x34
05D7 DF04 RCALL _write_com
(0183) write_com(0X80+j);//列号
05D8 2F04 MOV R16,R20
05D9 5800 SUBI R16,0x80
05DA DF01 RCALL _write_com
(0184) write_com(0X80+i);//行号
05DB 2F06 MOV R16,R22
05DC 5800 SUBI R16,0x80
05DD DEFE RCALL _write_com
(0185) write_com(0x30);//基本指令集
05DE E300 LDI R16,0x30
05DF DEFC RCALL _write_com
(0186) write_data(img[j*16+i*2]);
05E0 E082 LDI R24,2
05E1 9F86 MUL R24,R22
05E2 0110 MOVW R2,R0
05E3 E180 LDI R24,0x10
05E4 9F84 MUL R24,R20
05E5 01F0 MOVW R30,R0
05E6 0DE2 ADD R30,R2
05E7 1DF3 ADC R31,R3
05E8 0DEA ADD R30,R10
05E9 1DFB ADC R31,R11
05EA 9104 LD R16,R16
05EB DF05 RCALL _write_data
(0187) write_data(img[j*16+i*2+1]);
05EC E082 LDI R24,2
05ED 9F86 MUL R24,R22
05EE 0110 MOVW R2,R0
05EF E180 LDI R24,0x10
05F0 9F84 MUL R24,R20
05F1 01F0 MOVW R30,R0
05F2 0DE2 ADD R30,R2
05F3 1DF3 ADC R31,R3
05F4 0DEA ADD R30,R10
05F5 1DFB ADC R31,R11
05F6 9631 ADIW R30,1
05F7 9104 LD R16,R16
05F8 DEF8 RCALL _write_data
05F9 9563 INC R22
05FA 3068 CPI R22,0x8
05FB F2D0 BCS 0x05D6
05FC 9543 INC R20
05FD 3240 CPI R20,0x20
05FE F408 BCC 0x0600
05FF CFD4 RJMP 0x05D4
(0188) }
(0189) }
(0190) for(j=32;j<64;j++)
0600 E240 LDI R20,0x20
0601 C02A RJMP 0x062C
(0191) {
(0192) for(i=0;i<8;i++)
0602 2766 CLR R22
0603 C025 RJMP 0x0629
(0193) {
(0194) write_com(0x34);
0604 E304 LDI R16,0x34
0605 DED6 RCALL _write_com
(0195) write_com(0X80+j-32);
0606 2F04 MOV R16,R20
0607 5800 SUBI R16,0x80
0608 5200 SUBI R16,0x20
0609 DED2 RCALL _write_com
(0196) write_com(0X88+i);
060A 2F06 MOV R16,R22
060B 5708 SUBI R16,0x78
060C DECF RCALL _write_com
(0197) write_com(0x30);
060D E300 LDI R16,0x30
060E DECD RCALL _write_com
(0198) write_data(img[j*16+i*2]);
060F E082 LDI R24,2
0610 9F86 MUL R24,R22
0611 0110 MOVW R2,R0
0612 E180 LDI R24,0x10
0613 9F84 MUL R24,R20
0614 01F0 MOVW R30,R0
0615 0DE2 ADD R30,R2
0616 1DF3 ADC R31,R3
0617 0DEA ADD R30,R10
0618 1DFB ADC R31,R11
0619 9104 LD R16,R16
061A DED6 RCALL _write_data
(0199) write_data(img[j*16+i*2+1]);
061B E082 LDI R24,2
061C 9F86 MUL R24,R22
061D 0110 MOVW R2,R0
061E E180 LDI R24,0x10
061F 9F84 MUL R24,R20
0620 01F0 MOVW R30,R0
0621 0DE2 ADD R30,R2
0622 1DF3 ADC R31,R3
0623 0DEA ADD R30,R10
0624 1DFB ADC R31,R11
0625 9631 ADIW R30,1
0626 9104 LD R16,R16
0627 DEC9 RCALL _write_data
0628 9563 INC R22
0629 3068 CPI R22,0x8
062A F2C8 BCS 0x0604
062B 9543 INC R20
062C 3440 CPI R20,0x40
062D F408 BCC 0x062F
062E CFD3 RJMP 0x0602
(0200) }
(0201) }
(0202) write_com(0x36);//8位数据 扩充指令集 绘图开
062F E306 LDI R16,0x36
0630 DEAB RCALL _write_com
(0203) delay_ms(500);
0631 EF04 LDI R16,0xF4
0632 E011 LDI R17,1
0633 D043 RCALL _delay_ms
(0204) }
0634 940E0724 CALL pop_gset3
0636 9508 RET
_con_disp:
j --> R20
i --> R14
x --> R22
y0 --> R10
x0 --> R12
ee --> Y+10
0637 940E06F5 CALL push_arg4
0639 940E071D CALL push_gset5
063B 2EC2 MOV R12,R18
063C 84AE LDD R10,14+Y
063D 8968 LDD R22,16+Y
(0205)
(0206)
(0207) /******************************************************************************************
(0208) * 函数名称 :con_disp
(0209) * 功能描述 :当ee=0xff时,在x0,y0处反白显示x个字.
(0210) 当ee=0x00时,在x0,y0处取消反白显示x个字.
(0211) ******************************************************************************************/
(0212) void con_disp(unsigned char ee ,unsigned char x0,unsigned char y0,unsigned char x)
(0213) {
(0214) unsigned char i,j;
(0215) for(j=0;j<16;j++)
063E 2744 CLR R20
063F C014 RJMP 0x0654
(0216) {
(0217) for(i=0;i<x;i++)
0640 24EE CLR R14
0641 C00F RJMP 0x0651
(0218) {
(0219) write_com(0x34);
0642 E304 LDI R16,0x34
0643 DE98 RCALL _write_com
(0220) write_com(y0+j);
0644 2D0A MOV R16,R10
0645 0F04 ADD R16,R20
0646 DE95 RCALL _write_com
(0221) write_com(x0+i);
0647 2D0C MOV R16,R12
0648 0D0E ADD R16,R14
0649 DE92 RCALL _write_com
(0222) write_com(0x30);
064A E300 LDI R16,0x30
064B DE90 RCALL _write_com
(0223) write_data(ee);
064C 850A LDD R16,10+Y
064D DEA3 RCALL _write_data
(0224) write_data(ee);
064E 850A LDD R16,10+Y
064F DEA1 RCALL _write_data
0650 94E3 INC R14
0651 16E6 CP R14,R22
0652 F378 BCS 0x0642
0653 9543 INC R20
0654 3140 CPI R20,0x10
0655 F350 BCS 0x0640
(0225) }
(0226) }
(0227) write_com(0x36);
0656 E306 LDI R16,0x36
0657 DE84 RCALL _write_com
(0228) }
0658 940E0727 CALL pop_gset5
065A 9624 ADIW R28,4
065B 9508 RET
(0229)
(0230)
(0231)
(0232)
(0233) /*-----------------------------------------------------------------------
(0234) 延时函数
(0235) 8M
(0236) -----------------------------------------------------------------------*/
(0237) void delay_1us(void) //1us延时函数
(0238) {
(0239) asm("nop");
_delay_1us:
065C 0000 NOP
(0240) }
065D 9508 RET
_delay_us:
i --> R20
n --> R22
065E 940E0711 CALL push_gset2
0660 01B8 MOVW R22,R16
(0241)
(0242) void delay_us(unsigned int n) //N us延时函数
(0243) {
(0244) unsigned int i=0;
0661 2744 CLR R20
0662 2755 CLR R21
(0245) for (i=0;i<n;i++)
0663 C003 RJMP 0x0667
(0246) delay_1us();
0664 DFF7 RCALL _delay_1us
0665 5F4F SUBI R20,0xFF
0666 4F5F SBCI R21,0xFF
0667 1746 CP R20,R22
0668 0757 CPC R21,R23
0669 F3D0 BCS 0x0664
(0247) }
066A 940E0721 CALL pop_gset2
066C 9508 RET
(0248)
(0249) void delay_1ms(void) //1ms延时函数
(0250) {
(0251) unsigned int i;
(0252) for (i=0;i<1140;i++);
_delay_1ms:
i --> R16
066D 2700 CLR R16
066E 2711 CLR R17
066F C002 RJMP 0x0672
0670 5F0F SUBI R16,0xFF
0671 4F1F SBCI R17,0xFF
0672 3704 CPI R16,0x74
0673 E0E4 LDI R30,4
0674 071E CPC R17,R30
0675 F3D0 BCS 0x0670
(0253) }
0676 9508 RET
_delay_ms:
i --> R20
n --> R22
0677 940E0711 CALL push_gset2
0679 01B8 MOVW R22,R16
(0254)
(0255) void delay_ms(unsigned int n) //N ms延时函数
(0256) {
(0257) unsigned int i=0;
067A 2744 CLR R20
067B 2755 CLR R21
(0258) for (i=0;i<n;i++)
067C C003 RJMP 0x0680
(0259) delay_1ms();
067D DFEF RCALL _delay_1ms
067E 5F4F SUBI R20,0xFF
067F 4F5F SBCI R21,0xFF
0680 1746 CP R20,R22
0681 0757 CPC R21,R23
0682 F3D0 BCS 0x067D
(0260) } 0683 940E0721 CALL pop_gset2
0685 9508 RET
_main:
s --> R20
0686 9723 SBIW R28,3
FILE: E:\PQ-1A\我的AVR\12864LLY\12864.c
(0001) #include <iom1 28v.h>
(0002) #include <macros.h>
(0003) #include "lcd12864.h"
(0004) #include "pic.h"
(0005)
(0006) #define uchar unsigned char
(0007) #define uint unsigned int
(0008)
(0009)
(0010) void main()
(0011) {
(0012) uint s=387;
0687 E843 LDI R20,0x83
0688 E051 LDI R21,1
(0013) CLI(); //禁止全局中断 原始定义为#asm(“cli”)
0689 94F8 BCLR 7
(0014) lcd12864_init();
068A DE14 RCALL _lcd12864_init
(0015) clear_disp_pic();//液晶画图清屏程序
068B DF26 RCALL _clear_disp_pic
068C C065 RJMP 0x06F2
(0016) // lcd12864_init();
(0017) /* line1 = "检测到障碍物";
(0018) line2 = " 距离:";*/
(0019) while(1)
(0020) {
(0021) disp_pic(mmy);
068D E80C LDI R16,0x8C
068E E014 LDI R17,4
068F DF3F RCALL _disp_pic
(0022) delay_ms(3000);
0690 EB08 LDI R16,0xB8
0691 E01B LDI R17,0xB
0692 DFE4 RCALL _delay_ms
(0023) //delay_ms(3000);
(0024) clear_disp_pic();
0693 DF1E RCALL _clear_disp_pic
(0025) //delay_ms(10);
(0026) delay_ms(10);
0694 E00A LDI R16,0xA
0695 E010 LDI R17,0
0696 DFE0 RCALL _delay_ms
(0027) line1=" LLY FG ";
0697 E683 LDI R24,0x63
0698 E091 LDI R25,1
0699 93900177 STS R25,_line1+1
069B 93800176 STS R24,_line1
(0028) line2=" 周望 加油!!";
069D E582 LDI R24,0x52
069E E091 LDI R25,1
069F 93900175 STS R25,_line2+1
06A1 93800174 STS R24,_line2
(0029) line3="南华创新实验室";
06A3 E483 LDI R24,0x43
06A4 E091 LDI R25,1
06A5 93900173 STS R25,_line3+1
06A7 93800172 STS R24,_line3
(0030) line4="团结 努力 拼搏 ";
06A9 E381 LDI R24,0x31
06AA E091 LDI R25,1
06AB 93900171 STS R25,_line4+1
06AD 93800170 STS R24,_line4
(0031) display(); // 液晶整行显示函数程序
06AF DE8B RCALL _display
(0032) /* 函数名称 :con_disp
(0033) * 功能描述 :当ee=0xff时,在x0,y0处反白显示x个字.
(0034) 当ee=0x00时,在x0,y0处取消反白显示x个字.*/
(0035) con_disp(0xff,0x95,0x90,3);
06B0 E083 LDI R24,3
06B1 838A STD R24,2+Y
06B2 E980 LDI R24,0x90
06B3 8388 STD R24,0+Y
06B4 E925 LDI R18,0x95
06B5 EF0F LDI R16,0xFF
06B6 DF80 RCALL _con_disp
(0036) delay_ms(3000);
06B7 EB08 LDI R16,0xB8
06B8 E01B LDI R17,0xB
06B9 DFBD RCALL _delay_ms
(0037) con_disp(0x00,0x95,0x90,2);
06BA E082 LDI R24,2
06BB 838A STD R24,2+Y
06BC E980 LDI R24,0x90
06BD 8388 STD R24,0+Y
06BE E925 LDI R18,0x95
06BF 2700 CLR R16
06C0 DF76 RCALL _con_disp
(0038) delay_ms(3000);
06C1 EB08 LDI R16,0xB8
06C2 E01B LDI R17,0xB
06C3 DFB3 RCALL _delay_ms
(0039) clear_dis();
06C4 DDFB RCALL _clear_dis
(0040) delay_ms(10);
06C5 E00A LDI R16,0xA
06C6 E010 LDI R17,0
06C7 DFAF RCALL _delay_ms
(0041) disp_pic(tupian);
06C8 E80C LDI R16,0x8C
06C9 E010 LDI R17,0
06CA DF04 RCALL _disp_pic
(0042) delay_ms(3000);
06CB EB08 LDI R16,0xB8
06CC E01B LDI R17,0xB
06CD DFA9 RCALL _delay_ms
(0043) clear_dis(); //清屏,地址指针指向00H
06CE DDF1 RCALL _clear_dis
(0044) lcd_writexy(1,0,"互相学习共同努力");//指定位置写文字
06CF E280 LDI R24,0x20
06D0 E091 LDI R25,1
06D1 8388 STD R24,0+Y
06D2 8399 STD R25,1+Y
06D3 2722 CLR R18
06D4 E001 LDI R16,1
06D5 DE30 RCALL _lcd_writexy
(0045) lcd_writexy(2,0,"明德博学求事至远");
06D6 E08F LDI R24,0xF
06D7 E091 LDI R25,1
06D8 8388 STD R24,0+Y
06D9 8399 STD R25,1+Y
06DA 2722 CLR R18
06DB E002 LDI R16,2
06DC DE29 RCALL _lcd_writexy
(0046) lcd_writexy(3,1,"南华创新实验室");
06DD E483 LDI R24,0x43
06DE E091 LDI R25,1
06DF 8388 STD R24,0+Y
06E0 8399 STD R25,1+Y
06E1 E021 LDI R18,1
06E2 E003 LDI R16,3
06E3 DE22 RCALL _lcd_writexy
(0047) lcd_writexy(4,1,"2009年02月24日");
06E4 E080 LDI R24,0
06E5 E091 LDI R25,1
06E6 8388 STD R24,0+Y
06E7 8399 STD R25,1+Y
06E8 E021 LDI R18,1
06E9 E004 LDI R16,4
06EA DE1B RCALL _lcd_writexy
(0048) delay_ms(3000);
06EB EB08 LDI R16,0xB8
06EC E01B LDI R17,0xB
06ED DF89 RCALL _delay_ms
(0049) delay_ms(3000);
06EE EB08 LDI R16,0xB8
06EF E01B LDI R17,0xB
06F0 DF86 RCALL _delay_ms
(0050) clear_dis(); /*清屏,地址指针指向00H
06F1 DDCE RCALL _clear_dis
06F2 CF9A RJMP 0x068D
(0051) display();
(0052) write_com(0x94);
(0053) write_data((s%1000/100)+0x30);
(0054) write_data((s%100/10)+0x30);
(0055) write_data((s%10)+0x30);*/
(0056) }
(0057)
(0058)
(0059) }
FILE: <library>
06F3 9623 ADIW R28,3
06F4 9508 RET
push_arg4:
06F5 933A ST R19,-Y
06F6 932A ST R18,-Y
push_arg2:
06F7 931A ST R17,-Y
06F8 930A ST R16,-Y
06F9 9508 RET
push_gset1:
06FA 935A ST R21,-Y
06FB 934A ST R20,-Y
06FC 9508 RET
pop_gset1:
06FD E0E1 LDI R30,1
pop:
06FE 9149 LD R20,Y+
06FF 9159 LD R21,Y+
0700 FDE0 SBRC R30,0
0701 9508 RET
0702 9169 LD R22,Y+
0703 9179 LD R23,Y+
0704 FDE1 SBRC R30,1
0705 9508 RET
0706 90A9 LD R10,Y+
0707 90B9 LD R11,Y+
0708 FDE2 SBRC R30,2
0709 9508 RET
070A 90C9 LD R12,Y+
070B 90D9 LD R13,Y+
070C FDE3 SBRC R30,3
070D 9508 RET
070E 90E9 LD R14,Y+
070F 90F9 LD R15,Y+
0710 9508 RET
push_gset2:
0711 937A ST R23,-Y
0712 936A ST R22,-Y
0713 940C06FA JMP push_gset1
push_gset3:
0715 92BA ST R11,-Y
0716 92AA ST R10,-Y
0717 940C0711 JMP push_gset2
push_gset4:
0719 92DA ST R13,-Y
071A 92CA ST R12,-Y
071B 940C0715 JMP push_gset3
push_gset5:
071D 92FA ST R15,-Y
071E 92EA ST R14,-Y
071F 940C0719 JMP push_gset4
pop_gset2:
0721 E0E2 LDI R30,2
0722 940C06FE JMP pop
pop_gset3:
0724 E0E4 LDI R30,4
0725 940C06FE JMP pop
pop_gset5:
0727 27EE CLR R30
0728 940C06FE JMP pop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -