?? init_1820_8515.h
字號:
#define CPU_F 4//MHZ
#include "ioavr.h" //和單片機類型相對應的頭文件,選擇Atmega8做實驗;
#include "inavr.h"
#define uchar unsigned char
#define uint unsigned int
long tem;
uchar count_ms;
uchar KEY;
uchar count;
uchar hour,min,second;
__flash uchar discode[]=//不帶小數點
{
/*0,1,2,3,4,5,6,7,8,9,-,C,*/
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xC6,
};
__flash uchar discode_dot[]=//帶小數點
{
/*0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,*/
0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X18,
};
#define SEI_DP PORTB |= (1<<PB3);DDRB |= (1<<PB3)
#define CLR_DP PORTB &= ~(1<<PB3);DDRB |= (1<<PB3)
#define IN_DP DDRB &= ~(1<<PB3)
#define OUT_DP DDRB |= (1<<PB3)
#define CHECK_DP (PINB & (1<<PB3))
#define SEI() __enable_interrupt()
#define CLI() __disable_interrupt()
#define WDR() __watchdog_reset()
#define NOP() __no_operation()
#define EEPROMwrite(addr,value) __EEPUT(addr,value)
#define EEPROMread(ADR) *((unsigned char __eeprom *)ADR)
void Init_port(void)
{
DDRA = 0xff;
PORTA = 0xff;
DDRB =0xff;
PORTB = 0x00;
DDRC = 0xff;
PORTC = 0x0f;
DDRD = 0xff;
PORTD = 0x00;
}
void Init_timer0(void)
{
TCNT0 = 0x06;//4MS
TCCR0 = 0x03;//64分頻
}
#pragma vector=TIMER0_OVF_vect
__interrupt void timer0_ovf_isr(void)
{
TCNT0 = 0x06;//4MS延時
count++;
if((count_ms)&&(KEY==1))
{
count_ms--;
}
if(count==250)//1S鐘
{
second++;
count=0;
}
}
void Init_devices(void)
{
CLI();
Init_port();
Init_timer0();
// MCUCR = 0x00; //mcu狀態寄存器
TIMSK = 0x02; //timer 0 interrupt sources T/C0溢出中斷允許
SEI();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -