(1)开机后,紫灯持续显示2分钟后,风扇在高速模式下运行。空气质量传感器预热结束,开始检测空气质量。(实际测3.5分钟)
(2)当空气质量传感器检测到空气质量差时,指示灯仍然显示紫色,并持续30秒。
(3)检测空气质量,如检测结果仍然是差,则仍然执行第2步步骤。如检测到空气质量为良(或优)指示灯显示绿色,并持续20秒。
(4)检测气质量,如检测结果为差指示灯显示为紫色,并从第2步开始向下执行;如检测结果为良,则从第3步开始向下执行;检测结果为优,则指示灯显示蓝色。
(5)当空气质量传感器检测到差,步骤从第2步到第5步依次循环执行。
STM8S程序源码.rar
(448.15 KB, 售价: 2 E币)
原理图和PCB源文件.rar
(652.5 KB, 售价: 2 E币)
车载空气净化器设计规格书.doc
(2.99 MB, 售价: 2 E币)
源程序如下:
- //100us时钟基准
- void TIM4_Configuration(void)
- {
- //TIM4_TimeBaseInit(0x04, 100); // Time base configuration
- TIM4->PSCR = 0x04; //16
- TIM4->ARR = (100-1); //100
-
- TIM4_ARRPreloadConfig(ENABLE);
-
- TIM4_ClearFlag(TIM4_FLAG_UPDATE); // Clear TIM4 update flag
-
- TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE); //Enable update interrupt
-
- enableInterrupts(); // enable interrupts
- TIM4_Cmd(ENABLE); // Enable TIM4
- }
- //------------------------------------------
- //PWM_Vfan风扇电压控制 PWM模式 10kHz载频
- void TIM2_Configuration(void)
- {
- TIM2_DeInit();
-
- TIM2_TimeBaseInit(TIM2_PRESCALER_16,99); //载频10kHz
-
- //PWM1模式,输出使能,初始化占空比0%,有效电平为高电平
- TIM2_OC1Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,0,TIM2_OCPOLARITY_HIGH);
-
- TIM2_OC1PreloadConfig(ENABLE);
-
- TIM2_ARRPreloadConfig(ENABLE);
-
- TIM2_Cmd(ENABLE); //TIM2 enable counter
- }
- //------------------------------------------
- //AD配置
- void AD_Configuration(void)
- {
- /*
- ADC1->TDRL = 0x60; //disable schmitt trigger
- ADC1->CR1 |= 0x40; //f(adc)=f(master)/8
- ADC1->CR2 |= 0x08; //数据右对齐
- //ADC1->CSR = 6; //通道选择,初始化为AD_Vfan-AIN6
- ADC1->CSR = 5; //通道选择,GAS-AIN5
- ADC1->CR1 |= ADC1_CR1_ADON; //start AD conversion
- ADC1->CR1 |= ADC1_CR1_ADON; //启动转换必须第二次使用写指令来置位寄存器的位
- */
-
- ADC1_DeInit();
-
- //单次采样,通道6,数据右对齐
- ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE,ADC1_CHANNEL_6,ADC1_ALIGN_RIGHT);
-
- //f(adc)=f(master)/8
- ADC1_PrescalerConfig(ADC1_PRESSEL_FCPU_D8);
-
- //disable schmitt trigger
- //ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_ALL,DISABLE);
- //ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHANNEL5,DISABLE);
- //ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHANNEL6,DISABLE);
-
- //Enable the ADC1 peripheral
- ADC1->CR1 |= ADC1_CR1_ADON;
-
- AD_Start();
- //ADC1_StartConversion(); //初始化AD启动需要写两次ADC1->CR1,以后只写一次就可以了
- }
- //------------------------------------------
复制代码
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|