📄 main.ls
字号:
3599 0189 a638 ld a,#56
3600 018b cd00bc call _lcd1602_write_com
3602 ; 72 lcd1602_write_com(0x0c);
3604 018e a60c ld a,#12
3605 0190 cd00bc call _lcd1602_write_com
3607 ; 73 lcd1602_write_com(0x06);
3609 0193 a606 ld a,#6
3610 0195 cd00bc call _lcd1602_write_com
3612 ; 74 lcd1602_write_com(0x01);
3614 0198 a601 ld a,#1
3615 019a cd00bc call _lcd1602_write_com
3617 ; 75 }
3620 019d 81 ret
3657 ; 77 void lcd1602_display(u8 *str)
3657 ; 78 {
3658 switch .text
3659 019e _lcd1602_display:
3661 019e 89 pushw x
3662 00000000 OFST: set 0
3665 019f 2012 jra L5232
3666 01a1 L3232:
3667 ; 81 lcd1602_write_data(*str);
3669 01a1 1e01 ldw x,(OFST+1,sp)
3670 01a3 f6 ld a,(x)
3671 01a4 cd0112 call _lcd1602_write_data
3673 ; 82 str++;
3675 01a7 1e01 ldw x,(OFST+1,sp)
3676 01a9 1c0001 addw x,#1
3677 01ac 1f01 ldw (OFST+1,sp),x
3678 ; 83 delay(5);
3680 01ae a605 ld a,#5
3681 01b0 cd004c call _delay
3683 01b3 L5232:
3684 ; 79 while(*str)
3686 01b3 1e01 ldw x,(OFST+1,sp)
3687 01b5 7d tnz (x)
3688 01b6 26e9 jrne L3232
3689 ; 85 }
3692 01b8 85 popw x
3693 01b9 81 ret
3749 ; 87 void lcd1602_setGCRAM(u8 add,u8 *str)
3749 ; 88 {
3750 switch .text
3751 01ba _lcd1602_setGCRAM:
3753 01ba 88 push a
3754 01bb 88 push a
3755 00000001 OFST: set 1
3758 ; 90 lcd1602_write_com(0x40|(add<<3));
3760 01bc 48 sll a
3761 01bd 48 sll a
3762 01be 48 sll a
3763 01bf aa40 or a,#64
3764 01c1 cd00bc call _lcd1602_write_com
3766 ; 91 for(i=0;i<8;i++)
3768 01c4 0f01 clr (OFST+0,sp)
3769 01c6 L7532:
3770 ; 93 lcd1602_write_data(*str);
3772 01c6 1e05 ldw x,(OFST+4,sp)
3773 01c8 f6 ld a,(x)
3774 01c9 cd0112 call _lcd1602_write_data
3776 ; 94 str++;
3778 01cc 1e05 ldw x,(OFST+4,sp)
3779 01ce 1c0001 addw x,#1
3780 01d1 1f05 ldw (OFST+4,sp),x
3781 ; 91 for(i=0;i<8;i++)
3783 01d3 0c01 inc (OFST+0,sp)
3786 01d5 7b01 ld a,(OFST+0,sp)
3787 01d7 a108 cp a,#8
3788 01d9 25eb jrult L7532
3789 ; 96 delay(5);
3791 01db a605 ld a,#5
3792 01dd cd004c call _delay
3794 ; 97 }
3797 01e0 85 popw x
3798 01e1 81 ret
3820 switch .data
3821 0000 _userCh0:
3822 0000 10 dc.b 16
3823 0001 1f dc.b 31
3824 0002 01 dc.b 1
3825 0003 02 dc.b 2
3826 0004 04 dc.b 4
3827 0005 08 dc.b 8
3828 0006 10 dc.b 16
3829 0007 1f dc.b 31
3830 0008 _userCh1:
3831 0008 00 dc.b 0
3832 0009 08 dc.b 8
3833 000a 0f dc.b 15
3834 000b 01 dc.b 1
3835 000c 02 dc.b 2
3836 000d 04 dc.b 4
3837 000e 08 dc.b 8
3838 000f 0f dc.b 15
3839 0010 _userCh2:
3840 0010 00 dc.b 0
3841 0011 00 dc.b 0
3842 0012 04 dc.b 4
3843 0013 07 dc.b 7
3844 0014 01 dc.b 1
3845 0015 02 dc.b 2
3846 0016 04 dc.b 4
3847 0017 07 dc.b 7
3848 0018 _userCh3:
3849 0018 1f dc.b 31
3850 0019 12 dc.b 18
3851 001a 14 dc.b 20
3852 001b 18 dc.b 24
3853 001c 10 dc.b 16
3854 001d 17 dc.b 23
3855 001e 14 dc.b 20
3856 001f 1f dc.b 31
3857 0020 _userCh4:
3858 0020 1f dc.b 31
3859 0021 09 dc.b 9
3860 0022 05 dc.b 5
3861 0023 03 dc.b 3
3862 0024 01 dc.b 1
3863 0025 1d dc.b 29
3864 0026 05 dc.b 5
3865 0027 1f dc.b 31
3866 0028 _userCh5:
3867 0028 00 dc.b 0
3868 0029 00 dc.b 0
3869 002a 00 dc.b 0
3870 002b 1f dc.b 31
3871 002c 1f dc.b 31
3872 002d 00 dc.b 0
3873 002e 00 dc.b 0
3874 002f 00 dc.b 0
3875 0030 _userCh6:
3876 0030 00 dc.b 0
3877 0031 00 dc.b 0
3878 0032 00 dc.b 0
3879 0033 1f dc.b 31
3880 0034 1f dc.b 31
3881 0035 00 dc.b 0
3882 0036 00 dc.b 0
3883 0037 00 dc.b 0
3884 0038 _userCh7:
3885 0038 00 dc.b 0
3886 0039 00 dc.b 0
3887 003a 00 dc.b 0
3888 003b 1f dc.b 31
3889 003c 1f dc.b 31
3890 003d 00 dc.b 0
3891 003e 00 dc.b 0
3892 003f 00 dc.b 0
3934 ; 42 void main()
3934 ; 43 {
3935 switch .text
3936 01e2 _main:
3940 ; 44 lcd1602_init();
3942 01e2 ada0 call _lcd1602_init
3944 ; 45 lcd1602_gotoxy(2,0);
3946 01e4 5f clrw x
3947 01e5 a602 ld a,#2
3948 01e7 95 ld xh,a
3949 01e8 cd0169 call _lcd1602_gotoxy
3951 ; 46 lcd1602_display("SZ WaveShare");
3953 01eb ae0000 ldw x,#L3042
3954 01ee adae call _lcd1602_display
3956 ; 48 lcd1602_setGCRAM(CGRAM0,userCh0);
3958 01f0 ae0000 ldw x,#_userCh0
3959 01f3 89 pushw x
3960 01f4 4f clr a
3961 01f5 adc3 call _lcd1602_setGCRAM
3963 01f7 85 popw x
3964 ; 49 lcd1602_setGCRAM(CGRAM1,userCh1);
3966 01f8 ae0008 ldw x,#_userCh1
3967 01fb 89 pushw x
3968 01fc a601 ld a,#1
3969 01fe adba call _lcd1602_setGCRAM
3971 0200 85 popw x
3972 ; 50 lcd1602_setGCRAM(CGRAM2,userCh2);
3974 0201 ae0010 ldw x,#_userCh2
3975 0204 89 pushw x
3976 0205 a602 ld a,#2
3977 0207 adb1 call _lcd1602_setGCRAM
3979 0209 85 popw x
3980 ; 51 lcd1602_setGCRAM(CGRAM3,userCh3);
3982 020a ae0018 ldw x,#_userCh3
3983 020d 89 pushw x
3984 020e a603 ld a,#3
3985 0210 ada8 call _lcd1602_setGCRAM
3987 0212 85 popw x
3988 ; 53 lcd1602_setGCRAM(CGRAM4,userCh4);
3990 0213 ae0020 ldw x,#_userCh4
3991 0216 89 pushw x
3992 0217 a604 ld a,#4
3993 0219 ad9f call _lcd1602_setGCRAM
3995 021b 85 popw x
3996 ; 54 lcd1602_setGCRAM(CGRAM5,userCh5);
3998 021c ae0028 ldw x,#_userCh5
3999 021f 89 pushw x
4000 0220 a605 ld a,#5
4001 0222 ad96 call _lcd1602_setGCRAM
4003 0224 85 popw x
4004 ; 55 lcd1602_setGCRAM(CGRAM6,userCh6);
4006 0225 ae0030 ldw x,#_userCh6
4007 0228 89 pushw x
4008 0229 a606 ld a,#6
4009 022b ad8d call _lcd1602_setGCRAM
4011 022d 85 popw x
4012 ; 56 lcd1602_setGCRAM(CGRAM7,userCh7);
4014 022e ae0038 ldw x,#_userCh7
4015 0231 89 pushw x
4016 0232 a607 ld a,#7
4017 0234 ad84 call _lcd1602_setGCRAM
4019 0236 85 popw x
4020 ; 58 lcd1602_gotoxy(2,1);
4022 0237 ae0001 ldw x,#1
4023 023a a602 ld a,#2
4024 023c 95 ld xh,a
4025 023d cd0169 call _lcd1602_gotoxy
4027 ; 60 lcd1602_write_data(CGRAM0);
4029 0240 4f clr a
4030 0241 cd0112 call _lcd1602_write_data
4032 ; 61 lcd1602_write_data(CGRAM1);
4034 0244 a601 ld a,#1
4035 0246 cd0112 call _lcd1602_write_data
4037 ; 62 lcd1602_write_data(CGRAM2);
4039 0249 a602 ld a,#2
4040 024b cd0112 call _lcd1602_write_data
4042 ; 64 lcd1602_write_data(CGRAM3);
4044 024e a603 ld a,#3
4045 0250 cd0112 call _lcd1602_write_data
4047 ; 65 lcd1602_write_data(CGRAM4);
4049 0253 a604 ld a,#4
4050 0255 cd0112 call _lcd1602_write_data
4052 ; 67 lcd1602_write_data(CGRAM5);
4054 0258 a605 ld a,#5
4055 025a cd0112 call _lcd1602_write_data
4057 ; 68 lcd1602_write_data(CGRAM6);
4059 025d a606 ld a,#6
4060 025f cd0112 call _lcd1602_write_data
4062 ; 69 lcd1602_write_data(CGRAM7);
4064 0262 a607 ld a,#7
4065 0264 cd0112 call _lcd1602_write_data
4067 0267 L5042:
4068 ; 70 while(1);
4070 0267 20fe jra L5042
4165 xdef _main
4166 xdef _userCh7
4167 xdef _userCh6
4168 xdef _userCh5
4169 xdef _userCh4
4170 xdef _userCh3
4171 xdef _userCh2
4172 xdef _userCh1
4173 xdef _userCh0
4174 xdef _lcd1602_setGCRAM
4175 xdef _lcd1602_display
4176 xdef _lcd1602_init
4177 xdef _lcd1602_gotoxy
4178 xdef _lcd1602_write_data
4179 xdef _lcd1602_write_com
4180 xdef _lcd1602_busy
4181 xdef _delay
4182 xdef _delay_us
4183 xdef _delay_ms
4184 .const: section .text
4185 0000 L3042:
4186 0000 535a20576176 dc.b "SZ WaveShare",0
4206 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -