99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

原創(chuàng)小汽車車頂警示燈照明燈系統(tǒng),含原理圖和代碼

h1654155285.9614 ? 來源:TANK2018 ? 作者:h1654155285.9614 ? 2023-01-04 11:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

原裝汽車警示燈是雙閃,頻率大概是1Hz±10%。本文介紹一種后裝鋰電池供電爆閃警示+照明燈,采用輝芒微單片機(jī)對(duì)閃燈控制和電池電量指示,803450軟包鋰電池+4056充電管理芯片,2835琥珀色LEDx16+2835冷白LEDx5,低成本完成電路制作。

先上成品圖:

pYYBAGO06zKAJtGLAACPsKwByC4061.png

再上原理圖:

pYYBAGO065-AWsvkAAESvbPN0Ak726.png

然后上代碼:

/* 文件名:3.7V爆閃燈程序
* 功能:
* IC: FMD61FC22A-RB/S14
* 晶振: 16M/2T
* 說明: 程序通過KEY(PA4)端口低電平次數(shù)確定輸出模式
* 0.休眠狀態(tài),電流小于4uA
* 1.爆閃狀態(tài),峰值電流1A,可調(diào)
* 2.照明狀態(tài)。
* 充電和工作時(shí)4燈電量指示 。
*
* FT61F023 SOP16
* ---------------
* VDD---------|1(VDD) (VSS)14|--------GND
* LEDY--------|2(PA7) (PA0)13|---------TC
* LEDW--------|3(PA6) (PA1)12|---------NC
* KEY---------|4(PA4) (PA2)11|---------AD
* L1----------|5(PC3) (PA3)10|---------SW
* L2----------|6(PC2) (PC0)09|---------NC
* L3----------|7(PC4) (PC1)08|---------L4
* ---------------
*/
#include "SYSCFG.h"

//*************************宏定義***************************
#define U8 unsigned char
#define UF unsigned int
#define UL unsigned long

#define LY PA7 //黃燈
#define LW PA6 //白燈
#define AD PA2 //AD PIN
#define SW PA3 //ADC開關(guān)
#define TC PA0 //充電檢測(cè)
#define KEY PA4 //功能選擇
#define LD4 PC3 //電量25指示
#define LD3 PC2 //電量50指示
#define LD2 PC4 //電量75指示
#define LD1 PC1 //電量99指示

U8 ValT0 = 159;
U8 ReadAPin;
U8 KEYCNT;
U8 flashT;
U8 TMLY;
U8 T5MS;
volatile bit KEYT;
U8 TT20;
U8 T10S;

volatile bit FL2HZ;
volatile bit KEYSTA;
volatile UF TestADC;
/*-------------------------------------------------
* 函數(shù)名:POWER_INITIAL
* 功能: 上電系統(tǒng)初始化
* 輸入: 無
* 輸出: 無
--------------------------------------------------*/
void POWER_INITIAL (void)
{
OSCCON = 0B01110001; //IRCF=111=16MHz/2T=8MHz,0.125us
INTCON = 0; //暫禁止所有中斷

PORTA = 0B00000000;
TRISA = 0B00010101; //PA輸入輸出 1-輸入 0-輸出
//PA.4.2.0-輸入,7.6.輸出
PORTC = 0B00000000;
TRISC = 0B00000000; //PC輸入輸出 1-輸入 0-輸出
WPUA = 0B00010000; //PA4,0口上拉
WPUC = 0; //禁止所有PC口上拉

OPTION = 0B00000000; //Bit3=1,WDT MODE,PS=000=WDT RATE 1:1
MSCKCON = 0B00000000;
//Bit6: 0-禁止PA4,PC5穩(wěn)壓輸出
//Bit5: 0-TIMER2時(shí)鐘為Fosc
//Bit4: 0-禁止LVR
WDTCON = 0B00001111;
CMCON0 = 0B00000111; //關(guān)閉比較器,CxIN為數(shù)字IO口
}
/*-------------------------------------------------
* 函數(shù)名:DelayUs
* 功能: 短延時(shí)函數(shù) --16M-2T--大概快1%左右.
* 輸入: Time 延時(shí)時(shí)間長(zhǎng)度 延時(shí)時(shí)長(zhǎng)Time Us
* 輸出: 無
-------------------------------------------------*/
void DelayUs(U8 Time)
{
U8 a;
for(a=0;a{
NOP();
}
}
/*-------------------------------------------------
* 函數(shù)名:DelayUs
* 功能: 短延時(shí)函數(shù) --16M-2T--大概快1%左右.
* 輸入: Time 延時(shí)時(shí)間長(zhǎng)度 延時(shí)時(shí)長(zhǎng)Time Us
* 輸出: 無
-------------------------------------------------*/
void Delayms(U8 Time)
{
U8 a,b;
b =250;
for(a=0;a{
while (b--)
{
NOP();
NOP();
}
}
}
/*-------------------------------------------------
* 函數(shù)名: ADC_INITIAL
* 功能: ADC初始化
* 輸入: 無
* 輸出: 無
--------------------------------------------------*/
void ADC_INITIAL (void)
{
ADCON1 = 0B01100000;
//DIVS=0,時(shí)鐘選FOSC
//ADCS[2:0]=110,分頻FOSC/64

ADCON0 = 0B10101001; //內(nèi)部2V參考
//Bit7: ADFM=1,結(jié)果右對(duì)齊
//Bit[6:5]: VCFG參考電壓
// 00-參考電壓VDD
// 01-參考電壓內(nèi)部2V
// 10-參考電壓內(nèi)部3V
// 11-參考電壓Vref
//Bit[4:2]: CHS=010-選擇AN2通道
//Bit1: GO,AD轉(zhuǎn)換狀態(tài)位
//Bit0: ADON=1,ADC使能
ANSEL = 0B00000100; //使能AN2為模擬輸入
SW = 0; //對(duì)地導(dǎo)通
}
/*-------------------------------------------------
* 函數(shù)名: GET_ADC_DATA
* 功能: 讀取通道ADC值
* 輸入: AN_CN 通道序號(hào)
* 輸出: INT類型AD值(單次采樣無濾波)
--------------------------------------------------*/
UF GET_ADC_DATA (U8 AN_CH)
{
// U8 i;
U8 ADCON0Buff;
UF tBuffer = 0;
UF ADC_DATA=0;

ADCON0Buff = ADCON0 & 0B11100011;//清空通道值;a++)
;a++)

AN_CH <<=2; ? ? ? ? ? ? ?
ADCON0Buff |= AN_CH; //Bit[4:2]:CHS=010,選擇AN2通道

ADCON0 = ADCON0Buff; //重新加載通道值
DelayUs(30);
GO_DONE = 1; //啟動(dòng)ADC
while( GO_DONE==1 ); //等待ADC轉(zhuǎn)換完成

ADC_DATA = ADRESH;
ADC_DATA <<=8;
ADC_DATA |= ADRESL; //10Bit ADC值整合
tBuffer = ADC_DATA;
return tBuffer;
}
/*-------------------------------------------------
* 函數(shù)名:PA2_Level_Change_INITIAL
* 功能: PA端口(PA2)電平變化中斷初始化
* 輸入: 無
* 輸出: 無
--------------------------------------------------*/
void PA2_Level_Change_INITIAL(void)
{
ANSEL &= 0B11101110; //關(guān)閉中斷引腳模擬輸入功能
// TRISA4 = 1; //設(shè)置A4輸入
// TRISA0 = 1; //設(shè)置A0輸入
TRISA |= 0x11;
ReadAPin = PORTA; //清PA電平變化中斷
PAIF = 0; //清PA INT中斷標(biāo)志位
IOCA4 = 1; //使能PA4電平變化中斷
IOCA0 = 1;
PAIE = 1; //使能PA INT中斷
}
/*----------------------------------------------------
* 函數(shù)名:LEDON
* 功能: 按檢測(cè)電壓正確亮燈
----------------------------------------------------*/
void LEDON()
{
// FLTC = TC;
// TAAG = TC|FL2HZ;
if (TestADC<800) {LD1 = (flashT<10)&FL2HZ; LD2=0; LD3=0; LD4=0;} ? ? ?
//<25,3.3V,3.2/4.2*1024=780. ? F000
if ((TestADC>799)&&(TestADC<872)) {LD1=(flashT<10); LD2=(flashT<10)&FL2HZ; LD3=0; LD4=0;}?
//<50,3.6V/4.2*1024=902. ? ? ? 1F00
if ((TestADC>871)&&(TestADC<945)) {LD1=(flashT<10); LD2=(flashT<10); LD3=(flashT<10)&FL2HZ; LD4=0;}?
//<75,3.9V/4.2*1024=950 ? ? ? ?11F0
if ((TestADC>944)&&(TestADC<1013)) {LD1=(flashT<10); LD2=(flashT<10); LD3=(flashT<10); LD4=(flashT<10)&FL2HZ;}?
//<100,4.16V/4.2*1024=999 ? ? ? 111F
if (TestADC>1012) {LD1=(flashT<10); LD2=(flashT<10); LD3=(flashT<10); LD4=(flashT<10);}?
//>=100
}
/*----------------------------------------------------
* 函數(shù)名:TIMER0_INITIAL
* 功能: 初始化設(shè)置定時(shí)器
* 設(shè)置TMR0定時(shí)時(shí)長(zhǎng)=4T*預(yù)分頻值*(255-VALT0)
----------------------------------------------------*/
void TIMER0_INITIAL (void)
{
OPTION = 0B00000001; //預(yù)分頻4(0:2,1:4,2:8,3:16)
TMR0 = ValT0;
T0IF = 0; //清空T0軟件中斷標(biāo)志位
}
/*-------------------------------------------------
* 函數(shù)名:interrupt ISR
* 功能: 中斷處理函數(shù)
* 輸入: 無
* 輸出: 無
--------------------------------------------------*/
void interrupt ISR(void)
{
/*************************電平變化中斷*************************/
if(PAIE && PAIF)
{
ReadAPin = PORTA; //讀取PORTA數(shù)據(jù)清PAIF標(biāo)志
PAIF = 0; //清PAIF標(biāo)志位
PAIE = 0; //暫先禁止PA4中斷
IOCA4 = 0; //禁止PA4電平變化中斷
IOCA0 = 0;
if (!KEY)
{
Delayms(20);
if (!KEY) KEYCNT++;
}
if (KEYCNT>2) KEYCNT=0;
// while (KEY==0){PORTC = 0x00;}

}

/******************定時(shí)器0的中斷處理*************************/
if(T0IE && T0IF)
{
TMR0 = ValT0; //100us中斷一次
T0IF = 0;
CLRWDT();
flashT++;
if (flashT>50) //5mS計(jì)數(shù)
{
flashT=0;
T5MS++;
}
if (T5MS>9) //50mS計(jì)數(shù)
{
T5MS=0;
TT20++;
TMLY++;
}
if (TT20>24) //50*25=1250mS
{
TT20=0;
if (TC) FL2HZ = ~FL2HZ;
else FL2HZ = 1;
T10S++;
if (T10S>7) //1.25*8=10S
{
T10S = 0;
// if (TC)
// {
TestADC = GET_ADC_DATA(2);
NOP();
NOP();
// }
}
}
if ((KEYCNT>0)||(TC==1))
{
LEDON();
}

if (KEYCNT==1)
{
LW = 0;
if (TMLY<6) LY=1;
if (TMLY==6|TMLY==7) LY=0;
if (TMLY>7&TMLY<14) LY=1;
if (TMLY==14|TMLY==15) LY=0;
if (TMLY>15&TMLY<21) LY=1;
if (TMLY>20&TMLY<48) LY=0;
if (TMLY>47) TMLY=0;
}
if (KEYCNT==2) {LW = 1; LY = 0;}
}
}
/*-------------------------------------------------
* 函數(shù)名: main
* 功能: 主函數(shù)
* 輸入: 無
* 輸出: 無
--------------------------------------------------*/
void main()
{
POWER_INITIAL(); //系統(tǒng)初始化
TIMER0_INITIAL(); //定時(shí)器初始化
ADC_INITIAL(); //ADC初始化
PA2_Level_Change_INITIAL();
GIE = 1;
T0IE = 1; //開T0中斷
TestADC = GET_ADC_DATA(2);
NOP();
NOP();
KEYT = 1;
LW = 1;
DelayUs(250);
LW = 0;

while(1)
{
if (KEY) {GIE=1;PAIE=1;IOCA4=1;IOCA0 = 1;T0IE = 1;}

// if (TC==0) //未在充電
// {
if (KEYCNT==0) //按鍵0狀態(tài)
{
LW = 0;
LY = 0;
if (TC==0) //未在充電
{
PORTC = 0x00;
SW = 1; //上拉斷電
ADCON0 &=0xFE; //用電大戶
ANSEL = 0B00000000; //關(guān)閉模擬輸入
AD = 1; //上拉斷電
T0IE=0;
PA2_Level_Change_INITIAL();
KEYT = 1;
PSA = 1;
NOP();
SLEEP ();
}
}
else if (KEYT==1)
{
KEYT = 0;
PSA = 0;
PAIE = 1;
IOCA4 = 1;
IOCA0 = 1;
T0IE = 1;
ADC_INITIAL();
}
}
}
================================================

輸出波形:

poYBAGO076KAZbCUAAIaOSNU0pk456.png

BOM和成本:

品名 規(guī)格 用量 位置 單價(jià) 計(jì)價(jià)
PCB1 73*73*1.2單面22F 1 主板 ¥1.500 ¥1.50
PCB2 30.5*31.5*1.2雙面FR4 1 指示燈 ¥0.350 ¥0.35
貼片LED 0805普綠 4 ¥0.020 ¥0.08
MicroUsb B 1 ¥0.100 ¥0.10
輕觸開關(guān) 6*6*9 1 ¥0.080 ¥0.08
0.1uF C0603 2 C4, C5 ¥0.010 ¥0.02
10K R0603 2 R3, R10 ¥0.005 ¥0.01
10K R1206 6 R1, R2, R6, R7, R8, R9 ¥0.006 ¥0.04
10uF C0805 3 C1, C2, C3 ¥0.030 ¥0.09
1K R0603 1 R5 ¥0.005 ¥0.01
20K R0603 1 R4 ¥0.005 ¥0.01
S8050 SOT23 2 Q3, Q4 ¥0.030 ¥0.06
CL4056 ESOP8 1 U2 ¥0.200 ¥0.20
MCU-SO8 SO16 1 U1 ¥0.650 ¥0.65
RED LED3528-C 6 WD1-6 ¥0.040 ¥0.24
RED LED3528-W 16 YD1-16 ¥0.060 ¥0.96
SI2302 SOT23 2 Q1, Q2 ¥0.050 ¥0.10
BAT803450 1500mAH 1 ¥1.750 ¥1.75
smt+焊接 SMT:0.50,焊接:0.60 1 ¥1.100 ¥1.10
合計(jì) ¥7.336


審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 原理圖
    +關(guān)注

    關(guān)注

    1326

    文章

    6415

    瀏覽量

    240534
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70790
  • 小汽車
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    9077
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    熱鍍鋅天線桿 監(jiān)控照明燈桿帶配重抱桿

    照明燈
    jf_43484788
    發(fā)布于 :2025年06月11日 17:35:14

    基于STM32 NUCLEO板設(shè)計(jì)彩色LED照明燈(純cubeMX開發(fā))

    基于STM32 NUCLEO板設(shè)計(jì)彩色LED照明燈(純cubeMX開發(fā))推薦下載!
    發(fā)表于 05-28 21:31

    基于STM32 NUCLEO板設(shè)計(jì)彩色LED照明燈(純cubeMX開發(fā))

    基于STM32 NUCLEO板設(shè)計(jì)彩色LED照明燈(純cubeMX開發(fā)) 項(xiàng)目實(shí)例下載! 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 05-23 20:39

    單片機(jī)項(xiàng)目分享 - 基于STM32 NUCLEO板設(shè)計(jì)彩色LED照明燈(純cubeMX開發(fā))

    基于STM32 NUCLEO板設(shè)計(jì)彩色LED照明燈(純cubeMX開發(fā))項(xiàng)目下載! 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 05-23 20:32

    東沃電子汽車車內(nèi)照明燈應(yīng)用方案選型指南

    東沃電子(DOWOSEMI)作為專業(yè)車規(guī)級(jí)半導(dǎo)體器件供應(yīng)商,其產(chǎn)品線全面覆蓋汽車電子應(yīng)用領(lǐng)域,包括但不限于車燈照明系統(tǒng)、發(fā)動(dòng)機(jī)控制單元、車身便捷系統(tǒng)、智能座艙模塊、車載娛樂
    的頭像 發(fā)表于 05-08 10:05 ?982次閱讀
    東沃電子<b class='flag-5'>汽車車</b>內(nèi)<b class='flag-5'>照明燈</b>應(yīng)用方案選型指南

    STM32電機(jī)驅(qū)動(dòng)控制方案(原理圖和源代碼

    淘到一個(gè)STM32電機(jī)驅(qū)動(dòng)控制方案(原理圖和源代碼),一起分享,歡迎交流
    發(fā)表于 03-17 19:43

    高壓線防外破警示燈:保障電力安全的新利器

    的安全事故。為了解決這一問題,高壓線防外破警示燈應(yīng)運(yùn)而生,成為保障電力安全的新利器。 一、高壓線防外破警示燈的核心功能 高壓線防外破警示燈是一種專為高壓線路設(shè)計(jì)的警示裝置,其主要功能是
    的頭像 發(fā)表于 03-05 16:23 ?523次閱讀

    高壓線防外破警示燈:守護(hù)電力安全的重要防線-恒峰智慧

    問題,高壓線防外破警示燈應(yīng)運(yùn)而生,成為守護(hù)電力安全的重要防線。 一、高壓線防外破警示燈的重要性 高壓線防外破警示燈是一種專門設(shè)計(jì)用于保護(hù)高壓輸電線路的設(shè)備。它的主要功能是通過高亮度光源和智能感光
    的頭像 發(fā)表于 03-05 16:19 ?390次閱讀

    汽車車頂焊接技術(shù)新突破

    隨著科技的不斷進(jìn)步,汽車行業(yè)也在經(jīng)歷著前所未有的變革。從動(dòng)力系統(tǒng)的革新到智能駕駛技術(shù)的應(yīng)用,每一項(xiàng)技術(shù)的進(jìn)步都在推動(dòng)著整個(gè)行業(yè)的前進(jìn)。而在眾多的技術(shù)革新中,汽車車頂焊接技術(shù)的新突破無疑是一個(gè)值得關(guān)注
    的頭像 發(fā)表于 02-22 11:33 ?583次閱讀

    NRK3301語(yǔ)音識(shí)別芯片在頭戴式照明燈上的應(yīng)用的方案

    應(yīng)用使用戶能夠通過語(yǔ)音指令控制的各種功能,從而提升了產(chǎn)品的用戶體驗(yàn)和安全性。NRK3301語(yǔ)音識(shí)別芯片具有以下特點(diǎn)和功能,使其成為頭戴式照明燈的理想選擇:?1.高性能
    的頭像 發(fā)表于 02-07 18:31 ?426次閱讀
    NRK3301語(yǔ)音識(shí)別芯片在頭戴式<b class='flag-5'>照明燈</b>上的應(yīng)用的方案

    NRK3502識(shí)別語(yǔ)音芯片在佩戴式警示燈/頭燈中的應(yīng)用

    NRK3502識(shí)別語(yǔ)音芯片在佩戴式警示燈/頭燈中的應(yīng)用
    的頭像 發(fā)表于 02-07 11:11 ?451次閱讀
    NRK3502識(shí)別語(yǔ)音芯片在佩戴式<b class='flag-5'>警示燈</b>/頭燈中的應(yīng)用

    充電式電源照明燈怎么接線

    充電式電源照明燈的接線過程需要確保安全并遵循正確的步驟。以下是一個(gè)基本的接線指南: 一、準(zhǔn)備工具和材料 充電式電源照明燈 合適的電線(根據(jù)燈具要求的規(guī)格) 電線接頭或端子 絕緣膠帶 螺絲刀 測(cè)試筆或
    的頭像 發(fā)表于 10-14 15:32 ?2478次閱讀

    高壓線防外破警示燈 帶電安裝 內(nèi)置感光芯片 光源穿透強(qiáng)

    路過時(shí)其主觀意識(shí)根本不會(huì)注意這些,高壓線可能會(huì)因?yàn)橥话l(fā)原因而掉落,從而引發(fā)觸電事故。 為防止輸電線路因各種因素影響時(shí)也是防止人、車及時(shí)避開高壓線,深圳鼎信小編給大家講講高壓線防外破警示燈DX-JSS100-JSD,該警示燈
    的頭像 發(fā)表于 10-11 13:39 ?733次閱讀