⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cc1000_rar cc1000main_c.htm

📁 asm source code asm source code asm source code asm source code
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0079)http://read.pudn.com//downloads37/sourcecode/embed/124937/??/CC1000Main.c__.htm -->
<HTML><HEAD><TITLE>CC1000.rar CC1000Main.c</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"><LINK 
href="CC1000_rar CC1000Main_c_files/read_style.css" type=text/css 
rel=stylesheet>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>
<P><A href="http://www.pudn.com/">http://www.pudn.com/</A> &gt; <A 
href="http://www.pudn.com/downloads37/sourcecode/embed/detail124937.html">CC1000.rar</A> 
&gt; CC1000Main.c</P><!-- saved from http://www.pudn.com -->
<SCRIPT src="CC1000_rar CC1000Main_c_files/gg_read1.js"></SCRIPT>
<BR><PRE class=c name="code">//=========================================================== 
//= CC1000 Demo board Hand-set 								= 
//= MCU: PIC16F72											= 
//= Ver: 1.0												= 
//= Designed by: Figo										= 
//= Start Date:  2005-1-12									= 
//=---------------------------------------------------------= 
//= Revision History										= 
//= V1.0: Orginal Version                                   = 
//=========================================================== 
#include <PIC.H> 
#include "CC1000Main.h" 
 
//=========================================================== 
void main(void) 
{ 
	SysInit(); 
    b_RxGo      = NO; 
    b_PreFound  = NO; 
    PreCtr      = 0; 
    Rxbuf1      = 0; 
    b_UnlockAvg = YES; 
    GIE         = ON; 
	while(1) 
	{ 
        if (b_UnlockAvg == YES)  
        { 
            b_UnlockAvg = NO; 
            GIE         = NO; 
            AverageFreeRunCC1000(); 
            INTF        = NO; 
            GIE         = ON; 
        } 
     
        if (b_LockAvg == YES)  
        { 
            b_LockAvg = NO; 
            GIE       = NO; 
            AverageManualLockCC1000(); 
            INTF      = NO; 
            GIE       = ON; 
        } 
       
	    if (TMR2IF == YES) 
	    { 
	        TMR2IF = NO; 
	        Readkey(); 
	        Keyproc(); 
	        if (FlashCtr!=0) 
	        { 
	            o_led2 = LOW; 
	            FlashCtr--; 
	        } 
	        else 
	        { 
	            o_led2 = HIGH; 
	        } 
	    } 
    } 
} 
 
 
//=========================================================== 
//=                                                         = 
//=========================================================== 
static void interrupt int_isr(void) 
{ 
    Tmr1b = (unsigned int)TMR1H&lt;&lt;8 | (unsigned int)TMR1L; 
    TMR1H = 0; 
    TMR1L = 0; 
    INTF  = NO; 
     
    if ((b_UART==YES &amp;&amp; b_Tstbase==NO) || (b_Tstbase==YES &amp;&amp; b_IsTx==NO)) 
    { 
		if (i_clock == HIGH) {OPTION = 0B00001111;} 
		else {OPTION = 0B01001111;} 
 
		if (b_RxGo == YES) 
		{ 
		    if (Tmr1b&lt;1300 &amp;&amp; Tmr1b&gt;250) 
		    { 
		        if (i_clock == HIGH) 
		        { 
		            if (Tmr1bb &gt; Tmr1b) CARRY=0; 
		            else CARRY=1; 
		            asm("rlf _Rxbuf8,F");asm("rlf _Rxbuf7,F");asm("rlf _Rxbuf6,F");asm("rlf _Rxbuf5,F"); 
		            asm("rlf _Rxbuf4,F");asm("rlf _Rxbuf3,F");asm("rlf _Rxbuf2,F");asm("rlf _Rxbuf1,F"); 
		            if (++BitCtr &gt;= 64) 
		            { 
		                if ((Rxbuf1^Rxbuf2^Rxbuf3^Rxbuf4^Rxbuf5^Rxbuf6^Rxbuf7^Rxbuf8) == 0)  
		                { 
		                    if (!tstbit(Rxbuf7,7)) {b_Answer=YES;} 
		                    clrbit(Rxbuf7,7); 
		                    FlashCtr=25;  
		                    PORTC=Digit09[Rxbuf7]; 
		                } 
		                b_RxGo=NO;b_PreFound=NO;PreCtr=0;b_UnlockAvg=YES; 
		            } 
		        } 
		        Tmr1bb = Tmr1b; 
		    } 
		    else {b_RxGo=NO;b_PreFound=NO;PreCtr=0;b_UnlockAvg=YES;} 
		} 
		else 
		{	 
			if (b_PreFound == YES) 
			{ 
			    if (i_clock == HIGH)  
			    { 
			        if (Tmr1b &gt; 3000 &amp;&amp; Tmr1b &lt; 5000) {b_RxGo=YES;BitCtr=0;}  
			        if (++PreCtr &gt; 8) {b_PreFound=NO;PreCtr=0;b_UnlockAvg=YES;} 
			    } 
			} 
			else 
			{ 
			    if (Tmr1b &gt; 250 &amp;&amp; Tmr1b &lt; 550)  
			    { 
			        if (++PreCtr &gt; 11) {b_PreFound=YES;b_LockAvg=YES;PreCtr=0;}  
			    } 
			    else PreCtr = 0; 
			} 
		} 
	} 
	else 
    { 
        if (b_IsTx == YES)  
        { 
            if (b_TxGo == YES) 
            { 
            	if (b_Tstbase==NO) 
            	{ 
	                asm("rlf _Txbuf8,F"); 
    	    		asm("rlf _Txbuf7,F"); 
			        asm("rlf _Txbuf6,F"); 
        			asm("rlf _Txbuf5,F"); 
			        asm("rlf _Txbuf4,F"); 
    	    		asm("rlf _Txbuf3,F"); 
			        asm("rlf _Txbuf2,F"); 
        			asm("rlf _Txbuf1,F"); 
                	io_data = CARRY; 
                	if (--BitCtr == 0) b_TxGo = NO; 
                } 
                else 
                { 
                    if (b_Txtrue==NO) 
                    { 
                        notbit(PORTB,1); 
                        if (++TransCtr &gt;= 32) {b_Txtrue=YES;}  
                    } 
                    else 
                    { 
                        if (b_Headov==NO) 
                        { 
                            io_data = LOW; 
                            if (++TransCtr&gt;(32+10)) {b_Headov=YES; TransCtr=0;} 
                        } 
                        else 
                        { 
                			if (++TransCtr == 1) io_data = HIGH; 
                			else if (TransCtr == 2) 
                			{ 
                    		    asm("rlf _Txbuf8,F"); 
        	    			    asm("rlf _Txbuf7,F"); 
		    	    		    asm("rlf _Txbuf6,F"); 
        	    			    asm("rlf _Txbuf5,F"); 
			        		    asm("rlf _Txbuf4,F"); 
    	        				asm("rlf _Txbuf3,F"); 
		    	    		    asm("rlf _Txbuf2,F"); 
            				    asm("rlf _Txbuf1,F"); 
                    		    io_data = !CARRY; 
                			} 
                			else 
                			{ 
                			    TransCtr = 0; 
                    		    io_data  = LOW; 
                    		    if (--BitCtr == 0) b_TxGo = NO; 
                    		} 
                        } 
                    } 
                } 
            } 
        } 
        else  
        { 
            if (b_RxGo == YES)  
            { 
                CARRY = io_data; 
                asm("rlf _Rxbuf1,F"); 
                if (++BitCtr == 8) 
                { 
                    BitCtr = 0; 
                    if (b_IdOk == YES) 
                    { 
                        if (b_Checksum == YES) 
                        { 
                            if ((Rxbuf2^Rxbuf1)==0xFF) 
                            { 
                                if (!tstbit(Rxbuf2,7)) {b_Answer=YES;} 
                                clrbit(Rxbuf2,7); 
                            	FlashCtr=25; 
                            	PORTC=Digit09[Rxbuf2]; 
                            }  
                            b_RxGo      = NO; 
                            b_PreFound  = NO; 
                            PreCtr      = 0; 
                            Rxbuf1      = 0;  
                            b_IdOk      = NO; 
                            b_UnlockAvg = YES; 
                        } 
                        else 
                        { 
                            b_Checksum = YES; 
                            Rxbuf2     = Rxbuf1; 
                        } 
                    } 
                    else  
                    { 
                        if (Rxbuf1 == UI2) 
                        { 
                            b_IdOk     = YES; 
                            b_Checksum = NO; 
                        } 
                        else 
                        { 
                            b_RxGo      = NO; 
                            b_PreFound  = NO; 
                            PreCtr      = 0; 
                            Rxbuf1      = 0;  
                            b_IdOk      = NO; 
                            b_UnlockAvg = YES; 
                        } 
                    } 
                } 
            } 
            else  
            { 
                CARRY = io_data; 
                asm("rlf _Rxbuf1,F"); 
                if (b_PreFound == YES) 
                { 
                    if (Rxbuf1 == UI1) 
                    { 
                        b_RxGo = YES; 
                        BitCtr = 0; 
                    } 
                    else if (Rxbuf1!=0x55 &amp;&amp; Rxbuf1!=0xAA &amp;&amp; PreCtr==0) 
                    { 
                        PreCtr++; 
                    } 
                     
                    if (PreCtr &gt; 0)  
                    { 
                        PreCtr++; 
                    } 
                     
                    if (PreCtr &gt; 10)  
                    { 
                        b_PreFound  = NO; 
                        b_UnlockAvg = YES; 
                    } 
                } 
                else 
                { 
                    if (Rxbuf1==0x55 || Rxbuf1==0xAA) 
                    { 
                        if (++PreCtr &gt;= 6)  
                        { 
                            b_PreFound = YES; 
                            b_LockAvg  = YES; 
                            PreCtr     = 0;  
                        } 
                    } 
                    else 
                    { 
                        PreCtr = 0; 
                    } 
                } 
            } 
        } 
    } 
} 
 
//=========================================================== 
//=                                                         = 
//=========================================================== 
void Keyproc(void) 
{ 
    if (b_Kvalid == YES || b_Answer == YES) 
    { 
        b_Kvalid = NO; 
        GIE      = OFF;       
		if (b_UART==YES &amp;&amp; b_Tstbase==YES) WriteToCC1000Register(CC1000_MODEM0,0x37);  
        SetupCC1000TX(TXDL);  
        Dly1000(1);           
        while(1) 
        { 
            BitCtr = 64+1; 
            Txbuf1 = 0xAA; 
            Txbuf2 = 0xAA; 
            Txbuf3 = 0xAA; 
            Txbuf4 = 0xAA; 
            Txbuf5 = UI1; 
            Txbuf6 = UI2; 
            Txbuf7 = Txdata; 
            if (b_Answer == YES)  
            { 
                if (b_UART == YES) 
                { 
                    Txbuf7 = Rxbuf7; 
                } 
                else 
                { 
                    Txbuf7 = Rxbuf2; 
                } 
                setbit(Txbuf7,7);  
                b_Answer = NO; 
            } 
            else PORTC=0xFF;   
            Txbuf8 = ~Txbuf7; 
        	if (b_UART==YES &amp;&amp; b_Tstbase==NO) {Txbuf2=0x55;Txbuf4=0x55;} 
             
            o_led1 = LOW; 
            if (b_UART==YES &amp;&amp; b_Tstbase==NO) 
            { 
                Transmit(); 
            } 
            else 
            { 
                b_IsTx = YES; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -