基于AVR单片机的便携式醉酒驾驶仪器设计——包含原理图和完整代码 联系客服

发布时间 : 星期三 文章基于AVR单片机的便携式醉酒驾驶仪器设计——包含原理图和完整代码更新完毕开始阅读5a5fe11fc281e53a5802ff14

else

density=((-0.3)*b+0.2)*2000; //density=((-0.16)*b+0.125)*2000; density_dis_buff(density); }

#pragma interrupt_handler time0_comp_isr:iv_TIM0_COMP void time0_comp_isr(void) {

time_2ms_ok=1; }

void init_devices(void) //系统的初始化 {

//stop errant interrupts until set up CLI(); //关中断 port_init(); adc_init(); MCUCR = 0x00; GICR = 0x00;

TIMSK = 0x02; //timer interrupt sources SEI(); //开中断

//all peripherals are now initialized }

void process()//数据的显示和处理 {

unsigned char i,a,b,c; posit=0;

for(i=0;i<4;i++){

PORTD = position[3-posit];

PORTB = led7[dis_buff[posit]];//循环在数码管实现动态显示

posit++;

if (dis_buff[2]>=8||dis_buff[3]>=1)//当酒精浓度大于800ml/L的时候,蜂鸣器报警,led发光报警。

PORTA=0x20; else

PORTA=0x00; for(a=0;a<2;a++) for(b=0;b<4;b++)

for(c=0;c<220;c++);//实现延时功能,延时为1-10ms即可以让数码管动态显示 }

}

17

void main(void) {

init_devices(); TCCR0=0x0B; TCNT0=0x00; OCR0=0xE6; SREG|=0X80; while(1) {

//if(time_2ms_ok){ process(); // time_2ms_ok=0; //} } }

附录C

实物图片:

18