?? dc082.asm
字號:
;**************************************************
; 項目說明
;**************************************************
;客戶名稱:
;產(chǎn)品名稱、型號:
;作者:
;項目開始日期:2008-1-14
;項目完成日期:
;芯片型號:SN8P2722
;晶振:4M
;校驗和:DA08
;版本號:1.0
;備注:
;***************************************************
; 芯片端口定義
;***************************************************
;
;
; --------------- ---------------
; | |____| |
; --- |1 VDD VSS 14|---
; OUTPORT--- |2 P0.3/XIN P4.4 13|---COM1
; --- |3 P0.2 /XOUT P4.3 12|---COM2
; |4 P0.4 /REST P4.2 11|---COM3
; BZUUER--- |5 P5.3 /BZ1 P4.1/AIN1 10|---AD
; LEDSEG0 --- |6 P5.4 /BZ0 P4.0 9|---LEDSEG1
; LEDSEG3 --- |7 P0.1/INT1 P0.0 8|---LEDSEG2
; ---------------------------------
;*******************************i/o*************************************
chip SN8P2722
//{{SONIX_CODE_OPTION
.Code_Option LVD LVD_H ; 2.4V Reset Enable LVD36 bit of PFLAG for 3.6V Low Voltage Indicator
.Code_Option Reset_Pin P03
.Code_Option Watch_Dog Always_On ; Watchdog still enable even in Green and Sleep mode
.Code_Option High_Clk IHRC_16M ; Internal 16M RC Oscillator
.Code_Option Fcpu Fosc/4
.Code_Option Security Enable
.Code_Option Noise_Filter Disable
//}}SONIX_CODE_OPTION
.nolist ; do not list the macro file
INCLUDESTD MACRO1.H
INCLUDESTD MACRO2.H
INCLUDESTD MACRO3.H
;************************************************************************
p_buzport equ p0
p_buz equ p_buzport.4
p_speed_out equ p0.6;調(diào)速
p_flz_out equ p0.7
p_tr_ad equ p4.0;室內(nèi)溫度
p_sw_l equ p5.0;左搖
p_sw_r equ p5.1;右搖
p_write equ p5.3
p_data equ p5.2
p_waterkeyport equ p0
p_waterkeyline equ p_waterkeyport.3 ;水位檢測口
p_rec equ p0.0
p_c_f equ p0.4
p_zero equ p4.2
p_cs equ p5.4
p_hum_out equ p0.5
p_fan equ p4.4
p_key equ p4.1
p_backled equ p4.3
;**************************************************************
org 00h ;Data section start from RAM address 0
r_blink_byte equ 04h
r_blink_byte1 equ 05h
r_trigger_byte equ 06h
b_trigger2ms equ r_trigger_byte.0
b_trigger4ms equ r_trigger_byte.1
b_trigger8ms equ r_trigger_byte.2
b_trigger16ms equ r_trigger_byte.3
b_trigger32ms equ r_trigger_byte.4
b_trigger64ms equ r_trigger_byte.5
b_trigger125ms equ r_trigger_byte.6
b_trigger250ms equ r_trigger_byte.7
r_trigger_byte1 equ 07h
b_trigger500ms equ r_trigger_byte1.0
b_trigger1s equ r_trigger_byte1.1
b_trigger2s equ r_trigger_byte1.2
b_trigger4s equ r_trigger_byte1.3
b_trigger8s equ r_trigger_byte1.4
b_trigger16s equ r_trigger_byte1.5
b_trigger32s equ r_trigger_byte1.6
b_trigger64s equ r_trigger_byte1.7
;----------------------------------------------------
r_buz_time equ 08h
r_buz_count equ 09h
r_buz_timecnt equ 0ah ;蜂鳴器間隔時間寄存器
;---------------------------------------------------
r_2ms_cnt equ 0bh
r_time_1s equ 0ch
r_time_2s equ 0dh
r_time_60s equ 0eh
r_timeflag equ 0fh
b_16ms equ r_timeflag.0
b_time_8ms equ r_timeflag.1
b_time_64ms equ r_timeflag.2
b_time_4ms equ r_timeflag.3
b_time_500ms equ r_timeflag.4
b_time_1s equ r_timeflag.5
b_time_32ms equ r_timeflag.6
b_time_125ms equ r_timeflag.7
;-----------------------------------------
r_sysflag equ 10h
b_run equ r_sysflag.0
b_ion equ r_sysflag.1
b_hum equ r_sysflag.2
b_f equ r_sysflag.3
b_offdelay equ r_sysflag.4
b_start_sw equ r_sysflag.5;按搖頭鍵開始搖頭標志
b_settime equ r_sysflag.6;有時間設(shè)置標志
;---------------------------------------------
r_timebyte1 equ 11h
r_timebyte2 equ 12h
r_timebyte1_buf equ 13h
r_timebyte2_buf equ 14h
r_settime equ 15h
r_time_sec equ 16h
r_time_min equ 17h
;-----------------------------------
r_keyvalue equ 18h
r_keybuf equ 19h
r_keybyte equ 1ah
b_keyon equ r_keybyte.0
b_keysame equ r_keybyte.1
b_keylong equ r_keybyte.2
r_keycnt equ 1bh
;------------------------------------------
r_disdata0 equ 1ch
r_disdata1 equ 1dh
;-------------------------------------------
r_zero equ 1eh
b_zero_low equ r_zero.2
r_flashcnt equ 5dh
r_flashcnt1 equ 5eh
;-----------------------------------------
r_speedbyte_buf equ 5fh ;速度顯示用
r_speedbyte1 equ 60h
r_speedbyte2 equ 61h ;速度模式用
b_lowspeed equ r_speedbyte2.0
b_midspeed equ r_speedbyte2.1
b_higspeed equ r_speedbyte2.2
b_nospeed equ r_speedbyte2.3
;-----------------------------------------
r_modebyte equ 20h
b_zcf equ r_modebyte.0
b_zrf equ r_modebyte.1
b_smf equ r_modebyte.2
b_nomode equ r_modebyte.3
;--------------------------------------------
r_swbyte equ 21h
b_sw90 equ r_swbyte.0
b_sw180 equ r_swbyte.1
b_sw360 equ r_swbyte.2
b_nosw equ r_swbyte.3
r_lsw_time equ 22h;左搖時間
r_rsw_time equ 23h;右搖時間
r_lsw_timebuf equ 24h;左搖時間緩存
r_rsw_timebuf equ 25h;右搖時間緩存
r_swdelay equ 26h;搖頭停1s
;----------------------------------------------
r_BreezeByte equ 27h
bit_7 equ r_BreezeByte.7
bit_6 equ r_BreezeByte.6
bit_5 equ r_BreezeByte.5
bit_4 equ r_BreezeByte.4
bit_3 equ r_BreezeByte.3
bit_2 equ r_BreezeByte.2
bit_1 equ r_BreezeByte.1
bit_0 equ r_BreezeByte.0
r_BreezeByte1 equ 28h
bit_8 equ r_BreezeByte1.0
bit_9 equ r_BreezeByte1.1
r_Usertrigger equ 29h
b_middsmf_bit EQU r_usertrigger.0
b_highsmf_bit1 EQU r_usertrigger.1
b_highsmf_bit2 EQU r_usertrigger.2
b_highsmf_bit3 EQU r_usertrigger.3
r_timer_fanrun equ 2ah
r_Time30MinCnt equ 2bh
;---------------------------------------------------
r_ad_delaycnt equ 2ch
r_ad_buf_low equ 2dh
r_ad_buf_hig equ 2eh
r_adc_sp equ 2fh
r_adtemp equ 30h
r_adtemp_buf equ 31h
r_ad_error equ 32h
b_openerr equ r_ad_error.0
b_offerr equ r_ad_error.1
;----------------------------------------------------
r_waterkeycnt1 equ 33h ; 水位檢測用
r_waterkeycnt equ 34h ;
r_watererror equ 35h ;
b_waterkey_err equ r_watererror.0
;----------------------------------------------------
r_outbytebuf equ 36h
b_ionout equ r_outbytebuf.0
b_rswout equ r_outbytebuf.1
b_lswout equ r_outbytebuf.2
b_humout equ r_outbytebuf.3
r_outbyte equ 37h
r_timezero equ 38h
;-------------------------------------------------
r_f_cnt equ 39h
r_c_cnt equ 3ah
;---------------------------------------------------------
r_data_low equ 3bh ;低八位數(shù)據(jù)寄存器
r_data_hig equ 3ch
R_REC_TIME equ 3dh
r_ir_flag equ 3eh ;接收信號標志位
B_REC_LOW equ r_ir_flag.0
B_REC_FINISH equ r_ir_flag.1
B_REC_REPEAT equ r_ir_flag.2
b_keylong1 equ r_ir_flag.3
R_REC_CNT equ 3fh
R_REC_REPEAT_CNT equ 40h
R_REC_CODE equ 41h
r_remote_cnt equ 42h
;----------------------------------------------------------
r_backled_cnt equ 43h
r_ledbyte1buf equ 44h
lcd_p5 equ r_ledbyte1buf.0
lcd_p4 equ r_ledbyte1buf.1
lcd_p3 equ r_ledbyte1buf.2
lcd_p2 equ r_ledbyte1buf.3
lcd_p6 equ r_ledbyte1buf.4
lcd_p7 equ r_ledbyte1buf.5
lcd_p8 equ r_ledbyte1buf.6
lcd_p9 equ r_ledbyte1buf.7
r_ledbyte2buf equ 45h
lcd_f6 equ r_ledbyte2buf.0
lcd_f1 equ r_ledbyte2buf.1
lcd_f2 equ r_ledbyte2buf.2
lcd_p1 equ r_ledbyte2buf.3
lcd_f5 equ r_ledbyte2buf.5
lcd_f4 equ r_ledbyte2buf.6
lcd_f3 equ r_ledbyte2buf.7
r_ledbyte3buf equ 46h
lcd_3a equ r_ledbyte3buf.0
lcd_3b equ r_ledbyte3buf.1
lcd_3g equ r_ledbyte3buf.2
lcd_3c equ r_ledbyte3buf.3
lcd_s9 equ r_ledbyte3buf.4
lcd_3f equ r_ledbyte3buf.5
lcd_3e equ r_ledbyte3buf.6
lcd_3d equ r_ledbyte3buf.7
r_ledbyte4buf equ 47h
lcd_4a equ r_ledbyte4buf.0
lcd_4b equ r_ledbyte4buf.1
lcd_4g equ r_ledbyte4buf.2
lcd_4c equ r_ledbyte4buf.3
lcd_s10 equ r_ledbyte4buf.4
lcd_4e equ r_ledbyte4buf.5
lcd_4f equ r_ledbyte4buf.6
lcd_4d equ r_ledbyte4buf.7
r_ledbyte5buf equ 48h
lcd_5a equ r_ledbyte5buf.0
lcd_5b equ r_ledbyte5buf.1
lcd_5g equ r_ledbyte5buf.2
lcd_5c equ r_ledbyte5buf.3
lcd_col equ r_ledbyte5buf.4
lcd_5f equ r_ledbyte5buf.5
lcd_5e equ r_ledbyte5buf.6
lcd_5d equ r_ledbyte5buf.7
r_ledbyte6buf equ 49h
lcd_2a equ r_ledbyte6buf.0
lcd_2f equ r_ledbyte6buf.1
lcd_2e equ r_ledbyte6buf.2
lcd_s8 equ r_ledbyte6buf.3
lcd_2b equ r_ledbyte6buf.4
lcd_2g equ r_ledbyte6buf.5
lcd_2c equ r_ledbyte6buf.6
lcd_2d equ r_ledbyte6buf.7
r_ledbyte7buf equ 4ah
lcd_1a equ r_ledbyte7buf.0
lcd_1f equ r_ledbyte7buf.1
lcd_1e equ r_ledbyte7buf.2
lcd_s7 equ r_ledbyte7buf.3
lcd_1b equ r_ledbyte7buf.5
lcd_1g equ r_ledbyte7buf.6
lcd_1c equ r_ledbyte7buf.7
lcd_1d EQU r_ledbyte7buf.4
r_ledbyte8buf equ 4bh
lcd_6a equ r_ledbyte8buf.0
lcd_6f equ r_ledbyte8buf.1
lcd_6e equ r_ledbyte8buf.2
lcd_6d equ r_ledbyte8buf.3
lcd_s6 equ r_ledbyte8buf.4
lcd_6b equ r_ledbyte8buf.5
lcd_6g equ r_ledbyte8buf.6
lcd_6c equ r_ledbyte8buf.7
r_ledbyte9buf equ 4ch
lcd_s11 EQU r_ledbyte9buf.0
lcd_s3 EQU r_ledbyte9buf.1
lcd_s2 equ r_ledbyte9buf.2
lcd_s1 equ r_ledbyte9buf.3
lcd_s5 equ r_ledbyte9buf.4
lcd_360 equ r_ledbyte9buf.5
lcd_180 equ r_ledbyte9buf.6
lcd_90 equ r_ledbyte9buf.7
r_lcdram equ 4dh
r_ledbyte1 equ 4eh
r_ledbyte2 equ 4fh
r_ledbyte3 equ 51h
r_ledbyte4 equ 52h
r_ledbyte5 equ 53h
r_ledbyte6 equ 54h
r_ledbyte7 equ 55h
r_ledbyte8 equ 56h
r_ledbyte9 equ 57h
r_zcfdispay_cnt equ 58h
r_reg0 equ 59h
r_sent_data equ 5ah
r_count equ 5bh
;r_adtime_12ms equ 62h
r_zcf_time equ 63h
r_tempad_time equ 64h
r_timezero_buf equ 65h
r_keyad_buf equ 62h
;***************************宏定義*****************************
mov_1 macro vr1,vr2 ;送立即數(shù)
mov a,#vr2
b0mov vr1,a
endm
mov_2 macro vr1,vr2 ;送寄存器里的數(shù)
b0mov a,vr2
b0mov vr1,a
endm
cpjz macro var, j_addr ;寄存器為0時跳轉(zhuǎn)
b0mov a,var
b0bts0 fz
jmp j_addr
endm
cpjnz macro var, j_addr ;寄存器不為0時跳轉(zhuǎn)
b0mov a,var
b0bts1 fz
jmp j_addr
endm
;**************************常數(shù)********************************
c_buz_long equ 50 ;50*4=200ms
c_buz_short equ 20 ;20*4=80ms
c_2ms_cntinit equ 16
c_buz_timecnt equ 125 ;間隔500ms響
c_time5s equ 78
c_time1s equ 15
c_time4s equ 62
;******************************************************************
.CODE
org 00h
jmp start
org 08h
jmp int_t
org 10h
jmp start
;---------------------------------------------------------
tabeltemp_c:
;***Sensor type is CW36-503-3980***
;***Up_Res is 0 Down_Res is 22000 The ADC is 8 Bit ***
dw 30,31,32,34,35,37,39,40,42,44;0C`~9C`
dw 46,47,49,51,53,55,57,59,61,64;10C`~19C`
dw 66,68,70,73,75,77,80,82,85,87;20C`~29C`
dw 90,92,95,97,100,102,105,107,110,112;30C`~39C`
dw 115,118,120,123,125,128,130,133,135,137;40C`~49C`
dw 140,142,145,147,149,152,154,156,158,160;50C`~59C`
dw 162,165,167,169,171,173,175,177,178,180;60C`~69C`
dw 182,184,185,187,189,190,192,194,195,197;70C`~79C`
dw 198,199,201,202,203,205,206,207,208,209;80C`~89C`
dw 211,212,213,214,215,216,217,218,219,220;90C`~99C`
dw 255,255;
tabeltemp_f:
dw 1,2,3,4,5,6,7,8,9,10
dw 11,12,13,14,15,16,17,18,19,20
dw 21,22,23,24,25,26,27,27,27,27
dw 27,27,30,31,31,32,33,34,34,35;30f`~39f`
dw 35,37,39,39,40,41,42,42,44,42;40f`~49f`
dw 46,47,48,49,50,51,52,53,54,55;50f`~59f`
dw 57,58,59,60,61,62,64,65,66,68;60f`~69f`
dw 69,70,71,73,75,76,76,77,80,81;70f`~79f`
dw 82,83,85,86,87,88,90,92,93,95;80f`~89f`
dw 96,97,98,100,101,102,105,106,107,110;90f`~99f`
dw 110 ,110;
tabel_stoptime:
dw 0
dw 62;50;42;1檔
dw 59;48;40
dw 55;45;37
dw 49;43;35
dw 41;42;34
dw 34;37;29
dw 26;32;24
dw 17;26;8檔
dw 8 ;9檔
tabel_8:
; abgc fed
dw 11101011b;11010111b;0
dw 00001010b;01010000b;1
dw 11000111b;11100011b;2
dw 10001111b;11110001b;3
dw 00101110b;01110100b;4
dw 10101101b;10110101b;5
dw 11101101b;10110111b;6
dw 00001011b;11010000b;7
dw 11101111b;11110111b;8
dw 10101111b;11110101b;9
tabel_88:
; afed bgc
dw 10101111b;11110101b;0
dw 10100000b;00000101b;1
dw 01101101b;10110110b;2
dw 11101001b;10010111b;3
dw 11100010b;01000111b;4
dw 11001011b;11010011b;5
dw 11001111b;11110011b;6
dw 10100001b;10000101b;7
dw 11101111b;11110111b;8
dw 11101011b;11010111b;9
tabel_888:
; afe bgcd
dw 11010111b;11111011b;0 col點亮
dw 01010000b;00011010b;1
dw 10110101b;10111101b;2
dw 11110001b;10011111b;3
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -