国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

ELEOK

標(biāo)題: stm8單片機智能車載空氣凈化器的原理圖和PCB 單片機源程序 [打印本頁]

作者: 路漫漫    時間: 2020-5-24 01:50
標(biāo)題: stm8單片機智能車載空氣凈化器的原理圖和PCB 單片機源程序
(1)開機后,紫燈持續(xù)顯示2分鐘后,風(fēng)扇在高速模式下運行。空氣質(zhì)量傳感器預(yù)熱結(jié)束,開始檢測空氣質(zhì)量。(實際測3.5分鐘)
(2)當(dāng)空氣質(zhì)量傳感器檢測到空氣質(zhì)量差時,指示燈仍然顯示紫色,并持續(xù)30秒。
(3)檢測空氣質(zhì)量,如檢測結(jié)果仍然是差,則仍然執(zhí)行第2步步驟。如檢測到空氣質(zhì)量為良(或優(yōu))指示燈顯示綠色,并持續(xù)20秒。
(4)檢測氣質(zhì)量,如檢測結(jié)果為差指示燈顯示為紫色,并從第2步開始向下執(zhí)行;如檢測結(jié)果為良,則從第3步開始向下執(zhí)行;檢測結(jié)果為優(yōu),則指示燈顯示藍色。
(5)當(dāng)空氣質(zhì)量傳感器檢測到差,步驟從第2步到第5步依次循環(huán)執(zhí)行。
STM8S程序源碼.rar (448.15 KB, 售價: 2 E幣)
原理圖和PCB源文件.rar (652.5 KB, 售價: 2 E幣)
車載空氣凈化器設(shè)計規(guī)格書.doc (2.99 MB, 售價: 2 E幣)
源程序如下:
  1. //100us時鐘基準(zhǔn)
  2. void TIM4_Configuration(void)
  3. {
  4.   //TIM4_TimeBaseInit(0x04, 100);  // Time base configuration
  5.   TIM4->PSCR = 0x04; //16
  6.   TIM4->ARR = (100-1);  //100
  7.   
  8.   TIM4_ARRPreloadConfig(ENABLE);
  9.    
  10.   TIM4_ClearFlag(TIM4_FLAG_UPDATE);  // Clear TIM4 update flag
  11.   
  12.   TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE); //Enable update interrupt
  13.   
  14.   enableInterrupts();  // enable interrupts

  15.   TIM4_Cmd(ENABLE);  // Enable TIM4
  16. }
  17. //------------------------------------------
  18. //PWM_Vfan風(fēng)扇電壓控制  PWM模式 10kHz載頻
  19. void TIM2_Configuration(void)
  20. {
  21.   TIM2_DeInit();
  22.   
  23.   TIM2_TimeBaseInit(TIM2_PRESCALER_16,99); //載頻10kHz
  24.   
  25.   //PWM1模式,輸出使能,初始化占空比0%,有效電平為高電平
  26.   TIM2_OC1Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,0,TIM2_OCPOLARITY_HIGH);
  27.   
  28.   TIM2_OC1PreloadConfig(ENABLE);
  29.   
  30.   TIM2_ARRPreloadConfig(ENABLE);
  31.   
  32.   TIM2_Cmd(ENABLE); //TIM2 enable counter
  33. }
  34. //------------------------------------------
  35. //AD配置
  36. void AD_Configuration(void)
  37. {
  38.   /*
  39.   ADC1->TDRL = 0x60;  //disable schmitt trigger
  40.   ADC1->CR1 |= 0x40;  //f(adc)=f(master)/8
  41.   ADC1->CR2 |= 0x08;   //數(shù)據(jù)右對齊
  42.   //ADC1->CSR = 6;      //通道選擇,初始化為AD_Vfan-AIN6
  43.   ADC1->CSR = 5;    //通道選擇,GAS-AIN5
  44.   ADC1->CR1 |= ADC1_CR1_ADON; //start AD conversion
  45.   ADC1->CR1 |= ADC1_CR1_ADON; //啟動轉(zhuǎn)換必須第二次使用寫指令來置位寄存器的位
  46.   */
  47.   
  48.   ADC1_DeInit();
  49.   
  50.   //單次采樣,通道6,數(shù)據(jù)右對齊
  51.   ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE,ADC1_CHANNEL_6,ADC1_ALIGN_RIGHT);
  52.   
  53.   //f(adc)=f(master)/8
  54.   ADC1_PrescalerConfig(ADC1_PRESSEL_FCPU_D8);
  55.   
  56.   //disable schmitt trigger
  57.   //ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_ALL,DISABLE);
  58.   //ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHANNEL5,DISABLE);
  59.   //ADC1_SchmittTriggerConfig(ADC1_SCHMITTTRIG_CHANNEL6,DISABLE);
  60.   
  61.   //Enable the ADC1 peripheral
  62.   ADC1->CR1 |= ADC1_CR1_ADON;
  63.   
  64.   AD_Start();
  65.   //ADC1_StartConversion(); //初始化AD啟動需要寫兩次ADC1->CR1,以后只寫一次就可以了
  66. }
  67. //------------------------------------------
復(fù)制代碼







歡迎光臨 ELEOK (http://m.afoofa.cn/) Powered by Discuz! X5.0