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

📄 initialize.c

📁 与GPS模块连接
💻 C
字号:
#define Initialize_C 

#include "allheads.h"

/*void timer0_init(void)
{ 
 TCCR0A=0x00;
TCCR0B=0x03;
TCNT0=0x83;
OCR0A=0x00;
OCR0B=0x00;
}*/

void timer0_init(void) 
{     TCCR0B = 0x00; //stop 
         TCNT0  = Txd_Bit_Delay;//0xD0; //set count 
         TCCR0A = 0x00;  
} 
//TIMER2 initialize - prescale:1024
// WGM: Normal
// desired value: 20mSec
// actual value: 19.968mSec (0.2%)
void timer2_init(void)
{
  TCCR2B = 0x00; //stop
 ASSR  = 0x00; //set async mode
 TCNT2 = 0x83; //setup
 OCR2A = 0x7D;
 OCR2B = 0x00;
 TCCR2A = 0x00; 
 TCCR2B = 0x04; //start
}

void initialize(void)
{
// Crystal Oscillator division factor: 1
//#pragma optsize-
asm("cli");//CLI(); 
CLKPR=0x80;
CLKPR=0x00;
//#ifdef _OPTIMIZE_SIZE_
//#pragma optsize+
//#endif

PORTB=0xFF;
DDRB=0xFF;

PORTC=0xF7;
DDRC=0xf7;//ef;//0xF7;

PORTD=0x60;
DDRD=0x9C;
 //TCCR0B = 0x00; //stop
 //TCNT0 = 0x83; //set count
 //TCCR0A = 0x00; 
 //TCCR0B = 0x03; //start time
/*
TCCR0A=0x00;
TCCR0B=0x03;
TCNT0=0x06;
OCR0A=0x00;
OCR0B=0x00;*/
UCSR0B = 0x00; //disable while setting baud rate
 UCSR0A = 0x00;
 UCSR0C = 0x06;
 UBRR0L = 0x67;//33;//0xCF; //set baud rate lo
 UBRR0H = 0x00; //set baud rate hi
 UCSR0B =0x98;// 0x18;//0x90
 
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

 timer0_init();
 timer2_init();
TCCR2B = 0x00; //stop
 ASSR  = 0x00; //set async mode
 TCNT2 = 0x83; //setup
 OCR2A = 0x7D;
 OCR2B = 0x00;
 TCCR2A = 0x00; 
 TCCR2B = 0x04; //start

EICRA=0x00;
EIMSK=0x00;
PCICR=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x00;
// Timer/Counter 1 Interrupt(s) initialization
TIMSK1=0x00;
// Timer/Counter 2 Interrupt(s) initialization
//TIMSK2=0x00;
TIMSK2 = 0x01; 
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
ADCSRB=0x00;
// Global enable interrupts
//#asm("sei")
asm("sei");// SEI(); 
}

void delay_ms(uchar i) {
	uchar a, b;
	for (a = 1; a < i; a++) {
		for (b = 1; b; b++) {;}
		}
}

void Delay(uint _Delay){
	while(--_Delay){;}
}

void DelayLong(uint value){
uint i,j;
for(i=0;i<value;i++){
      for(j=0;j<255;j++){;}
      }
}

⌨️ 快捷键说明

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