📄 blance.h
字号:
#include <iom32v.h>
#include "linecheck.h"
unsigned int flag=1;
unsigned int temp;
unsigned int T=1000;
unsigned int i=0;
/*延时子程序*/
/*void delay_ms(int time)
{
int i;
for(;time>0;time--)
for(i=0;i<1000;i++);
}*/
void delay(unsigned int hh )
{
int i;
for(i=0;i<hh;i++)
{
;
}
}
端口初始化*/
void port_init()
{
PORTA = 0XFF;
DDRA = 0x00;//PA 为输入口
PORTB = 0x00;
DDRB = 0xff;//PB 为输出口
PORTC = 0Xff;
DDRC = 0x00;//PC 为输入口
DDRD=0XF7;
PORTD=0X08;
}
/*中断初始化*/
void INT1_init()
{
SREG=0x80; /*使能全局中断*/
//MCUCR&=~((1<<ISC01)|(1<<ISC00)); /*低电平触发中断*/
MCUCR=0x0C;
GICR=(1<<INT1); /*使能外部中断1请求*/
}
//TIMER0 initialize - prescale:64
// WGM: Normal
// desired value: Hz
// actual value: Out of range
void timer0_init(void)
{
TCCR0 = 0x00; //stop
TCNT0 = 0x00 /*INVALID SETTING*/; //set count
OCR0 = 0x00 /*INVALID SETTING*/; //set compare
TCCR0 = 0x02; //start timer
}
/*中断服务程序*/
#pragma interrupt_handler int1:4
void int1()
{
/*unsigned char i;
for(i=0;i<8;i--) //去
{
//PORTB=~(1<<i);
PORTB=0x00;
delay_ms(5);
}*/
if(flag)
{
timer0_init();
temp=TCNT0;
MCUCR=0x08;
flag=0;
//delay_ms(80);
}
else
{
TCCR0 = 0x00;
temp=TCNT0-temp;
MCUCR=0x0c;
flag=1;
// delay_ms(80);
// INT1_init();
// SREG=0x00;
//GICR=0x00;
}
}
/*流水灯显示*/
/*void display()
{
unsigned char i;
if(temp!=0) //去
{
//PORTB=~(1<<i);
PORTB=temp;
//delay_ms(10);
}
}*/
void blance(void)
{
if(temp<0x9f)
BACK(600) ;
if(temp>0xa0)
Linecheck_GO();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -