第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/23 12:31:38 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

基于AVR单片机的便携式醉酒驾驶仪器设计——包含原理图和完整代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3iy1t18m0x8xzko047is_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top