基于单片机酒精超标自动报警器内容摘要:

void density_dis_buff() { unsigned char i。 for(i=0。 i=3。 i++) { dis_buff[i]=density%10。 density/=10。 } } pragma interrupt_handler adc_isr:iv_ADC void adc_isr(void) { //conversion plete, read value (int) using... value=ADCL。 //Read 8 low bits first (important) value|=(int)ADCH8。 //read 2 high bits and shift into top byte density=((unsigned long int)value*10000/1024)^3/13。 density_dis_buff(density)。 } pragma interrupt_handler time0_p_isr:iv_TIM0_COMP void time0_p_isr(void) { time_2ms_ok=1。 } void init_devices(void) { //stop errant interrupts until set up CLI()。 //disable all interrupts port_init()。 adc_init()。 MCUCR = 0x00。 GICR = 0x00。 TIMSK = 0x02。 //timer interrupt sources SEI()。 //reenable interrupts //all peripherals are now initialized } void sound() { PORTD |= 0x0F。 PORTB = led_7[dis_buff[posit]]。 if (posit==3) PORTB |= 0x80。 PORTD |= position[posit]。 if (++posit =4 ) posit = 0。 if (dis_buff[3]=3) PORTA|=0x20。 else PORTA|=0x00。 //ADCSR=0x00。 } void main(void) { init_devices()。 TCCR0=0x0B。 TCNT0=0x00。 OCR0=0xE6。 while(1) { if(time_2ms_ok) sound()。 time_2ms_ok=0。 } } 四 、 测试过程与测试数据 调试分析包括硬件调试分析和软件调试分析及软、硬件联调。 由于硬件调试分析和软件调试分析是独立进行的,所以可以先调硬件再调软件。 在 调试中找出错误、缺陷,判断各种故障,并 做出 软硬件的修改 , 直至 设计作品能够正确体现其功能。 硬件调试 硬件调试包括传感器电路、显示电路、单片机外围电路、 报警电路等。 下面主要介绍传感器电路、报警电路的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。