?? icex56.lst
字號:
757 00269 000B iow PDCR
758 0026A 180F mov a, @0x0f
759 0026B 0005 iow P5CR
760 0026C 18FF mov a, @0xff
761 0026D 0006 iow P6CR
762 0026E 132A call delay
763 0026F 0EC6 jbs port6, 3
764 00270 0BEC bs pulldown_buf,p63_down
765 00271 0000 nop
766 /**************************************/
767 00272 p63pull_high:
768 00272 18FF mov a, @0xff
769 00273 000B iow PDCR
770 00274 18F7 mov a, @0xf7
771 00275 000D iow PHCR
772 00276 180F mov a, @0x0f
773 00277 0005 iow P5CR
774 00278 18FF mov a, @0xff
775 00279 0006 iow P6CR
776 0027A 132A call delay
777 0027B 0CC6 jbc port6, 3
778 0027C 0AED bs pullhigh_buf,p63_high
779 0027D 0000 nop
780
781 /**************************************/
782 0027E 18FF tcc_check: mov a, @0xff ;set tcc interrupt
783 0027F 000B iow PDCR
784 00280 000D iow PHCR
785 00281 180F mov a, @0x0f
786 00282 0005 iow P5CR
787 00283 18FF mov a, @0xff
788 00284 0006 iow P6CR
789 00285 1800 mov a, @0x00
790 00286 0002 contw
791 00287 00CF clr RF
792 00288 1837 mov a, @0x37
793 00289 0041 mov TCC, a
794 0028A 1801 mov a, @0x01
795 0028B 000F iow IOCF
796 0028C 0010 eni
797 0028D 132A call delay
798 0028E 1800 mov a, @0x00
799 0028F 000F iow IOCF
800 00290 0011 disi
801 /**************************************/
802 00291 180E int0_check: mov a, @0x0e ;set P50 output,others input
803 00292 0005 iow P5CR
804 00293 18FF mov a, @0xff
805 00294 0006 iow P6CR
806 00295 1840 mov a, @0x40
807 00296 000E iow WDTCR
808 00297 00CF clr RF
809 00298 1804 mov a, @0x04
810 00299 000F iow IOCF
811 0029A 0010 eni
812 0029B 0A05 bs port5, 0
813 0029C 132A call delay
814 0029D 0805 bc port5, 0
815 0029E 132A call delay
816 0029F 1800 mov a, @0x00
817 002A0 000F iow IOCF
818 002A1 0011 disi
819 /**************************************/
820 002A2 port6_change:
821 002A2 180F mov a, @0x0f
822 002A3 0005 iow P5CR
823 002A4 18FF mov a, @0xff ;set port6 input
824 002A5 0006 iow P6CR
825 002A6 18FE mov a, @0xfe ;set port60 pull-high
826 002A7 000D iow PHCR
827 002A8 1806 mov a, @0x06
828 002A9 0002 contw
829 002AA 00C1 clr TCC
830 002AB 180E mov a, @0x0e
831 002AC 0002 contw
832 002AD 0004 wdtc
833 002AE 1800 mov a, @0x00
834 002AF 000E iow WDTCR
835 002B0 0000 nop
836 002B1 0000 nop
837 002B2 0446 mov port6, port6
838 002B3 0000 nop
839 002B4 0000 nop
840 002B5 0010 eni
841 ;disi
842 002B6 0000 nop
843 002B7 0000 nop
844 002B8 1802 mov a, @0x02 ;enable port6 status change interrupt
845 002B9 000F iow IOCF
846 002BA port6_change1:
847 002BA 0000 nop
848 002BB 0000 nop
849 002BC 0003 slep
850 /**************************************/
851 002BD 0000 nop
852 002BE 0C96 jbc flag, p60_flag
853 002BF 16C6 jmp port6_change2
854 002C0 130E call key_scan
855 002C1 0ED6 jbs flag, key_over
856 002C2 16BA jmp port6_change1
857 002C3 18FF mov a, @0xff
858 002C4 0070 mov port6_buf, a
859 ;inc port6_buf
860 002C5 16CA jmp wdt_check
861 002C6 port6_change2:
862 002C6 0ED6 jbs flag, key_over
863 002C7 16BA jmp port6_change1
864 ;mov a, @0xff
865 ;mov port6_buf, a
866 002C8 0570 inc port6_buf
867 002C9 0896 bc flag, p60_flag
868 /**************************************/
869 002CA 0000 wdt_check: nop
870 002CB 0571 inc wdt_buf
871 002CC 188E mov a, @0x8e
872 002CD 000E iow WDTCR
873 002CE 0000 wdt_check1: nop
874 ;wdtc
875 002CF 0000 nop
876 002D0 0000 nop
877 002D1 132A call delay
878 002D2 132A call delay
879 002D3 16CE jmp wdt_check1
880
881 /**************************************/
882 002D4 0011 intin: disi ;interrupt service routine
883 002D5 0C0F jbc RF, 0
884 002D6 16DF jmp tcc_interrupt
885 002D7 0C4F jbc RF, 1
886 002D8 16EF jmp port6_interrupt
887 002D9 0C8F jbc RF, 2
888 002DA 1700 jmp int_interrupt
889 002DB 1800 intin1: mov a, @0x00
890 002DC 004F mov RF, a
891 002DD 000F iow IOCF
892 002DE 0013 reti
893 /**************************************/
894 002DF tcc_interrupt:
895 002DF 0057 mov temp_A, a
896 002E0 0757 swap temp_A
897 002E1 0703 swapa r3
898 002E2 0058 mov temp_S, a ;tcc interrupt service routine
899 002E3 056E inc tcc_buf
900 002E4 1837 mov a, @0x37
901 002E5 0041 mov tcc, a
902 002E6 1801 mov a, @0x01
903 002E7 000F iow IOCF
904 002E8 040F mov a, RF
905 002E9 1A06 and a, @0x06
906 002EA 004F mov RF, a
907 002EB 0718 swapa temp_S
908 002EC 0043 mov r3, a
909 002ED 0717 swapa temp_A
910 002EE 0013 reti
911 /**************************************/
912 002EF port6_interrupt: ;port6 status change interrrupt service routine
913 002EF 0057 mov temp_A, a
914 002F0 0757 swap temp_A
915 002F1 0703 swapa r3
916 002F2 0058 mov temp_S, a
917 002F3 1800 mov a, @0x00
918 002F4 000E iow WDTCR
919 002F5 130E call key_scan
920 002F6 0A96 bs flag, p60_flag
921 002F7 1802 mov a, @0x02
922 002F8 024F or IOCF, a
923 002F9 040F mov a, RF
924 002FA 1A05 and a, @0x05
925 002FB 004F mov RF, a
926 002FC 0718 swapa temp_S
927 002FD 0043 mov r3, a
928 002FE 0717 swapa temp_A
929 002FF 0013 reti
930 /**************************************/
931 00300 int_interrupt: ;int0 interrupt service routine
932 00300 0057 mov temp_A, a
933 00301 0757 swap temp_A
934 00302 0703 swapa r3
935 00303 0058 mov temp_S, a
936 00304 056F inc int0_buf
937 00305 1804 mov a, @0x04
938 00306 024F or IOCF, a
939 00307 040F mov a, RF
940 00308 1A03 and a, @0x03
941 00309 004F mov RF, a
942 0030A 0718 swapa temp_S
943 0030B 0043 mov r3, a
944 0030C 0717 swapa temp_A
945 0030D 0013 reti
946 /**************************************/
947 0030E key_scan:
948 0030E 0E06 jbs port6, 0
949 0030F 171B jmp key_close
950 00310 key_open:
951 00310 0E16 jbs flag, key_flag
952 00311 1714 jmp key_open1
953 00312 0816 bc flag, key_flag
954 00313 170E jmp key_scan
955 00314 key_open1:
956 00314 0C56 jbc flag, key_state
957 00315 1718 jmp key_open2
958 00316 08D6 bc flag, key_over
959 00317 1728 jmp key_off
960 00318 key_open2:
961 00318 0AD6 bs flag, key_over
962 00319 0856 bc flag, key_state
963 0031A 1728 jmp key_off
964 /**************************************/
965 0031B key_close:
966 0031B 0C16 jbc flag, key_flag
967 0031C 1722 jmp key_close1
968 0031D 132A call delay
969 0031E 132A call delay
970 0031F 132A call delay
971 00320 0A16 bs flag, key_flag
972 00321 170E jmp key_scan
973 00322 key_close1:
974 00322 0C56 jbc flag, key_state
975 00323 1726 jmp key_close2
976 00324 132A call delay
977 00325 0A56 bs flag, key_state
978 00326 key_close2:
979 00326 132A call delay
980 00327 170E jmp key_scan
981 00328 0000 key_off: nop
982 00329 0012 ret
983 /**************************************/
984 0032A 0000 delay: nop
985 0032B 1804 mov a, @0x04 ;delay 2ms
986 0032C 0054 mov dt1, a
987 0032D 0000 delay1: nop
988 0032E 18FA mov a, @0xfa
989 0032F 0055 mov dt2, a
990 00330 0000 delay2: nop
991 00331 0000 nop
992 00332 05D5 djz dt2
993 00333 1730 jmp delay2
994 00334 05D4 djz dt1
995 00335 172D jmp delay1
996 00336 0000 nop
997 00337 0012 ret
998 /**************************************/
999 00338 0000 IO_error: nop
1000 00339 0000 nop
1001 0033A 0000 nop
1002 0033B 18FF mov a, @0xff
1003 0033C 0060 mov port50, a
1004 0033D 0000 IO_error1: nop
1005 0033E 0000 nop
1006 0033F 1738 jmp IO_error
1007 end
0 Error(s), 0 Warning(s), 0 User Message(s)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -