亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cc1000main.c

?? CC1000為RF芯片
?? C
?? 第 1 頁 / 共 2 頁
字號:
//===========================================================
//= 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<<8 | (unsigned int)TMR1L;
    TMR1H = 0;
    TMR1L = 0;
    INTF  = NO;
    
    if ((b_UART==YES && b_Tstbase==NO) || (b_Tstbase==YES && b_IsTx==NO))
    {
		if (i_clock == HIGH) {OPTION = 0B00001111;}
		else {OPTION = 0B01001111;}

		if (b_RxGo == YES)
		{
		    if (Tmr1b<1300 && Tmr1b>250)
		    {
		        if (i_clock == HIGH)
		        {
		            if (Tmr1bb > 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 >= 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 > 3000 && Tmr1b < 5000) {b_RxGo=YES;BitCtr=0;} 
			        if (++PreCtr > 8) {b_PreFound=NO;PreCtr=0;b_UnlockAvg=YES;}
			    }
			}
			else
			{
			    if (Tmr1b > 250 && Tmr1b < 550) 
			    {
			        if (++PreCtr > 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 >= 32) {b_Txtrue=YES;} 
                    }
                    else
                    {
                        if (b_Headov==NO)
                        {
                            io_data = LOW;
                            if (++TransCtr>(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 && Rxbuf1!=0xAA && PreCtr==0)
                    {
                        PreCtr++;
                    }
                    
                    if (PreCtr > 0) 
                    {
                        PreCtr++;
                    }
                    
                    if (PreCtr > 10) 
                    {
                        b_PreFound  = NO;
                        b_UnlockAvg = YES;
                    }
                }
                else
                {
                    if (Rxbuf1==0x55 || Rxbuf1==0xAA)
                    {
                        if (++PreCtr >= 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 && 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 && b_Tstbase==NO) {Txbuf2=0x55;Txbuf4=0x55;}
            
            o_led1 = LOW;
            if (b_UART==YES && b_Tstbase==NO)
            {
                Transmit();
            }
            else
            {
                b_IsTx = YES;
                b_TxGo = YES;

                TransCtr = 0;
                io_data  = LOW;
                b_Txtrue = NO;
                b_Headov = NO;

				TRISB &= 0B11111101;        
				OPTION = 0B00001111; 
                GIE    = ON;
                while(b_TxGo==YES);  
                TRISB |= 0B00000010;        
                GIE    = OFF;
                OPTION = 0B01001111; 
            }
            o_led1 = HIGH;
            break;
            /*
            Dly1000(250);
            Dly1000(250);
            
            if ((PORTB&0xF0) == 0xF0) 
            {
                Dly1000(1);
                if ((PORTB&0xF0) == 0xF0) break;
            }
            */
        }
        
        if (b_UART==YES && b_Tstbase==YES) WriteToCC1000Register(CC1000_MODEM0,0x2B); 
        SetupCC1000RX(RXDL); 
        b_IsTx      = NO;
        b_RxGo      = NO;
        b_PreFound  = NO;
        PreCtr      = 0;
        Rxbuf1      = 0;    
        b_UnlockAvg = YES;  
    }
}


void Transmit(void)
{
	TRISB &= 0B11111101;  			
    
    io_data = LOW;
    for (Temp1=11*2+1+1 ; ; ) 	
    {
		notbit(PORTB,1); 		
        CLRWDT();
        if (Temp1==1) {Dly1000(3);Dly5(118);}
        Dly5(77);
        if(--Temp1==0) break;
    }
    notbit(PORTB,1); 			
	NOP();
    for (Temp1=64; ; ) 
    {
		Dly5(75);
		NOP();NOP();NOP();
		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");
        if(!CARRY) {Dly5(79);}
		notbit(PORTB,1); 		
        if(CARRY) {Dly5(79);}
		Dly5(77);NOP();NOP();NOP();NOP();
		notbit(PORTB,1); 		
        if(--Temp1==0) break;
    }
    Dly5(80);
    io_data = LOW;
    Dly5(80);
    TRISB |= 0B00000010;  				
}


//===========================================================
//=                                                         =
//===========================================================
void Readkey(void)
{
	#asm    
		movlw 0xF0
		andwf _PORTB,W
		xorwf _Kbuf,W
		xorwf _Kbuf,F   ;PORTB&0xF0 -> Kbuf
		movwf _Temp1
		movf  _Temp1,F
	#endasm
	if (ZERO == NO) {Kctr=0;return;}	
	
	if (++Kctr > 5)
	{
	    Kctr = 0;
	    if (Kbuf == 0xF0)
	    {
	        b_Khold = NO;
	    }
	    else if (b_Khold == NO)
	    {
	        b_Khold = YES;
	        if (Kbuf == 0x70)
	        {
	            b_Kvalid = YES;
	            Txdata   = 6;
	        }
	        else if (Kbuf == 0xB0)
	        {
	            b_Kvalid = YES;
	            Txdata   = 7;
	        }
	        else if (Kbuf == 0xD0)
	        {
	            b_Kvalid = YES;
	            Txdata   = 8;
	        }
	        else if (Kbuf == 0xE0)
	        {
	            b_Kvalid = YES;
	            Txdata   = 9;
	        }
	    }
	}
}


//===========================================================
//=                                                         =
//===========================================================
void SysInit(void)
{
    CLRWDT();
    PORTA  = 0b00111110; 
    TRISA  = 0b11000000; 
	PORTB  = 0b00000000; 
    TRISB  = 0b11111111; 
    PORTC  = 0b11111111; 
    TRISC  = 0b00000000; 
    OPTION = 0B01001111; 
    T1CON  = 0B00000001;
    CCPR1L  = 0;
    CCPR1H  = 0;			 
    CCP1CON = 0b00000000;    
    TMR2  	= 0;
    T2CON 	= 0b01111101;  
    PR2   	= 124; 		   
	ADCON0  = 0b00000000;  
	ADCON1  = 0b00000111;  
    PIR1   = 0; 
    PIE1   = 0;
    INTCON = 0B01010000;
    while(1) 
    {
	#asm
	    movlw 0x0C
	    andwf _PORTB,W
	    xorwf _Optbuf,W
	    xorwf _Optbuf,F ;3 2 1 0
	    movwf _Temp1
	    movf  _Temp1,F
	#endasm
	
	    if (ZERO == NO)
	    {
	        Optctr = 0;
	    }
	    else

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品在线视频观看| 久久国产尿小便嘘嘘| 亚洲国产精品传媒在线观看| 精品国产乱码久久久久久图片| 欧美性色综合网| 欧美日韩黄色一区二区| 555www色欧美视频| 日韩一区二区电影在线| 久久嫩草精品久久久精品| 久久精品欧美日韩精品| 日本一区二区高清| 亚洲欧美综合在线精品| 亚洲精品中文在线观看| 日韩激情中文字幕| 国产自产高清不卡| 岛国一区二区在线观看| 色婷婷亚洲综合| 欧美蜜桃一区二区三区| 久久尤物电影视频在线观看| 国产精品污污网站在线观看| 亚洲综合区在线| 日韩在线观看一区二区| 国产美女精品人人做人人爽| 99久免费精品视频在线观看 | 国产精品久久久久久久久免费相片 | 日本道在线观看一区二区| 在线观看亚洲精品视频| 555www色欧美视频| 国产欧美日韩不卡| 亚洲国产精品自拍| 国产大片一区二区| 在线观看亚洲专区| 久久免费看少妇高潮| 一区二区三区美女| 国产一区免费电影| 欧美日韩中文一区| 欧美经典三级视频一区二区三区| 亚洲综合色视频| 国v精品久久久网| 欧美精品电影在线播放| 国产精品久久夜| 捆绑调教一区二区三区| 欧美性受xxxx黑人xyx性爽| 久久久久国产精品厨房| 日韩av网站免费在线| 99久久久国产精品| 国产亚洲欧美激情| 秋霞国产午夜精品免费视频| 色欧美片视频在线观看在线视频| 欧美刺激脚交jootjob| 亚洲精品免费在线| 不卡的av电影| 久久久久久99精品| 蜜臀av亚洲一区中文字幕| 欧美亚洲一区二区在线观看| 久久久精品tv| 狠狠色丁香婷婷综合| 欧美一区二区三区婷婷月色| 亚洲一区二区三区不卡国产欧美| 国产91在线观看| 久久品道一品道久久精品| 青娱乐精品在线视频| 欧美人成免费网站| 一区二区三区成人在线视频| 99这里都是精品| 国产精品久久久久久久久久免费看| 狠狠色狠狠色综合日日91app| 在线不卡一区二区| 午夜精品久久久久久久99樱桃| 日本韩国欧美国产| 亚洲另类在线制服丝袜| 99国产精品99久久久久久| 国产婷婷一区二区| 成人丝袜18视频在线观看| 国产亚洲精品aa午夜观看| 国产精品一区二区在线观看不卡| 欧美v日韩v国产v| 国产在线视频一区二区三区| 精品va天堂亚洲国产| 国产原创一区二区三区| 国产亚洲综合性久久久影院| 国产69精品久久久久毛片| 欧美国产综合色视频| 99国产精品国产精品毛片| 亚洲情趣在线观看| 欧美日韩激情在线| 久久精品国产在热久久| 久久精品一区蜜桃臀影院| 成人开心网精品视频| 国产精品福利一区二区三区| 色美美综合视频| 五月婷婷激情综合| 精品国产自在久精品国产| 国产尤物一区二区在线| 国产亚洲精品精华液| 色悠久久久久综合欧美99| 亚洲动漫第一页| 26uuu国产日韩综合| www.成人在线| 三级欧美韩日大片在线看| 精品成人在线观看| 99精品在线观看视频| 日韩电影网1区2区| 国产色91在线| 欧美顶级少妇做爰| 国产成人在线电影| 午夜不卡在线视频| 国产欧美久久久精品影院| 欧美午夜不卡在线观看免费| 久久69国产一区二区蜜臀| 中文一区二区在线观看 | 天天影视色香欲综合网老头| 久久综合久久综合久久| 色素色在线综合| 久久99久久99精品免视看婷婷| 中文字幕在线一区免费| 欧美一级黄色片| 一本久久a久久精品亚洲| 极品尤物av久久免费看| 一区二区久久久久| 国产精品视频第一区| 欧美一区二区国产| 在线观看亚洲专区| 成人毛片在线观看| 国精产品一区一区三区mba桃花| 亚洲精选视频免费看| 国产欧美精品一区二区色综合朱莉 | 一区二区三区在线视频观看| 精品久久久久av影院 | 日韩欧美一区在线| 99久久99久久精品免费观看 | 制服丝袜亚洲精品中文字幕| 国产成人aaa| 日本美女一区二区| 亚洲国产cao| 一区二区三区免费看视频| 国产精品国产三级国产三级人妇| 精品国产污污免费网站入口 | 黄色资源网久久资源365| 婷婷成人激情在线网| 亚洲精品日韩专区silk| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日韩欧美在线观看一区二区三区| 91碰在线视频| 91网页版在线| voyeur盗摄精品| 不卡在线视频中文字幕| 国产成人亚洲综合a∨婷婷图片| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩美女一区二区| 91国内精品野花午夜精品| 99在线精品视频| 97精品久久久午夜一区二区三区 | 国产精品久久久久国产精品日日| 国产视频在线观看一区二区三区| 精品国产免费久久| 久久人人超碰精品| 国产精品视频第一区| 中文字幕一区二区5566日韩| 国产精品久久久久精k8| 亚洲欧美一区二区三区极速播放 | 欧美精品在线观看播放| 欧美日韩电影一区| 制服丝袜激情欧洲亚洲| 26uuu亚洲婷婷狠狠天堂| 精品盗摄一区二区三区| 中文天堂在线一区| 亚洲三级在线看| 午夜精品久久久| 精品一区二区综合| 国产999精品久久久久久| 91蜜桃婷婷狠狠久久综合9色| 色88888久久久久久影院野外| 欧美日韩免费一区二区三区 | 日韩高清在线不卡| 国产主播一区二区三区| 99国产精品99久久久久久| 欧美三级视频在线观看| 日韩欧美的一区| 中文字幕亚洲一区二区av在线| 一区二区三区丝袜| 麻豆国产欧美日韩综合精品二区 | 欧美伊人久久久久久午夜久久久久| 欧美日韩激情在线| 国产喷白浆一区二区三区| 亚洲国产婷婷综合在线精品| 精品中文字幕一区二区| 99re8在线精品视频免费播放| 91麻豆精品国产自产在线观看一区 | 精品视频1区2区| 久久久99精品免费观看不卡| 亚洲免费视频中文字幕| 美女视频黄久久| 色婷婷一区二区三区四区| 精品福利av导航| 亚洲综合在线观看视频| 国产+成+人+亚洲欧洲自线| 3atv在线一区二区三区| 国产精品第一页第二页第三页| 免费人成网站在线观看欧美高清|