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

📄 init_1820_8515.h

📁 这是一个1302时钟程序
💻 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 + -