util.c

来自「This soucse code is for CodevisionAVR a」· C语言 代码 · 共 109 行

C
109
字号
//八位选择24、12、8、6、4、2、1小时,定时回传数据

#include           <stdio.h>
#include           "util.h"
#include           <delay.h>
#include           <mega8.h>
#include           "time.h"

void hardware_initialization(void)
{
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTD=0x00;
DDRD=0x00;


// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
   TIMSK=0x01;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

my_hardware_initialization();
}

void my_hardware_initialization(void)
{  
    DDRB = PORTB_IO_VAL;   
    DDRD = PORTC_IO_VAL;
    PORTC = 0xFF;
    DDRC = PORTC_IO_VAL;  
    PORTC = 0xFF;
    	

    _timer0_init();
    _timer1_init();
    _timer2_init();    
    uart0_init();
    //eint_init();
    clear_time();
//    power_led_on(1);	//the power LED is on                                  
       	    PORT_LED = 0;
       	    delay_ms(50);	
            PORT_LED = 1;
            delay_ms(50);
}
/******************************************************************************************
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Low level
// INT1: Off
// INT2: Off
// INT3: Off
// INT4: Off
// INT5: Off
// INT6: Off
// INT7: Off
*******************************************************************************************/
void eint_init(void)
{
GICR|=0x40;
MCUCR=0x00;
GIFR=0x40;
}	






void power_led_on(unsigned char num)
{
	
       unsigned char i;
       for(i=0;i<num;i++)
       {
       	    PORT_LED = 0;
       	    delay_ms(50);	
            PORT_LED = 1;
            delay_ms(50);
       }      
} 


     

⌨️ 快捷键说明

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