📄 nt02.lst
字号:
764 2134 64 9C stz clk_sec
765 2136 64 9D stz on_hour
766 2138 64 9E stz on_min
767 213A 64 9F stz off_hour
768 213C 64 A0 stz off_min
769 213E 64 A1 stz com_hour
770 2140 64 A2 stz com_min
771 2142 64 A3 stz dispflag
772 2144 64 A4 stz powerflag
773 2146 64 A5 stz actionmode
774 2148 64 A6 stz speedmode
775 214A 64 A8 stz t_setting_m
776 214C 64 B1 stz clock_setting_m
777
778 214E 64 A9 stz tem_cal_h
779 2150 64 AA stz tem_cal_l
780 2152 64 AB stz temperature_h
781 2154 64 AC stz temperature_l
782 2156 64 B2 stz clock_setting_t
783 2158 64 B3 stz back_light_t
784 215A 64 B4 stz room_tem_check
785 215C 64 B5 stz really_act_3min
786 215E 64 B6 stz really_act_20sec
787 2160 64 B7 stz temp
788 2162 64 B8 stz key_ad_h
789 2164 64 B9 stz key_ad_l
790 2166 64 BA stz r_table_l
791 2168 64 BB stz r_table_h
792 216A 64 BC stz r_bit_count
793 216C 64 BD stz remote_t
794 216E 64 BE stz remode
795 2170 64 BF stz r_data0
796 2172 64 C0 stz r_data1
797 2174 64 C1 stz r_data2
798 2176 64 C2 stz r_data3
799 2178 64 C3 stz remote_f
800 217A 64 C4 stz che_ups_t
801 217C 64 AE stz temp_check_h
802 217E 64 AF stz temp_check_l
803 2180 64 AD stz tem_cal_f
804 2182 64 C6 stz auto_mode
805 2184 64 C5 stz h_motor_t
806 2186 64 C7 stz old_temp
807
808 2188 60 rts
809 ;///////////////////////////////////////////////;
810 ; ;
811 ; ram defalut setting ;
812 ; ;
813 ;///////////////////////////////////////////////;
814 2189 ram_default_set:
815 ;-----------------------------------------------; setting lcd display ram
816 2189 A9 FF lda #ffh
817 218B 85 FE sta disset
818 218D 20 A0 33 jsr dis_ram_setting
819 2190
820 2190 A9 C0 lda #11000000b ; set LCD on
821 2192 85 09 sta LCDC
822
823 2194 A9 02 lda #2
824 2196 85 B3 sta back_light_t ; lcd all segment turn on 1.6sec
825 2198
826 2198 A9 01 lda #demo_dis_f
Fri Mar 3 11:18:09 2006 Page 10
827 219A 05 A4 ora powerflag
828 219C 85 A4 sta powerflag ; turn on demo display 1.6sec
829 219E 20 8F 26 jsr buzzer_on
830 ;-----------------------------------------------
831 21A1 64 A5 stz actionmode ; speed mode
832 21A3 64 A6 stz speedmode ; speed level= low
833 21A5 A9 1A lda #26
834 21A7 85 A8 sta t_setting_m ; temperature defalut 26℃
835 ;-----------------------------------------------
836 21A9 A5 10 lda PA
837 21AB 29 04 and #tem_rang_set
838 21AD F0 06 beq temp_range_ret
839 21AF A9 40 lda #t_set_rang_f ;if =1 col range 10~40 ℃,hot range 10~
40 ℃
840 21B1 05 A4 ora powerflag ;temperature setting rang flag if =0 co
l range 26~40 ℃,hot range 10~40 ℃
841 21B3 85 A4 sta powerflag
842 21B5 temp_range_ret:
843 21B5 60 rts
844 21B6
845 ;///////////////////////////////////////////////;
846 ; ;
847 ; check power on and power off time ;
848 ; ;
849 ;///////////////////////////////////////////////;
850 ;-------
851 21B6 power_on_off_timer:
852 21B6 A5 B1 lda clock_setting_m
853 21B8 C9 00 cmp #00h
854 21BA F0 32 beq power_on_off_timer_ret
855 21BC A5 9D lda on_hour ;if check auto power on time = auoto po
wer off time ,
856 21BE 18 clc ;then increa auto power off time 1 min
857 21BF 65 9E adc on_min
858 21C1 C9 00 cmp #00h
859 21C3 F0 29 beq power_on_off_timer_ret
860 21C5 A5 9F lda off_hour
861 21C7 18 clc
862 21C8 65 A0 adc off_min
863 21CA C9 00 cmp #00h
864 21CC F0 20 beq power_on_off_timer_ret
865 21CE A5 9D lda on_hour
866 21D0 C5 9F cmp off_hour
867 21D2 D0 1A bne power_on_off_timer_ret
868 21D4 A5 A0 lda off_min
869 21D6 C5 9E cmp on_min
870 21D8 D0 14 bne power_on_off_timer_ret
871 21DA C9 3B cmp #59
872 21DC F0 03 beq power_on_off_timer0
873 21DE E6 A0 inc off_min
874 21E0 60 rts
875 21E1 power_on_off_timer0:
876 21E1 64 A0 stz off_min
877 21E3 A5 9F lda off_hour
878 21E5 C9 17 cmp #23
879 21E7 F0 03 beq power_on_off_timer1
880 21E9 E6 9F inc off_hour
881 21EB 60 rts
882 power_on_off_timer1: ; when setting auto power on time=23:59
883 21EC 64 9F stz off_hour ; and auto power off time= 23:59, then
disable auto power off function
884 21EE power_on_off_timer_ret:
885 21EE rt_check_adj_ret0:
886 21EE 60 rts
887 ;///////////////////////////////////////////////;
888 ; ;
889 ; really temperature check and adj ;
890 ; ;
891 ;///////////////////////////////////////////////;
892 ;-----------
893 21EF rt_check_adj:
894 21EF A5 B1 lda clock_setting_m
895 21F1 29 07 and #tem_cal_set
896 21F3 D0 F9 bne rt_check_adj_ret0
897 21F5
898 21F5 A5 A4 lda powerflag
899 21F7 29 80 and #power_on_f
900 21F9 F0 F3 beq rt_check_adj_ret0 ; when power off then stop temperature
check
901
902 21FB A9 81 lda #10000001b ; select AD convert channel
903 21FD 85 0A sta rADCC
904 21FF EA nop
905 2200 A9 C1 lda #11000001b ; start A/D convert
906 2202 85 0A sta rADCC
907 2204 EA nop
908 2205 EA nop
909 2206 EA nop
910 2207 EA nop
911 2208 EA nop
912 2209 EA nop
913 220A EA nop
914 220B EA nop
915 220C EA nop
Fri Mar 3 11:18:09 2006 Page 11
916 220D A5 0C lda rADCH
917 220F 85 B8 sta key_ad_h
918 2211 A5 0B lda rADCL
919 2213 29 F0 and #11110000b
920 2215 85 B9 sta key_ad_l
921 2217 A9 00 lda #00h
922 2219 85 0A sta rADCC ; stop A/D convert
923 221B
924 221B A2 04 ldx #4 ; Shift right 4 times
925 221D fix_value:
926 221D 46 B8 lsr key_ad_h
927 221F 66 B9 ror key_ad_l
928 2221 CA dex
929 2222 D0 F9 bne fix_value
930 ;-----------------------------------------------
931 check_tem_v_h: ; check temperature value availability
932 2224 A2 00 ldx #0
933 2226 BD 6A 3B lda rt_ad_tab,x ; if A/D value 03h,2Eh=<AD<=0Ch,40h t
hen value is availability
934 2229 C5 B8 cmp key_ad_h ; high bit check
935 222B 90 32 bcc rt_too_min ; > max
936 222D F0 03 beq check_tem_v_h_0 ; =
937 222F 4C 3D 22 jmp check_tem_v_l ; <
938 2232 check_tem_v_h_0:
939 2232 E8 inx
940 2233 BD 6A 3B lda rt_ad_tab,x ;
941 2236 C5 B9 cmp key_ad_l ; low bit check
942 2238 90 25 bcc rt_too_min ;>
943 223A 4C 6F 22 jmp tem_avai ;<=
944 223D
945 223D check_tem_v_l:
946 223D A2 B4 ldx #180 ; tale length
947 223F BD 6A 3B lda rt_ad_tab,x ;
948 2242 C5 B8 cmp key_ad_h ; high bit check
949 2244 F0 07 beq check_tem_v_l_0
950 2246 90 27 bcc tem_avai ; > min
951 2248 B0 10 bcs rt_too_max ; < min no availability
952 224A 4C 6F 22 jmp tem_avai
953 224D
954 224D check_tem_v_l_0:
955 224D E8 inx ;
956 224E BD 6A 3B lda rt_ad_tab,x ;
957 2251 C5 B9 cmp key_ad_l ; low check
958 2253 F0 1A beq tem_avai
959 2255 B0 03 bcs rt_too_max ;
960 2257 4C 6F 22 jmp tem_avai
961 225A rt_too_max:
962 225A A2 B4 ldx #180 ; tale length
963 225C 4C 61 22 jmp too_com
964 225F rt_too_min:
965 225F A2 00 ldx #00h
966 2261 too_com:
967 2261 BD 6A 3B lda rt_ad_tab,x ;
968 2264 85 B8 sta key_ad_h
969 2266 E8 inx
970 2267 BD 6A 3B lda rt_ad_tab,x ;
971 226A 85 B9 sta key_ad_l
972 226C 4C 6F 22 jmp tem_avai
973 ;------------------------------------------------
974 226F tem_avai:
975 226F A2 00 ldx #00h
976 2271 high_cmp:
977 2271 BD 6A 3B lda rt_ad_tab,x
978 2274 C5 B8 cmp key_ad_h ; compare high
979 2276 F0 0A beq low_cmp
980 2278 E8 inx
981 2279 E8 inx
982 227A E8 inx
983 227B E0 B1 cpx #177 ; 3*60-3
984 227D B0 DB bcs rt_too_max
985 227F 4C 71 22 jmp high_cmp
986 2282 low_cmp:
987 2282 E8 inx
988 2283 BD 6A 3B lda rt_ad_tab,x
989 2286 C5 B9 cmp key_ad_l ; compare low
990 2288 B0 31 bcs low_cmp_inc
991 228A F0 50 beq low_cmp_finish ; value is integer
992 228C 85 BA sta r_table_l
993 228E CA dex
994 228F CA dex
995 2290 BD 6A 3B lda rt_ad_tab,x
996 2293 85 AB sta temperature_h
997 2295 CA dex
998 2296 BD 6A 3B lda rt_ad_tab,x
999 2299 85 BB sta r_table_h
1000 229B A5 BA lda r_table_l
1001 229D E8 inx
1002 229E E8 inx
1003 229F E8 inx
1004 22A0 C5 BB cmp r_table_h
1005 22A2 B0 0A bcs need_cmp
1006 22A4 A5 BB lda r_table_h
1007 22A6 38 sec
1008 22A7 E5 BA sbc r_table_l
1009 22A9 85 AC sta temperature_l
Fri Mar 3 11:18:09 2006 Page 12
1010 22AB 4C E5 22 jmp div_10
1011
1012 22AE need_cmp:
1013 22AE A9 FF lda #ffh
1014 22B0 38 sec
1015 22B1 E5 BA sbc r_table_l
1016 22B3 18 clc
1017 22B4 65 BB adc r_table_h
1018 22B6 85 AC sta temperature_l
1019 22B8 4C E5 22 jmp div_10
1020
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -