📄 9864b.lst
字号:
632 018B 3400 retlw 0
633 018C 3400 retlw 0
634 018D 3400 retlw 0
635 018E 3400 retlw 0
636 018F 3404 retlw 4
637 0190 3404 retlw 4
638 0191 34FC retlw -4
639 0192 3404 retlw 4
640 0193 3404 retlw 4
641 0194 3400 retlw 0
642 0195 3400 retlw 0
643
644 psect const20
645 0174 0782 addwf 2
646 0175 _sz_s
647 0175 3400 retlw 0
648 0176 3400 retlw 0
649 0177 3401 retlw 1
650 0178 3401 retlw 1
651 0179 3401 retlw 1
652 017A 3401 retlw 1
653 017B 3401 retlw 1
654 017C 3400 retlw 0
655 017D 3400 retlw 0
656 017E 34CC retlw -52
657 017F 3424 retlw 36
658 0180 3424 retlw 36
659 0181 3424 retlw 36
660 0182 3424 retlw 36
661 0183 3498 retlw -104
662 0184 3400 retlw 0
663
664 psect const21
665 0163 0782 addwf 2
666 0164 _sz_e
667 0164 3400 retlw 0
668 0165 3400 retlw 0
669 0166 3401 retlw 1
670 0167 3401 retlw 1
671 0168 3401 retlw 1
672 0169 3401 retlw 1
673 016A 3400 retlw 0
674 016B 3400 retlw 0
675 016C 3400 retlw 0
676 016D 34F8 retlw -8
677 016E 3444 retlw 68
678 016F 3444 retlw 68
679 0170 3444 retlw 68
680 0171 3444 retlw 68
681 0172 34C8 retlw -56
682 0173 3400 retlw 0
683
684 psect text7
685 ;9864b.c: 132: void lcd_clear(void)
686 ;9864b.c: 133: {
687 0753 _lcd_clear
688 ; _i assigned to ?a_lcd_clear+0
689 0000 _lcd_clear$i set ?a_lcd_clear
690 ; _j assigned to ?a_lcd_clear+1
691 0000 _lcd_clear$j set ?a_lcd_clear+1
692 ;9864b.c: 134: unsigned char i,j;
693 0753 30B0 movlw -80
694 0754 0183 clrf 3 ;select bank 0
695 0755 00A0 movwf _PAGE
696 ;9864b.c: 137: x_line = 0x10;
697 0756 3010 movlw 16
698 0757 00A1 movwf _x_line
699 ;9864b.c: 138: y_line = 0x00;
700 0758 01A2 clrf _y_line
701 ;9864b.c: 139: for(i = 0;i<8;i++)
702 0759 01A3 clrf ?a_lcd_clear
703 075A l17
704 ;9864b.c: 140: {
705 ;9864b.c: 141: write_command(PAGE);
706 075A 0820 movf _PAGE,w
707 075B 277F 120A 118A fcall _write_command
708 ;9864b.c: 142: for(j=0;j<98;j++)
709 075E 01A4 clrf ?a_lcd_clear+1
710 075F l20
711 ;9864b.c: 143: {
712 ;9864b.c: 144: write_data(0x05);
713 075F 3005 movlw 5
714 0760 2789 fcall _write_data
715 ;9864b.c: 145: }
716 0761 0AA4 incf ?a_lcd_clear+1
717 0762 3062 movlw 98
718 0763 0224 subwf ?a_lcd_clear+1,w
719 0764 1C03 btfss 3,0
720 0765 2F5F goto l20
721 ;9864b.c: 146: PAGE++;
722 0766 0AA0 incf _PAGE
723 ;9864b.c: 147: }
724 0767 0AA3 incf ?a_lcd_clear
725 0768 3008 movlw 8
726 0769 0223 subwf ?a_lcd_clear,w
727 076A 1803 btfsc 3,0
728 076B 0008 return
729 076C 2F5A goto l17
730 ;9864b.c: 73: void lcd_busy(void)
731 ;9864b.c: 74: {
732 076D _lcd_busy
733 ; _temp assigned to ?a_lcd_busy+0
734 0000 _lcd_busy$temp set ?a_lcd_busy
735 ;9864b.c: 75: unsigned char temp;
736 076D 30FF movlw -1
737 076E 0183 clrf 3 ;select bank 0
738 076F 0088 movwf 8 ;volatile
739 ;9864b.c: 78: RS = 0;
740 0770 1007 bcf 7,0
741 ;9864b.c: 79: RW = 1;
742 0771 1487 bsf 7,1
743 ;9864b.c: 80: E=1;
744 0772 1507 bsf 7,2
745 ;9864b.c: 81: TRISD = 0xff;
746 0773 1683 bsf 3,5
747 0774 0088 movwf 8 ;volatile
748 ;9864b.c: 82: temp = PORTD;
749 0775 1283 bcf 3,5
750 0776 0808 movf 8,w ;volatile
751 0777 00A7 movwf ?a_lcd_busy
752 ;9864b.c: 83: E = 0;
753 0778 1107 bcf 7,2
754 ;9864b.c: 84: while (temp & 0x80);
755 0779 l9
756 0779 1BA7 btfsc ?a_lcd_busy,7
757 077A 2F79 goto l9
758 ;9864b.c: 85: TRISD = 0x00;
759 077B 1683 bsf 3,5
760 077C 0188 clrf 8 ;volatile
761 ;9864b.c: 86: return;
762 ;9864b.c: 87: }
763 077D 1283 bcf 3,5
764 077E 0008 return
765 ;9864b.c: 89: void write_command(unsigned char
+ send_command)
766 ;9864b.c: 90: {
767 077F _write_command
768 ; _send_command assigned to ?a_write_command+0
769 0000 _write_command$send_command set ?a_write_comman
+ d
770 ;_send_command stored from w
771 077F 0183 clrf 3 ;select bank 0
772 0780 00A6 movwf ?a_write_command
773 ;9864b.c: 91: lcd_busy();
774 0781 276D fcall _lcd_busy
775 ;9864b.c: 92: RS = 0;
776 0782 1007 bcf 7,0
777 ;9864b.c: 93: RW = 0;
778 0783 1087 bcf 7,1
779 ;9864b.c: 94: PORTD = send_command;
780 0784 0826 movf ?a_write_command,w
781 0785 0088 movwf 8 ;volatile
782 ;9864b.c: 95: E = 1;
783 0786 1507 bsf 7,2
784 ;9864b.c: 96: E = 0;
785 0787 1107 bcf 7,2
786 ;9864b.c: 97: }
787 0788 0008 return
788 ;9864b.c: 99: void write_data(unsigned char sen
+ d_data)
789 ;9864b.c: 100: {
790 0789 _write_data
791 ; _send_data assigned to ?a_write_data+0
792 0000 _write_data$send_data set ?a_write_data
793 ;_send_data stored from w
794 0789 0183 clrf 3 ;select bank 0
795 078A 00A5 movwf ?a_write_data
796 ;9864b.c: 101: lcd_busy();
797 078B 276D fcall _lcd_busy
798 ;9864b.c: 102: write_command(x_line);
799 078C 0821 movf _x_line,w
800 078D 277F 120A 118A fcall _write_command
801 ;9864b.c: 103: write_command(y_line);
802 0790 0822 movf _y_line,w
803 0791 277F 120A 118A fcall _write_command
804 ;9864b.c: 104: RS = 1;
805 0794 1407 bsf 7,0
806 ;9864b.c: 105: RW = 0;
807 0795 1087 bcf 7,1
808 ;9864b.c: 106: PORTD = send_data;
809 0796 0825 movf ?a_write_data,w
810 0797 0088 movwf 8 ;volatile
811 ;9864b.c: 107: E = 1;
812 0798 1507 bsf 7,2
813 ;9864b.c: 108: E = 0;
814 0799 1107 bcf 7,2
815 ;9864b.c: 109: y_line ++;
816 079A 0AA2 incf _y_line
817 ;9864b.c: 110: if ((y_line & 0x0f) == 0x00)
818 079B 0822 movf _y_line,w
819 079C 390F andlw 15
820 079D 1D03 btfss 3,2
821 079E 0008 return
822 ;9864b.c: 111: {
823 079F 0AA1 incf _x_line
824 ;9864b.c: 113: y_line = 0x00;
825 07A0 01A2 clrf _y_line
826 ;9864b.c: 114: }
827 07A1 0008 return
828 07A2 _lcd_delay
829 ; _i assigned to ?a_lcd_delay+0
830 0000 _lcd_delay$i set ?a_lcd_delay
831 ;9864b.c: 58: unsigned int i;
832 07A2 0183 clrf 3 ;select bank 0
833 07A3 01A5 clrf ?a_lcd_delay
834 07A4 01A6 clrf ?a_lcd_delay+1
835 07A5 2FA9 goto l6
836 07A6 l3
837 ;9864b.c: 61: {
838 ;9864b.c: 62: }
839 07A6 0AA5 incf ?a_lcd_delay
840 07A7 1903 btfsc 3,2
841 07A8 0AA6 incf ?a_lcd_delay+1
842 07A9 l6
843 07A9 0824 movf ?_lcd_delay+1,w
844 07AA 0226 subwf ?a_lcd_delay+1,w
845 07AB 1D03 btfss 3,2
846 07AC 2FAF goto u15
847 07AD 0823 movf ?_lcd_delay,w
848 07AE 0225 subwf ?a_lcd_delay,w
849 07AF u15
850 07AF 1803 btfsc 3,0
851 07B0 0008 return
852 07B1 2FA6 goto l3
853 ;9864b.c: 65: void lcd_rst(void)
854 ;9864b.c: 66: {
855 07B2 _lcd_rst
856 ;9864b.c: 67: RST = 0;
857 07B2 0183 clrf 3 ;select bank 0
858 07B3 1187 bcf 7,3
859 ;9864b.c: 68: lcd_delay(0xff);
860 07B4 30FF movlw 255
861 07B5 00A3 movwf ?_lcd_delay
862 07B6 01A4 clrf ?_lcd_delay+1
863 07B7 27A2 fcall _lcd_delay
864 ;9864b.c: 69: RST = 1;
865 07B8 1587 bsf 7,3
866 ;9864b.c: 70: lcd_delay(0xff);
867 07B9 30FF movlw 255
868 07BA 00A3 movwf ?_lcd_delay
869 07BB 01A4 clrf ?_lcd_delay+1
870 07BC 2FA2 ljmp _lcd_delay
871 ;9864b.c: 150: void main(void)
872 ;9864b.c: 151: {
873 07BD _main
874 ;9864b.c: 152: lcd_delay(10000);
875 07BD 3010 movlw 16
876 07BE 1283 bcf 3,5
877 07BF 1303 bcf 3,6 ;carry unused
878 07C0 00A3 movwf ?_lcd_delay
879 07C1 3027 movlw 39
880 07C2 00A4 movwf ?_lcd_delay+1
881 07C3 27A2 fcall _lcd_delay
882 ;9864b.c: 153: lcd_init();
883 07C4 27D6 120A 118A fcall _lcd_init
884 ;9864b.c: 154: write_command(0x40);
885 07C7 3040 movlw 64
886 07C8 277F 120A 118A fcall _write_command
887 ;9864b.c: 155: lcd_clear();
888 07CB 2753 fcall _lcd_clear
889 ;9864b.c: 156: while (1)
890 07CC l24
891 ;9864b.c: 157: {
892 07CC 2FCC goto l24
893 07CD _system_inti
894 ;9864b.c: 50: INTCON = 0x00;
895 07CD 018B clrf 11 ;volatile
896 ;9864b.c: 51: TRISC = 0xf0;
897 07CE 30F0 movlw -16
898 07CF 1683 bsf 3,5
899 07D0 1303 bcf 3,6 ;carry unused
900 07D1 0087 movwf 7 ;volatile
901 ;9864b.c: 52: TRISD = 0x00;
902 07D2 0188 clrf 8 ;volatile
903 ;9864b.c: 53: (GIE = 0);
904 07D3 138B bcf 11,7
905 ;9864b.c: 54: }
906 07D4 1283 bcf 3,5
907 07D5 0008 return
908 ;9864b.c: 117: void lcd_init(void)
909 ;9864b.c: 118: {
910 07D6 _lcd_init
911 ;9864b.c: 119: system_inti();
912 07D6 27CD fcall _system_inti
913 ;9864b.c: 120: lcd_rst();
914 07D7 27B2 120A 118A fcall _lcd_rst
915 ;9864b.c: 121: write_command(0xe2);
916 07DA 30E2 movlw -30
917 07DB 277F 120A 118A fcall _write_command
918 ;9864b.c: 122: write_command(0xa2);
919 07DE 30A2 movlw -94
920 07DF 277F 120A 118A fcall _write_command
921 ;9864b.c: 123: write_command(0xa0);
922 07E2 30A0 movlw -96
923 07E3 277F 120A 118A fcall _write_command
924 ;9864b.c: 124: write_command(0xc0);
925 07E6 30C0 movlw -64
926 07E7 277F 120A 118A fcall _write_command
927 ;9864b.c: 125: write_command(0x2f);
928 07EA 302F movlw 47
929 07EB 277F 120A 118A fcall _write_command
930 ;9864b.c: 126: write_command(0x81);
931 07EE 3081 movlw -127
932 07EF 277F 120A 118A fcall _write_command
933 ;9864b.c: 127: write_command(0x2f);
934 07F2 302F movlw 47
935 07F3 277F 120A 118A fcall _write_command
936 ;9864b.c: 128: write_command(0x40);
937 07F6 3040 movlw 64
938 07F7 277F 120A 118A fcall _write_command
939 ;9864b.c: 129: write_command(0xe0);
940 07FA 30E0 movlw -32
941 07FB 277F 120A 118A fcall _write_command
942 ;9864b.c: 130: write_command(0xaf);
943 07FE 30AF movlw -81
944 07FF 2F7F ljmp _write_command
945
946 psect text9
947 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -