📄 main.ls
字号:
4638 0458 cd0082 call _st7920LcdInit
4640 ; 87 showLine(0,0,lcd_buffer,"Capacitive Touch");
4642 045b ae002f ldw x,#L1162
4643 045e 89 pushw x
4644 045f ae0005 ldw x,#_lcd_buffer
4645 0462 89 pushw x
4646 0463 5f clrw x
4647 0464 4f clr a
4648 0465 95 ld xh,a
4649 0466 cd02fc call _showLine
4651 0469 5b04 addw sp,#4
4652 ; 88 showLine(0,1,lcd_buffer,"Key1: No~!!");
4654 046b ae0023 ldw x,#L3162
4655 046e 89 pushw x
4656 046f ae0005 ldw x,#_lcd_buffer
4657 0472 89 pushw x
4658 0473 ae0001 ldw x,#1
4659 0476 4f clr a
4660 0477 95 ld xh,a
4661 0478 cd02fc call _showLine
4663 047b 5b04 addw sp,#4
4664 ; 89 showLine(0,2,lcd_buffer,"Key2: No~!!");
4666 047d ae0017 ldw x,#L5162
4667 0480 89 pushw x
4668 0481 ae0005 ldw x,#_lcd_buffer
4669 0484 89 pushw x
4670 0485 ae0002 ldw x,#2
4671 0488 4f clr a
4672 0489 95 ld xh,a
4673 048a cd02fc call _showLine
4675 048d 5b04 addw sp,#4
4676 ; 90 showLine(0,3,lcd_buffer,"Key3: No~!!");
4678 048f ae000b ldw x,#L7162
4679 0492 89 pushw x
4680 0493 ae0005 ldw x,#_lcd_buffer
4681 0496 89 pushw x
4682 0497 ae0003 ldw x,#3
4683 049a 4f clr a
4684 049b 95 ld xh,a
4685 049c cd02fc call _showLine
4687 049f 5b04 addw sp,#4
4688 ; 91 refreshLCD(lcd_buffer);
4690 04a1 ae0005 ldw x,#_lcd_buffer
4691 04a4 cd011d call _refreshLCD
4693 04a7 L1262:
4694 ; 94 ExtraCode_StateMachine();
4696 04a7 ad3a call _ExtraCode_StateMachine
4698 ; 96 TSL_Action();
4700 04a9 cd0000 call _TSL_Action
4703 04ac 20f9 jra L1262
4737 ; 102 void ExtraCode_Init(void)
4737 ; 103 {
4738 switch .text
4739 04ae _ExtraCode_Init:
4741 04ae 88 push a
4742 00000001 OFST: set 1
4745 ; 109 for (i = 0; i < NUMBER_OF_SINGLE_CHANNEL_KEYS; i++)
4747 04af 0f01 clr (OFST+0,sp)
4748 04b1 L1462:
4749 ; 111 sSCKeyInfo[i].Setting.b.IMPLEMENTED = 1;
4751 04b1 7b01 ld a,(OFST+0,sp)
4752 04b3 97 ld xl,a
4753 04b4 a60f ld a,#15
4754 04b6 42 mul x,a
4755 04b7 d60002 ld a,(_sSCKeyInfo+2,x)
4756 04ba aa01 or a,#1
4757 04bc d70002 ld (_sSCKeyInfo+2,x),a
4758 ; 112 sSCKeyInfo[i].Setting.b.ENABLED = 1;
4760 04bf 7b01 ld a,(OFST+0,sp)
4761 04c1 97 ld xl,a
4762 04c2 a60f ld a,#15
4763 04c4 42 mul x,a
4764 04c5 d60002 ld a,(_sSCKeyInfo+2,x)
4765 04c8 aa02 or a,#2
4766 04ca d70002 ld (_sSCKeyInfo+2,x),a
4767 ; 113 sSCKeyInfo[i].DESGroup = 0x01; /* Put 0x00 to disable the DES on these pins */
4769 04cd 7b01 ld a,(OFST+0,sp)
4770 04cf 97 ld xl,a
4771 04d0 a60f ld a,#15
4772 04d2 42 mul x,a
4773 04d3 a601 ld a,#1
4774 04d5 d70004 ld (_sSCKeyInfo+4,x),a
4775 ; 109 for (i = 0; i < NUMBER_OF_SINGLE_CHANNEL_KEYS; i++)
4777 04d8 0c01 inc (OFST+0,sp)
4780 04da 7b01 ld a,(OFST+0,sp)
4781 04dc a103 cp a,#3
4782 04de 25d1 jrult L1462
4783 ; 141 enableInterrupts();
4786 04e0 9a rim
4788 ; 143 }
4792 04e1 84 pop a
4793 04e2 81 ret
4826 ; 146 void ExtraCode_StateMachine(void) {
4827 switch .text
4828 04e3 _ExtraCode_StateMachine:
4832 ; 148 if ((TSL_GlobalSetting.b.CHANGED) && (TSLState == TSL_IDLE_STATE))
4834 04e3 b601 ld a,_TSL_GlobalSetting+1
4835 04e5 a508 bcp a,#8
4836 04e7 2603 jrne L011
4837 04e9 cc05d4 jp L7562
4838 04ec L011:
4840 04ec b600 ld a,_TSLState
4841 04ee a101 cp a,#1
4842 04f0 2703 jreq L211
4843 04f2 cc05d4 jp L7562
4844 04f5 L211:
4845 ; 151 TSL_GlobalSetting.b.CHANGED = 0;
4847 04f5 72170001 bres _TSL_GlobalSetting+1,#3
4848 ; 153 if (sSCKeyInfo[0].Setting.b.DETECTED) /* KEY 1 touched */
4850 04f9 c60002 ld a,_sSCKeyInfo+2
4851 04fc a504 bcp a,#4
4852 04fe 2742 jreq L1662
4853 ; 155 if (Led1State == OFF)
4855 0500 725d0004 tnz _Led1State
4856 0504 261f jrne L3662
4857 ; 157 LED1_ON();
4859 0506 35010004 mov _Led1State,#1
4860 ; 158 showLine(6,1,lcd_buffer,"Yes~!");
4863 050a ae0005 ldw x,#L5662
4864 050d 89 pushw x
4865 050e ae0005 ldw x,#_lcd_buffer
4866 0511 89 pushw x
4867 0512 ae0001 ldw x,#1
4868 0515 a606 ld a,#6
4869 0517 95 ld xh,a
4870 0518 cd02fc call _showLine
4872 051b 5b04 addw sp,#4
4873 ; 159 refreshLCD(lcd_buffer);
4875 051d ae0005 ldw x,#_lcd_buffer
4876 0520 cd011d call _refreshLCD
4879 0523 201d jra L1662
4880 0525 L3662:
4881 ; 163 LED1_OFF();
4883 0525 725f0004 clr _Led1State
4884 ; 164 showLine(6,1,lcd_buffer,"No~!");
4887 0529 ae0000 ldw x,#L1762
4888 052c 89 pushw x
4889 052d ae0005 ldw x,#_lcd_buffer
4890 0530 89 pushw x
4891 0531 ae0001 ldw x,#1
4892 0534 a606 ld a,#6
4893 0536 95 ld xh,a
4894 0537 cd02fc call _showLine
4896 053a 5b04 addw sp,#4
4897 ; 165 refreshLCD(lcd_buffer);
4899 053c ae0005 ldw x,#_lcd_buffer
4900 053f cd011d call _refreshLCD
4902 0542 L1662:
4903 ; 169 if (sSCKeyInfo[1].Setting.b.DETECTED) /* KEY 2 touched */
4905 0542 c60011 ld a,_sSCKeyInfo+17
4906 0545 a504 bcp a,#4
4907 0547 2742 jreq L3762
4908 ; 171 if (Led2State == OFF)
4910 0549 725d0003 tnz _Led2State
4911 054d 261f jrne L5762
4912 ; 173 LED2_ON();
4914 054f 35010003 mov _Led2State,#1
4915 ; 174 showLine(6,2,lcd_buffer,"Yes~!");
4918 0553 ae0005 ldw x,#L5662
4919 0556 89 pushw x
4920 0557 ae0005 ldw x,#_lcd_buffer
4921 055a 89 pushw x
4922 055b ae0002 ldw x,#2
4923 055e a606 ld a,#6
4924 0560 95 ld xh,a
4925 0561 cd02fc call _showLine
4927 0564 5b04 addw sp,#4
4928 ; 175 refreshLCD(lcd_buffer);
4930 0566 ae0005 ldw x,#_lcd_buffer
4931 0569 cd011d call _refreshLCD
4934 056c 201d jra L3762
4935 056e L5762:
4936 ; 179 LED2_OFF();
4938 056e 725f0003 clr _Led2State
4939 ; 180 showLine(6,2,lcd_buffer,"No~!");
4942 0572 ae0000 ldw x,#L1762
4943 0575 89 pushw x
4944 0576 ae0005 ldw x,#_lcd_buffer
4945 0579 89 pushw x
4946 057a ae0002 ldw x,#2
4947 057d a606 ld a,#6
4948 057f 95 ld xh,a
4949 0580 cd02fc call _showLine
4951 0583 5b04 addw sp,#4
4952 ; 181 refreshLCD(lcd_buffer);
4954 0585 ae0005 ldw x,#_lcd_buffer
4955 0588 cd011d call _refreshLCD
4957 058b L3762:
4958 ; 185 if (sSCKeyInfo[2].Setting.b.DETECTED) /* KEY 3 touched */
4960 058b c60020 ld a,_sSCKeyInfo+32
4961 058e a504 bcp a,#4
4962 0590 2742 jreq L7562
4963 ; 187 if (Led3State == OFF)
4965 0592 725d0002 tnz _Led3State
4966 0596 261f jrne L3072
4967 ; 189 LED3_ON();
4969 0598 35010002 mov _Led3State,#1
4970 ; 190 showLine(6,3,lcd_buffer,"Yes~!");
4973 059c ae0005 ldw x,#L5662
4974 059f 89 pushw x
4975 05a0 ae0005 ldw x,#_lcd_buffer
4976 05a3 89 pushw x
4977 05a4 ae0003 ldw x,#3
4978 05a7 a606 ld a,#6
4979 05a9 95 ld xh,a
4980 05aa cd02fc call _showLine
4982 05ad 5b04 addw sp,#4
4983 ; 191 refreshLCD(lcd_buffer);
4985 05af ae0005 ldw x,#_lcd_buffer
4986 05b2 cd011d call _refreshLCD
4989 05b5 201d jra L7562
4990 05b7 L3072:
4991 ; 195 LED3_OFF();
4993 05b7 725f0002 clr _Led3State
4994 ; 196 showLine(6,3,lcd_buffer,"No~!");
4997 05bb ae0000 ldw x,#L1762
4998 05be 89 pushw x
4999 05bf ae0005 ldw x,#_lcd_buffer
5000 05c2 89 pushw x
5001 05c3 ae0003 ldw x,#3
5002 05c6 a606 ld a,#6
5003 05c8 95 ld xh,a
5004 05c9 cd02fc call _showLine
5006 05cc 5b04 addw sp,#4
5007 ; 197 refreshLCD(lcd_buffer);
5009 05ce ae0005 ldw x,#_lcd_buffer
5010 05d1 cd011d call _refreshLCD
5012 05d4 L7562:
5013 ; 201 }
5016 05d4 81 ret
5111 xdef _main
5112 xdef _ExtraCode_StateMachine
5113 xdef _ExtraCode_Init
5114 switch .bss
5115 0000 _ptr:
5116 0000 0000 ds.b 2
5117 xdef _ptr
5118 .bit: section .data,bit
5119 0000 _p_valid:
5120 0000 00 ds.b 1
5121 xdef _p_valid
5122 0001 _in_range:
5123 0001 00 ds.b 1
5124 xdef _in_range
5125 switch .bss
5126 0002 _Led3State:
5127 0002 00 ds.b 1
5128 xdef _Led3State
5129 0003 _Led2State:
5130 0003 00 ds.b 1
5131 xdef _Led2State
5132 0004 _Led1State:
5133 0004 00 ds.b 1
5134 xdef _Led1State
5135 xdef _SPI_rechar
5136 xdef _SPI_sendchar
5137 xdef _SPI_Init
5138 0005 _lcd_buffer:
5139 0005 000000000000 ds.b 64
5140 xdef _lcd_buffer
5141 xdef _showLine
5142 xdef _hexToAscii
5143 xdef _decToAscii
5144 xdef _refreshLCD
5145 xdef _st7920LcdInit
5146 xdef _sendDataST7920
5147 xdef _sendCodeST7920
5148 xdef _delay_us
5149 xdef _delay_ms
5150 xref _TSL_Action
5151 xref _TSL_Init
5152 xref _sSCKeyInfo
5153 xref.b _TSL_GlobalSetting
5154 xref.b _TSLState
5155 .const: section .text
5156 0000 L1762:
5157 0000 4e6f7e2100 dc.b "No~!",0
5158 0005 L5662:
5159 0005 5965737e2100 dc.b "Yes~!",0
5160 000b L7162:
5161 000b 4b6579333a20 dc.b "Key3: No~!!",0
5162 0017 L5162:
5163 0017 4b6579323a20 dc.b "Key2: No~!!",0
5164 0023 L3162:
5165 0023 4b6579313a20 dc.b "Key1: No~!!",0
5166 002f L1162:
5167 002f 436170616369 dc.b "Capacitive Touch",0
5187 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -