📄 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 + -