📄 cc1020rx.lst
字号:
0277 0A58 00700 goto check_oneda
00701 ; goto $
0278 00702 data_end
00703 ;***********************************************************************************
MPASM 03.20.02 Released CC1020RX.ASM 10-15-2003 11:19:14 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00704 ; the code verify receive id number and
00705 ; rom address 10h id number
00706 ; if homology, the data/command is
00707 ; contrapose current receiver
00708 ;-----------------------------------------
0278 00709 verify_id
0278 007B 00710 clrf id_cont
Message[306]: Crossing page boundary -- ensure page bits are set.
0279 0906 00711 call get_id
027A 009C 00712 subwf id_code,w
027B 0743 00713 skpz
027C 0A1D 00714 goto m_loop
00715 ;***********************************************************************************
00716 ; verdict three key thereinto singleton
00717 ; if all not homologous, return program start
00718 ;-----------------------------------------
027D 00719 chkaah
027D 0CAA 00720 movlw 0aah
027E 0092 00721 subwf data_buf,w
027F 0743 00722 skpz
0280 0A88 00723 goto chk55h
00724 ; sleep_board
0281 0C01 00725 movlw b'00000001'
0282 01A6 00726 xorwf portb,f
0283 0C64 00727 movlw d'100'
0284 09C4 00728 call delayx
0285 0C00 00729 movlw b'00000000'
0286 01A6 00730 xorwf portb,f
0287 0A95 00731 goto ok_end
0288 00732 chk55h
0288 0C55 00733 movlw 055h
0289 0092 00734 subwf data_buf,w
028A 0743 00735 skpz
028B 0A8F 00736 goto chkf0h
00737 ;sleep_board
028C 0C02 00738 movlw b'00000010'
028D 01A6 00739 xorwf portb,f
028E 0A95 00740 goto ok_end
028F 00741 chkf0h
028F 0C0F 00742 movlw 00fh
0290 0092 00743 subwf data_buf,w
0291 0743 00744 skpz
0292 0A2D 00745 goto check_start
00746 ;sleep_board
0293 0C20 00747 movlw b'00100000'
0294 01A6 00748 xorwf portb,f
0295 00749 ok_end
0295 0A1D 00750 goto m_loop
00751 ;***********************************************************************************
00752 ; the code receive singleton bit
00753 ; pulse raise high start count of tmr0
00754 ; pulse fall low stop count
00755 ; output parameter:
MPASM 03.20.02 Released CC1020RX.ASM 10-15-2003 11:19:14 PAGE 18
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00756 ; counter_buf--pulse breadth number
00757 ;***********************************************************************************
0296 00758 receive_bit
0296 0069 00759 clrf counter_buf
0297 0004 00760 clrwdt
0298 0CC8 00761 movlw d'200'
0299 0038 00762 movwf r3 ; 200 * 5 = 1ms
029A 0C0A 00763 movlw d'10'
029B 0039 00764 movwf r4 ; 200 * 5 + 3 * 10 = 10.30ms
029C 00765 check_high
029C 0687 00766 btfsc portc,dclk
029D 0AA3 00767 goto count_loop
029E 02F8 00768 decfsz r3,f
029F 0A9C 00769 goto check_high
02A0 02F9 00770 decfsz r4,f
02A1 0A9C 00771 goto check_high
02A2 0A1D 00772 goto m_loop
00773 ;**** start count
02A3 00774 count_loop
02A3 0C88 00775 movlw b'10001000' ; wdt rate 1 : 1
02A4 0002 00776 option
02A5 0061 00777 clrf tmr0 ; load value into tmr0
02A6 00778 check_loop
02A6 0787 00779 btfss portc,dclk ;
02A7 0AB3 00780 goto end_bit ;
02A8 0CC8 00781 movlw d'200' ; 200 x 1 = 200us
02A9 0081 00782 subwf tmr0,w ; compare counter value
02AA 0703 00783 skpc ; tmr0 arrive d'200' skip loop
02AB 0AA6 00784 goto check_loop
02AC 0004 00785 clrwdt
02AD 02A9 00786 incf counter_buf,f ; pulse breadth counter add 1
02AE 0C13 00787 movlw 13h
02AF 0089 00788 subwf counter_buf,w ; if count value overflow most value skip restart
02B0 0603 00789 skpnc
02B1 0A96 00790 goto receive_bit ; restart
02B2 0AA3 00791 goto count_loop
02B3 00792 end_bit ; restrict count value at 04h~13h
02B3 0C04 00793 movlw 04h
02B4 0089 00794 subwf counter_buf,w
02B5 0703 00795 skpc
02B6 0A96 00796 goto receive_bit
02B7 0C13 00797 movlw 13h
02B8 0089 00798 subwf counter_buf,w
02B9 0603 00799 skpnc
02BA 0A96 00800 goto receive_bit
00801 ; goto $
02BB 00802 rx_end
02BB 0800 00803 retlw 0
00804 ;***********************************************************************************
00805 ;initialize i/o port
00806 ; gpio1 = in
00807 ; gpio0.gpio2.gpio3.gpio4.gpio5 = out
00808 ;***********************************************************************************
MPASM 03.20.02 Released CC1020RX.ASM 10-15-2003 11:19:14 PAGE 19
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
02BC 00809 init_gpio
02BC 0CFF 00810 movlw b'11111111' ; only gpio.1 is input
02BD 0007 00811 tris portc
02BE 0C3C 00812 movlw b'00111100'
02BF 0006 00813 tris portb
02C0 0406 00814 bcf portb,spray
02C1 0426 00815 bcf portb,buzzer
02C2 0800 00816 retlw 0
00817 ;***********************************************************************************
02C3 00818 delay10ms
02C3 0C0A 00819 movlw d'10' ; td = (((r5) * 5) + 5) * (r0)
02C4 00820 delayx
02C4 0038 00821 movwf r3 ; = (200 * 5 + 5) * 10
02C5 0CC8 00822 movlw d'200' ; = 10.5ms
02C6 0039 00823 movwf r4
02C7 0004 00824 clrwdt
02C8 0004 00825 clrwdt
02C9 02F9 00826 decfsz r4,f
02CA 0AC7 00827 goto $-3
02CB 02F8 00828 decfsz r3,f
02CC 0AC5 00829 goto $-7
02CD 0800 00830 retlw 0
00831 ;
02CE 00832 sieve_del100us ;td = (r0 * 5) + 5
02CE 0C13 00833 movlw d'19' ; = 100.us
02CF 0039 00834 movwf r4
02D0 0004 00835 clrwdt
02D1 0004 00836 clrwdt
02D2 02F9 00837 decfsz r4,f
02D3 0AD0 00838 goto $-3
02D4 0800 00839 retlw 0
00840 ;=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
02D5 0000 00841 nop
00842
00843 ;===========
00844
00845 end;
MPASM 03.20.02 Released CC1020RX.ASM 10-15-2003 11:19:14 PAGE 20
SYMBOL TABLE
LABEL VALUE
__16C505 00000001
_main 00000210
addr_count 00000038
addr_data 00000035
bit_cont 00000011
block1 bcf status,pa0
block2 bsf status,pa0
buzzer 00000001
byte_cont 0000001A
c 00000000
cc1020_afc 00000043
cc1020_afc_control 0000000F
cc1020_analog 00000017
cc1020_buff_curr 00000019
cc1020_buff_swing 00000018
cc1020_calibrate 0000001B
cc1020_clock_a 00000007
cc1020_clock_b 0000000B
cc1020_deviation 0000000E
cc1020_filter 00000010
cc1020_freq_0a 00000006
cc1020_freq_0b 0000000A
cc1020_freq_1a 00000005
cc1020_freq_1b 00000009
cc1020_freq_2a 00000004
cc1020_freq_2b 00000008
cc1020_frontend 00000016
cc1020_gain_comp 0000001F
cc1020_gauss_fil 00000044
cc1020_interface 00000001
cc1020_lock_reg 00000015
cc1020_main 00000000
cc1020_match 0000001D
cc1020_modem 0000000D
cc1020_pa_power 0000001C
cc1020_phase_comp 0000001E
cc1020_pll_bw 0000001A
cc1020_powerdown 00000020
cc1020_reset 00000002
cc1020_reset_done 00000041
cc1020_rssi 00000042
cc1020_sequencing 00000003
cc1020_status 00000040
cc1020_status1 00000045
cc1020_status2 00000046
cc1020_status3 00000047
cc1020_status4 00000048
cc1020_status5 00000049
cc1020_status6 0000004A
cc1020_status7 0000004B
cc1020_test1 00000021
cc1020_test2 00000022
cc1020_test3 00000023
MPASM 03.20.02 Released CC1020RX.ASM 10-15-2003 11:19:14 PAGE 21
SYMBOL TABLE
LABEL VALUE
cc1020_test4 00000024
cc1020_test5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -