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

📄 bank_main.c

📁 GPS 与 GSM协议C语言实现源码,为了大家能够更好的理解神秘的导航和手机通讯。
💻 C
字号:
#include <iom128v.h>
#include "board.h"
#include "datatype.h"
#include "processor.h"
#include "cc1000.h" 
#include "cal.h"
#include "timer.h"
static int cnt_mS,cnt_S;
//_________________________________checksum_test___________________________________________
/*void main(void)
    {
	 unsigned char buf[]="GPGMC,013614.000,A,4037.8163,N,10950.7082,E,0.31,47.15,250407,,*3D";
	 unsigned char checksum1=0,checksum2=0,pos=0,i;
	 do
	 {
	  checksum1=checksum1^buf[pos++];
	 }while(buf[pos]!='*');
	 checksum2=((buf[pos+1]&0x0F)<<4)|(buf[pos+2]&0x0F);
	 for(;;)i++;
	
	}



void main(void)
{ unsigned char  i,j;
  BYTE  k;
  DDRC=0xff;

 j=0x30;i=0x20;

  k=i^j;
  PORTC=k;
 }  *//*
void spi_init(void)
{
 SPCR = 0x14; //setup SPI
 SPSR = 0x00; //setup SPI
}*/
//____________________________ATD04725304693;_test________________________________
/*void init_usart(BYTE ubl,BYTE ubh)
{
 UCSR1B = 0x00;                                                                 //disable while setting baud rate
 UCSR1A = 0x20;
 UCSR1C = 0x06;
 UBRR1L =  ubl;                                                           //set baud rate lo
 UBRR1H &= ubh;                                                                 //set baud rate hi  BOUD_RATE 4800
 UCSR1B = 0x08;
}

unsigned char SoftUART_Send(unsigned char data)
{
   while (!CHECK_BIT(UCSR1A,1<<UDRE1));
    UDR0 = data;
   while (!CHECK_BIT(UCSR1A, 1<<TXC1));



    return 0;
}
void main(void)
 {//int i; BYTE buf[]={'A','T','D','0','4','7','2','5','3','0','4','6','9','3',';',0x0D},data;
 //DDRE=0xff;DDRB|=0x40;
 //PORTE|=0x40;PORTB&=0xBF;delay(2000);PORTE&=0xBF;PORTB|=0x40;delay(400);PORTB&=0xBF;PORTE|=0x40;delay(100000000);delay(100000000);delay(100000000);
//
  DDRD|=0xC0;

  DDRB|=0x10; 
 //  init_usart0();
 //for(ubl=0x01;ubl<=0xff;ubl++)
 //for(ubh=0x00;ubh<=0x03;ubh++)
 //{init_usart(ubl,ubh);
 //for(j=0;j<4;j++)
 //{ for(i=0x00;i<=  0xff;i++)

//for(i=0;i<=14;i++)SoftUART_Send(buf[i]);
cc1000_config_wr(TX_MODE);delay(100000000);delay(100000000);delay(100000000);delay(100000000);delay(100000000);delay(100000000);                                                
 // spi_init() ;
 // SET_BIT( SPCR, SPE ) ;
 // CHECK_BIT( SPSR, SPIF ) ;
 }
/*

void main(void)
{

//init_usart0();
DDRE=0xff;DDRB|=0x40;


PORTE|=0x40;PORTB&=0xBF;delay(2000);PORTE&=0xBF;PORTB|=0x40;delay(400);PORTB&=0xBF;PORTE|=0x40;delay(100000000);delay(100000000);delay(100000000);delay(100000000);delay(100000000);
//SFIOR &= 0x40;
//DDRC=0xFF;PORTC=0x00;delay(300);PORTC=0xff;delay(300);PORTC=0x00;delay(300);PORTC=0xff;delay(300);
     //     delay(300);PORTC=0xff;delay(300);PORTC=0x00;delay(300);PORTC=0xff;delay(30000);
//PORTC=0xff;delay(1000);delay(990000);delay(10000000);//PORTC=0x00;}
//for(i=0;i<=10;i++){
//PORTB|=0x40;PORTE|=0x40;delay(300);PORTE&=0xBF;PORTB&=0xBF;delay(600);delay(200);i++;

//}
//while(1){
  //        if(is('$'))
	//	{PORTE|=0x40;delay(200);PORTE&=0xBF;delay(200);PORTE|=0x40;delay(200);delay(10000);}
       // else {PORTE&=0xBF;delay(400);PORTE|=0x40;delay(400);}
		//}

}


//_________________________int0_test______________________________________________________----
/*	
#pragma interrupt_handler int0_isr:iv_INT0
void int0_isr(void)
{
 //external interupt on INT0
}

//___________________________________gps_receiver_test____________________________________
void main(void)
    {
	 GPS gps;int i;
	 init_usart0();
	 DDRC=0x01;
	while(1)
	{ for(i=0;i<=225;i++)
	 {
	 UDR0=i;
	 }
	 }
	 //while (1)gps=pickup_valid_data();//while(1) {if (is('$')){PORTC=0x00;delay(300);PORTC=0xff;delay(300);PORTC=0x00;delay(300);PORTC=0xff;delay(300);PORTC=0x00;delay(300);PORTC=0xff;delay(300);PORTC=0x00;delay(300);PORTC=0xff;delay(300);}}
	
	}

BYTE  start ( void ) 
      {
	   XDIV = 0x80;XDIV=0x7F;                                                   //设置CLK(i/o)
	   TCCR1B = 0x01;
	   if  (( TIMSK &= 0x04)==0x04)return YES;
	   return NO;
	  } 

void  main(void)
      {
	   BYTE timeup ;
	   DDRC  = 0xFF ;
	   while(1)
	   {
	    timeup=start(); if (timeup) { if (PORTC==0x00)PORTC=0xFF;PORTC=0x00;}
	   }
	  }	  
	  void main(void)
	      {
		  
		  DDRE = 0xFF;
		  init_usart0();
		  while(1)
		  {
		  PORTE&=0xBF;delay(400);PORTE|=0x40;delay(400);PORTE&=0xBF;delay(400);PORTE|=0x40;delay(400);PORTE&=0xBF;delay(400);PORTE|=0x40;delay(400);PORTE&=0xBF;delay(400);PORTE|=0x40;delay(400);}
		    
		  } */
//_______________________________________--test_timer0_______100uS_1mS_1S_______________________________
/*
#pragma interrupt_handler timer0_comp_isr:16
void timer0_comp_isr(void)
{ 
   PORTE=0xff;
    //compare occured TCNT0=OCR0
}

void timer0_init(void)
{
 TIMSK = 0x01;
 TCCR0 = 0x00; //stop
 ASSR  = 0x00; //set async mode
 TCNT0 = 0x01; //set count
 OCR0  = 0x7F;
 TCCR0 = 0x41; //start timer
}

#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
{
  cnt_mS++;
  TCNT0 = 0x60 ;
  //reload counter value
}
void main(void)
  {
   DDRE=0xff    ;
   timer0_init();
   PORTE=0x00   ;
   SREG = 0x80  ;
   while(1){ if(cnt_mS==9) {cnt_mS=0;cnt_S++;}
           else if(cnt_S==999&&PORTE==0x00){PORTE=0xFF;cnt_S=0;}
            else if(cnt_S==999&&PORTE==0xFF){PORTE=0x00;cnt_S=0;}
   }
  
  }*/
//_______________________________________--test_timer0_______1uS_______________________________void main(void)
/* void timer0_init(void)
{
 TIMSK = 0x01;
 TCCR0 = 0x00; //stop
 ASSR  = 0x00; //set async mode
 TCNT0 = 0xFE; //set count
 OCR0  = 0x00;
 TCCR0 = 0x01; //start timer
} 
#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
{
  if(PORTE==0x00)PORTE=0xFF;
  else if(PORTE==0xFF)PORTE=0x00;
  TCNT0 = 0xFE;
  //reload counter value
}  
void main(void)  
  
  {
   DDRE=0xff    ;
   timer0_init();
   PORTE=0x00   ;
   SREG = 0x80  ;
   while(1){}   ;
   }
*/
//_________________________CC1000_tansmit_test__________________________________
/*
#pragma interrupt_handler timer0_ovf_isr:17
void timer0_ovf_isr(void)
{
  if(PORTE==0x00){PORTE=0xFF;}
  else if(PORTE==0xFF){PORTE=0x00;}
  TCNT0 = 0xB4;
  //reload counter value
} 
void main(void)  
  
  {
   int i;
   DDRD|=0xC0   ;
   DDRE=0xFF    ;
   DDRB=0xFF    ;
   PORTE=0xFF   ;
   cc1000_config_wr(TX_MODE);delay(300);PORTE=0xFF;delay(300); PORTE=0x00  ;delay(300); PORTE=0xFF   ;delay(300); PORTE=0x00  ;delay(300); PORTE=0xFF   ;delay(300); PORTE=0x00  ;delay(300); PORTE=0xFF   ;delay(300); PORTE=0x00  ;delay(1000);delay(300); PORTE=0x00  ;delay(300); PORTE=0xFF   ;delay(300); PORTE=0x00  ;delay(300); PORTE=0xFF   ;PORTB=0x00;
   timer0_init();
   start_timer();
   while(1){}   ;
 }*/
 void main(void)
      {
	   DDRA=0xFF;DDRE=0xFF;
	   PORTA|=0x20;PORTE=0xFF;
	   delay(1000);
	   PORTA&=0xDF;PORTE=0x00;
	   delay(300);
	   PORTA|=0x20;PORTE=0xFF;while(1);
	  }

⌨️ 快捷键说明

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