📄 ice153.lst
字号:
643 001DF 0000 nop
644
645 /**************************************/
646 001E0 p64pull_high:
647 001E0 18FF mov a, @0xff
648 001E1 000B iow PDCR
649 001E2 18EF mov a, @0xef
650 001E3 000D iow PHCR
651 001E4 180F mov a, @0x0f
652 001E5 0005 iow P5CR
653 001E6 18FF mov a, @0xff
654 001E7 0006 iow P6CR
655 001E8 12CB call delay
656 001E9 0D06 jbc port6, 4
657 001EA 0B2D bs pullhigh_buf,p64_high
658 001EB 0000 nop
659
660 /**************************************/
661 001EC p60pull_down:
662 001EC 18FF mov a, @0xff
663 001ED 000D iow PHCR
664 001EE 18EF mov a, @0xef
665 001EF 000B iow PDCR
666 001F0 180F mov a, @0x0f
667 001F1 0005 iow P5CR
668 001F2 18FF mov a, @0xff
669 001F3 0006 iow P6CR
670 001F4 12CB call delay
671 001F5 0E06 jbs port6, 0
672 001F6 0B2C bs pulldown_buf,p60_down
673 001F7 0000 nop
674
675 /**************************************/
676 001F8 p62pull_high:
677 001F8 18FF mov a, @0xff
678 001F9 000B iow PDCR
679 001FA 18FB mov a, @0xfb
680 001FB 000D iow PHCR
681 001FC 180F mov a, @0x0f
682 001FD 0005 iow P5CR
683 001FE 18FF mov a, @0xff
684 001FF 0006 iow P6CR
685 00200 12CB call delay
686 00201 0C86 jbc port6, 2
687 00202 0AAD bs pullhigh_buf,p62_high
688 00203 0000 nop
689
690 /**************************************/
691 00204 p61pull_down:
692 00204 18FF mov a, @0xff
693 00205 000D iow PHCR
694 00206 18DF mov a, @0xdf
695 00207 000B iow PDCR
696 00208 180F mov a, @0x0f
697 00209 0005 iow P5CR
698 0020A 18FF mov a, @0xff
699 0020B 0006 iow P6CR
700 0020C 12CB call delay
701 0020D 0E46 jbs port6, 1
702 0020E 0B6C bs pulldown_buf,p61_down
703 0020F 0000 nop
704
705 /**************************************/
706 00210 p61pull_high:
707 00210 18FF mov a, @0xff
708 00211 000B iow PDCR
709 00212 18FD mov a, @0xfd
710 00213 000D iow PHCR
711 00214 180F mov a, @0x0f
712 00215 0005 iow P5CR
713 00216 18FF mov a, @0xff
714 00217 0006 iow P6CR
715 00218 12CB call delay
716 00219 0C46 jbc port6, 1
717 0021A 0A6D bs pullhigh_buf,p61_high
718 0021B 0000 nop
719
720 /**************************************/
721 0021C p62pull_down:
722 0021C 18FF mov a, @0xff
723 0021D 000D iow PHCR
724 0021E 18BF mov a, @0xbf
725 0021F 000B iow PDCR
726 00220 180F mov a, @0x0f
727 00221 0005 iow P5CR
728 00222 18FF mov a, @0xff
729 00223 0006 iow P6CR
730 00224 12CB call delay
731 00225 0E86 jbs port6, 2
732 00226 0BAC bs pulldown_buf,p62_down
733 00227 0000 nop
734
735 /**************************************/
736 00228 p60pull_high:
737 00228 18FF mov a, @0xff
738 00229 000B iow PDCR
739 0022A 18FE mov a, @0xfe
740 0022B 000D iow PHCR
741 0022C 180F mov a, @0x0f
742 0022D 0005 iow P5CR
743 0022E 18FF mov a, @0xff
744 0022F 0006 iow P6CR
745 00230 12CB call delay
746 00231 0C06 jbc port6, 0
747 00232 0A2D bs pullhigh_buf,p60_high
748 00233 0000 nop
749
750 /**************************************/
751 00234 18FF tcc_check: mov a, @0xff
752 00235 000B iow PDCR
753 00236 18FF mov a, @0xff
754 00237 000D iow PHCR
755 00238 180F mov a, @0x0f ;set tcc interrupt
756 00239 0005 iow P5CR
757 0023A 18FF mov a, @0xff
758 0023B 0006 iow P6CR
759 0023C 1800 mov a, @0x00
760 0023D 0002 contw
761 0023E 00CF clr RF
762 0023F 1837 mov a, @0x37
763 00240 0041 mov tcc, a
764 00241 1801 mov a, @0x01
765 00242 000F iow IOCF
766 00243 0010 eni
767 00244 12CB call delay
768 00245 1800 mov a, @0x00
769 00246 000F iow IOCF
770 00247 0011 disi
771
772 /**************************************/
773 00248 1807 int0_check: mov a, @0x07 ;set P53 output,others input
774 00249 0005 iow P5CR
775 0024A 18FF mov a, @0xff
776 0024B 0006 iow P6CR
777 0024C 1840 mov a, @0x40
778 0024D 000E iow WDTCR
779 0024E 00CF clr RF
780 0024F 1804 mov a, @0x04
781 00250 000F iow IOCF
782 00251 0010 eni
783 00252 0AC5 bs port5, 3
784 00253 12CB call delay
785 00254 08C5 bc port5, 3
786 00255 12CB call delay
787 00256 1800 mov a, @0x00
788 00257 000F iow IOCF
789 00258 0011 disi
790
791 /**************************************/
792 00259 port6_change:
793 00259 180E mov a, @0x0e
794 0025A 0002 contw
795 0025B 0004 wdtc
796 0025C 1800 mov a, @0x00
797 0025D 000E iow WDTCR
798 0025E 18FB mov a, @0xfb ;set port60 pull-high
799 0025F 000D iow PHCR
800 00260 180F mov a, @0x0f
801 00261 0005 iow P5CR
802 00262 18FF mov a, @0xff ;set port6 input
803 00263 0006 iow P6CR
804 00264 0000 nop
805 00265 0000 nop
806 00266 0000 nop
807 00267 0000 nop
808 00268 0000 nop
809 00269 0000 nop
810 0026A 0000 nop
811 0026B 0000 nop
812 0026C 0446 mov port6, port6
813 0026D 0010 eni
814 ;disi
815 0026E 0000 nop
816 0026F 0000 nop
817 00270 1802 mov a, @0x02 ;enable port6 status change interrupt
818 00271 000F iow IOCF
819 00272 port6_change1:
820 00272 0000 nop
821 00273 0000 nop
822 00274 0003 slep
823 /**************************************/
824 00275 0000 nop
825 00276 0C96 jbc flag, p62_flag
826 00277 167E jmp port6_change2
827 00278 12B0 call key_scan
828 00279 0ED6 jbs flag, key_over
829 0027A 1672 jmp port6_change1
830 0027B 18FF mov a, @0xff
831 0027C 005E mov port6_buf, a
832 ;inc port6_buf
833 0027D 1682 jmp wdt_check
834 0027E port6_change2:
835 0027E 0ED6 jbs flag, key_over
836 0027F 1672 jmp port6_change1
837 ;mov a, @0xff
838 ;mov port6_buf, a
839 00280 055E inc port6_buf
840 00281 0896 bc flag, p62_flag
841
842 /**************************************/
843 00282 0000 wdt_check: nop
844 00283 055F inc wdt_buf
845 00284 188E mov a, @0x8e
846 00285 000E iow WDTCR
847 00286 0000 wdt_check1: nop
848 ;wdtc
849 00287 0000 nop
850 00288 0000 nop
851 00289 12CB call delay
852 0028A 12CB call delay
853 0028B 1686 jmp wdt_check1
854
855 /**************************************/
856 0028C 0011 intin: disi ;interrupt service routine
857 0028D 0C0F jbc RF, 0
858 0028E 1697 jmp tcc_interrupt
859 0028F 0C4F jbc RF, 1
860 00290 16A0 jmp port6_interrupt
861 00291 0C8F jbc RF, 2
862 00292 16AA jmp int_interrupt
863 00293 1800 intin1: mov a, @0x00
864 00294 004F mov RF, a
865 00295 000F iow IOCF
866 00296 0013 reti
867 /**************************************/
868 00297 tcc_interrupt:
869 00297 0000 nop ;tcc interrupt service routine
870 00298 1806 mov a, @0x06
871 00299 02CF and RF, a
872 0029A 056E inc tcc_buf
873 0029B 1801 mov a, @0x01
874 0029C 000F iow IOCF
875 0029D 1837 mov a, @0x37
876 0029E 0041 mov tcc, a
877 0029F 0013 reti
878 /**************************************/
879 002A0 port6_interrupt: ;port6 status change interrrupt service routine
880 002A0 0000 nop
881 002A1 1800 mov a, @0x00
882 002A2 000E iow WDTCR
883 002A3 12B0 call key_scan
884 002A4 0A96 bs flag, p62_flag
885 002A5 1805 mov a, @0x05
886 002A6 02CF and RF, a
887 002A7 1802 mov a, @0x02
888 002A8 000F iow IOCF
889 002A9 0013 reti
890 /**************************************/
891 002AA int_interrupt: ;int0 interrupt service routine
892 002AA 1803 mov a, @0x03
893 002AB 02CF and RF, a
894 002AC 056F inc int0_buf
895 002AD 1804 mov a, @0x04
896 002AE 000F iow IOCF
897 002AF 0013 reti
898
899 /**************************************/
900 002B0 key_scan:
901 002B0 0E86 jbs port6, 2
902 002B1 16BD jmp key_close
903 002B2 key_open:
904 002B2 0E16 jbs flag, key_flag
905 002B3 16B6 jmp key_open1
906 002B4 0816 bc flag, key_flag
907 002B5 16B0 jmp key_scan
908 002B6 key_open1:
909 002B6 0C56 jbc flag, key_state
910 002B7 16BA jmp key_open2
911 002B8 08D6 bc flag, key_over
912 002B9 16C9 jmp key_off
913 002BA key_open2:
914 002BA 0AD6 bs flag, key_over
915 002BB 0856 bc flag, key_state
916 002BC 16C9 jmp key_off
917 /**************************************/
918 002BD key_close:
919 002BD 0C16 jbc flag, key_flag
920 002BE 16C3 jmp key_close1
921 002BF 12CB call delay
922 002C0 12CB call delay
923 002C1 0A16 bs flag, key_flag
924 002C2 16B0 jmp key_scan
925 002C3 key_close1:
926 002C3 0C56 jbc flag, key_state
927 002C4 16C7 jmp key_close2
928 002C5 12CB call delay
929 002C6 0A56 bs flag, key_state
930 002C7 key_close2:
931 002C7 12CB call delay
932 002C8 16B0 jmp key_scan
933 002C9 0000 key_off: nop
934 002CA 0012 ret
935
936 /**************************************/
937
938 002CB 0000 delay: nop
939 002CC 1804 mov a, @0x04 ;delay 2ms
940 002CD 0054 mov dt1, a
941 002CE 0000 delay1: nop
942 002CF 18FA mov a, @0xfa
943 002D0 0055 mov dt2, a
944 002D1 0000 delay2: nop
945 002D2 0000 nop
946 002D3 05D5 djz dt2
947 002D4 16D1 jmp delay2
948 002D5 05D4 djz dt1
949 002D6 16CE jmp delay1
950 002D7 0000 nop
951 002D8 0012 ret
952 /**************************************/
953 002D9 0000 IO_error: nop
954 002DA 0000 nop
955 002DB 0000 nop
956 002DC 18FF mov a, @0xff
957 002DD 0063 mov port53, a
958 002DE 0000 IO_error1: nop
959 002DF 0000 nop
960 002E0 16D9 jmp IO_error
961 end
0 Error(s), 0 Warning(s), 0 User Message(s)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -