📄 cc1020.lst
字号:
0236 0206 00657 movf portb,w ;
0237 0E13 00658 andlw b'00010011'
0238 002C 00659 movwf temp_buf
0239 0F13 00660 xorlw b'00010011'
023A 0643 00661 skpnz
023B 0A28 00662 goto loop
00663 ;-----------------------------
00664 ;block1
00665 ;call setupcc1020all
00666 ;call single_calibration
00667 ;call get_id
00668 ;movwf id_code
MPASM 03.20.02 Released CC1020.ASM 10-20-2003 9:36:11 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00669 ;block2
00670 ;----------------
023C 0C3F 00671 movlw b'00111111' ;set the portb input
023D 0006 00672 tris portb
023E 0CCF 00673 movlw b'11001111'
023F 0007 00674 tris portc
0240 04A7 00675 bcf portc,dio
00676 ;******** have key press
0241 00677 cpe_n0
0241 0C12 00678 movlw b'00010010' ; 10010--key 1
0242 008C 00679 subwf temp_buf,w
0243 0643 00680 skpnz
0244 0A46 00681 goto $+2
0245 0A4F 00682 goto cpe_n1
0246 0C55 00683 movlw 055h ; transmit data 55h by radio
0247 0034 00684 movwf data_buf
0248 0981 00685 call send_package
0249 04A3 00686 block1
024A 0C06 00687 movlw cc1020_freq_0a;
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
024B 0035 00688 movwf addr_data
Message[306]: Crossing page boundary -- ensure page bits are set.
024C 09F9 00689 call configure_read
024D 05A3 00690 block2
00691
024E 0A6B 00692 goto on_key
00693 ;*****************************
024F 00694 cpe_n1
024F 0C11 00695 movlw b'00010001' ;10001--key 2
0250 008C 00696 subwf temp_buf,w
0251 0643 00697 skpnz
0252 0A54 00698 goto $+2
0253 0A5E 00699 goto cpe_n3
0254 0CAA 00700 movlw 0aah ; transmit data aah by radio
0255 0034 00701 movwf data_buf
0256 0981 00702 call send_package
0257 04A3 00703 block1
0258 0C06 00704 movlw cc1020_freq_0a;
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0259 0035 00705 movwf addr_data
Message[306]: Crossing page boundary -- ensure page bits are set.
025A 09F9 00706 call configure_read
025B 05A3 00707 block2
00708
025C 0000 00709 nop
025D 0A6B 00710 goto on_key
025E 00711 cpe_n3
025E 0C03 00712 movlw b'00000011' ; 0011--key 3
025F 008C 00713 subwf temp_buf,w
0260 0643 00714 skpnz
0261 0A63 00715 goto $+2
0262 0A28 00716 goto loop
0263 0C0F 00717 movlw 0fh ; transmit data 0fh by radio
MPASM 03.20.02 Released CC1020.ASM 10-20-2003 9:36:11 PAGE 18
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0264 0034 00718 movwf data_buf
0265 0981 00719 call send_package
0266 04A3 00720 block1
0267 0C06 00721 movlw cc1020_freq_0a;
Message[302]: Register in operand not in bank 0. Ensure that bank bits are correct.
0268 0035 00722 movwf addr_data
Message[306]: Crossing page boundary -- ensure page bits are set.
0269 09F9 00723 call configure_read
026A 05A3 00724 block2
00725
00726 ;------------------------------
00727 ;**** waiting key-on
026B 00728 on_key
026B 0487 00729 bcf portc,dclk
026C 00730 wait_on
026C 0C13 00731 movlw b'00010011'
026D 0127 00732 iorwf portc,f
026E 0206 00733 movf portb,w
026F 0E13 00734 andlw b'00010011'
0270 002C 00735 movwf temp_buf
0271 0C13 00736 movlw b'00010011'
0272 008C 00737 subwf temp_buf,w
0273 0703 00738 skpc
0274 0A6C 00739 goto wait_on
0275 0A28 00740 goto loop
00741
00742 ;*****************************
0276 00743 delay10ms
0276 0C0A 00744 movlw d'10' ; td = (((r5) * 5) + 5) * (r0)
0277 00745 delayx
0277 0037 00746 movwf r0 ; = (200 * 5 + 5) * 10
0278 0CC8 00747 movlw d'200' ; = 10.5ms
0279 0038 00748 movwf r5
027A 0000 00749 nop
027B 0004 00750 clrwdt
Message[305]: Using default destination of 1 (file).
027C 02F8 00751 decfsz r5
027D 0A7A 00752 goto $-3
Message[305]: Using default destination of 1 (file).
027E 02F7 00753 decfsz r0
027F 0A78 00754 goto $-7
0280 0800 00755 retlw 0
00756
00757 ;******************************
00758 ;******************************
00759 ; the subprogram mark out one package
00760 ;------------------------------------------------------------------
00761 ; | 1 |2| 3 | 4 |2| 3 | 4 |2|
00762 ; |nnnnnnn.....|s|iiiiiiii|dddddddd|s|iiiiiiii|dddddddd|s|iiiii....
00763 ;------------------------------------------------------------------
00764 ; include underside content
00765 ; 1. synchronization code skit
00766 ; 2. start bit only
MPASM 03.20.02 Released CC1020.ASM 10-20-2003 9:36:11 PAGE 19
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00767 ; 3. eight bit id code
00768 ; 4. data one byte
00769 ;
00770 ; entrance parameter:
00771 ; data_buf--send data
00772 ;***********************************************************************************
0281 00773 send_package
00774 ;**** get product partnership id
0281 0079 00775 clrf id_cont
00776
00777 ;**** send 10-bit sync. code
0282 0C64 00778 movlw d'100'
0283 0033 00779 movwf bit_cont
0284 00780 _send_syn
0284 0C05 00781 movlw syn_breadth
0285 0032 00782 movwf pul_breadth
0286 09B1 00783 call send_bit
Message[305]: Using default destination of 1 (file).
0287 02F3 00784 decfsz bit_cont
0288 0A84 00785 goto _send_syn
00786
00787 ;----------------------------
0289 0004 00788 clrwdt
028A 0C03 00789 movlw d'3'
028B 0036 00790 movwf bag_cnt ; repeat sends some id and data
028C 00791 _send10
00792 ;**** send start bit
028C 0C11 00793 movlw sta_breadth
028D 0032 00794 movwf pul_breadth
028E 09B1 00795 call send_bit
00796
00797 ;
00798 ;**** send eight id code
028F 0C08 00799 movlw d'8'
0290 0033 00800 movwf bit_cont
0291 021A 00801 movf id_code,w
0292 0035 00802 movwf data_tmp
0293 00803 _send_id
0293 0615 00804 btfsc data_tmp,0
0294 0A97 00805 goto $+3
0295 0C09 00806 movlw zer_breadth
0296 0A98 00807 goto $+2
0297 0C05 00808 movlw one_breadth
0298 0032 00809 movwf pul_breadth
0299 09B1 00810 call send_bit
029A 0335 00811 rrf data_tmp,f
Message[305]: Using default destination of 1 (file).
029B 02F3 00812 decfsz bit_cont
029C 0A93 00813 goto _send_id
00814 ;**** send eight bit data
029D 0C08 00815 movlw d'8'
029E 0033 00816 movwf bit_cont
029F 0214 00817 movf data_buf,w
MPASM 03.20.02 Released CC1020.ASM 10-20-2003 9:36:11 PAGE 20
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
02A0 0035 00818 movwf data_tmp
02A1 00819 _send_dat
02A1 0615 00820 btfsc data_tmp,0
02A2 0AA5 00821 goto $+3
02A3 0C09 00822 movlw zer_breadth
02A4 0AA6 00823 goto $+2
02A5 0C05 00824 movlw one_breadth
02A6 0032 00825 movwf pul_breadth
02A7 09B1 00826 call send_bit
02A8 0335 00827 rrf data_tmp,f
Message[305]: Using default destination of 1 (file).
02A9 02F3 00828 decfsz bit_cont
02AA 0AA1 00829 goto _send_dat
00830 ;
00831 ;**** send stop bit
00832
02AB 0C0D 00833 movlw stp_breadth
02AC 0032 00834 movwf pul_breadth
02AD 09B1 00835 call send_bit
00836
Message[305]: Using default destination of 1 (file).
02AE 02F6 00837 decfsz bag_cnt
02AF 0A8C 00838 goto _send10
02B0 0800 00839 retlw 0
00840
00841 ;***********************************************************************************
00842 ; the subprogram bring one pulse cycle
00843 ;------------------------------------
00844 ; ->| |<---pul_breadth
00845 ; |-------| ..........
00846 ; | | : :
00847 ; | |________: :......
00848 ; ->| |<---pul_breadth
00849 ;---------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -