基于单片机酒精超标自动报警器内容摘要:
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。 } } 四 、 测试过程与测试数据 调试分析包括硬件调试分析和软件调试分析及软、硬件联调。 由于硬件调试分析和软件调试分析是独立进行的,所以可以先调硬件再调软件。 在 调试中找出错误、缺陷,判断各种故障,并 做出 软硬件的修改 , 直至 设计作品能够正确体现其功能。 硬件调试 硬件调试包括传感器电路、显示电路、单片机外围电路、 报警电路等。 下面主要介绍传感器电路、报警电路的。基于单片机酒精超标自动报警器
相关推荐
桃和杏的压伤情 况。 刘有压伤和没有压协的表面进行光谱反刺特性实验 ,井选择合适的波。 然后 ,:采集 住前加以这些渡艮为中心波滤光片的光谱幽像。 结聚表明 :检测水果表面址仂最 采集到的剀像的比率幽像 ,检洲的准确率约为 %。 有效的方法是在两个波 】年 ,.【叫等人实时采集了挂在移动吊钩上的小鸡的光谱图像。 的健 康小 鸡图像的平均强度比不健康的要高 ,而用的傅立叶光谱像素强度时 ,健康小
日本学者大津展之于 1979 年提出,又称大津算法 (OTSU)。 大津算法 (OTSU)是一种全局阈值选取法,它在判别式分析最小二乘原理的基础上推导得出,因其算法简单,所以是被广泛使用的图像分割算法。 在图像中,方差是灰度分布是否均匀的度量之一。 方差越大,说明图像中的背景和目标的差别就越大。 当一些背景区域错误划分为目标或者一些目标区域错误划成背景时,背景和 目标的差别就会变小。
pha_eraser, float aspect_ratio, float angle, float lock_alpha, float colorize )。 get_color的功能为获取当前笔触在画布区域中颜色的均值,它也被定义为函数指针,函数原型如下:void mypaint_surface_get_color(MyPaintSurface *self, float x, float
发出的超声波 (假设传播介质为气体 ),经气体介 质的传播到接收器的时间即往返时间。 往返时间与气体介质中的声速相乘,就是声波传输的距离。 而所测距离是声波传输距离的一半,即公式 ( 11) , L= vt/2 (11) 在上式中, L 为待测距离, v 为超声波的声速, t 为往返时间。 若要求测距误差小于 ,已知声速 v=344m/s(20℃ 时 )。 显然,直接用秒表测时间是不现实的。
WIRE 总线传至 MCU, 由软件进行声速换算。 为了更好的实现换算过程同时兼顾设备的使用成本,我们采用宏晶公司的最新推出的 STC12C5410 单片机实现超声波测距的各项功能。 STC12C5410 采用了低成本、低功耗、强抗干扰设计,并且在最高支持 48MHz 的前提下能够实现 1个时钟机械周期的运行速度。 由于能够使用高频率的晶振,因此相对于普通单片机来说可以有效的减少由
void Init_Timer0(void)。 //定时器初始化 /* 主程序 */ void KeyScan1(void)。 static int fun = 3。 sbit KEY=P3^3。 16 sbit KEY1=P3^4。 sbit KEY2=P3^5。 sbit KEY3=P3^6。 sbit KEY4=P3^7。 void main (void) { int temp1。