2021-08-24 00:21:37 索煒達(dá)電子 958
項(xiàng)目編號(hào):E536
文件大?。?0M
源碼說(shuō)明:帶中文注釋
開(kāi)發(fā)環(huán)境:C編譯器
簡(jiǎn)要概述
青島大學(xué)2020年電賽校選代碼
要求:
1.三種控制模式,對(duì)應(yīng)PWM(1000HZ)輸出20/30/70
2.數(shù)碼管動(dòng)態(tài)顯示模式,溫度和倒計(jì)時(shí)
3.按鍵控制工作模式,定時(shí)運(yùn)行,停止和溫度顯示
4.DS18B20溫度檢測(cè)
5.LED顯示工作模式
方案:使用freeRTOS,設(shè)置了六個(gè)進(jìn)程,分別為控制中心,按鍵檢測(cè),溫度檢測(cè),數(shù)碼管顯示,PWM輸出,LED顯示。
電路部分
原理圖與PCB繪制都使用AD完成,放在/PCB目錄下,與正點(diǎn)原子mini板通過(guò)排母連接,電源通過(guò)排線連接,同時(shí)提供額外的供電接口,使用跳線切換。電機(jī)驅(qū)動(dòng)模塊使用TB6612FNG,額外供電接口使用USB轉(zhuǎn)2.54mm排針。數(shù)碼管驅(qū)動(dòng)使用74LS138與74HC573。
備注
1.使用了正點(diǎn)原子mini板上的PB2接口作為輸入,因?yàn)镻B2在板子上用作BOOT1,通過(guò)跳線接地,所以不使用跳線帽,而是通過(guò)一個(gè)100k電阻下拉。
2.原理圖與實(shí)際PCB切換了PC9與PB14,還有其他差別,以PCB為準(zhǔn)。
3.使用板載DS18B20,溫度檢測(cè)與延時(shí)代碼均來(lái)自網(wǎng)絡(luò)。
4.PCB上的開(kāi)關(guān)和接線端子封裝有問(wèn)題,實(shí)際直接使用導(dǎo)線短接。
目錄│文件列表:
│ QDU-Electronic-Design.rar
└ QDU-Electronic-Design
└ QDU-Electronic-Design
│ .mxproject
│ compertition.ioc
├ Core
│ ├ Inc
│ │ │ FreeRTOSConfig.h
│ │ │ main.h
│ │ │ stm32f1xx_hal_conf.h
│ │ └ stm32f1xx_it.h
│ └ Src
│ │ delay.c
│ │ delay.h
│ │ display.c
│ │ display.h
│ │ ds18b20.c
│ │ ds18b20.h
│ │ freertos.c
│ │ main.c
│ │ stm32f1xx_hal_msp.c
│ │ stm32f1xx_hal_timebase_tim.c
│ │ stm32f1xx_it.c
│ │ sys.c
│ │ sys.h
│ └ system_stm32f1xx.c
├ Drivers
│ ├ CMSIS
│ │ │ LICENSE.txt
│ │ ├ Core
│ │ │ ├ Include
│ │ │ │ │ cmsis_armcc.h
│ │ │ │ │ cmsis_armclang.h
│ │ │ │ │ cmsis_compiler.h
│ │ │ │ │ cmsis_gcc.h
│ │ │ │ │ cmsis_iccarm.h
│ │ │ │ │ cmsis_version.h
│ │ │ │ │ core_armv8mbl.h
│ │ │ │ │ core_armv8mml.h
│ │ │ │ │ core_cm0.h
│ │ │ │ │ core_cm0plus.h
│ │ │ │ │ core_cm1.h
│ │ │ │ │ core_cm23.h
│ │ │ │ │ core_cm3.h
│ │ │ │ │ core_cm33.h
│ │ │ │ │ core_cm4.h
│ │ │ │ │ core_cm7.h
│ │ │ │ │ core_sc000.h
│ │ │ │ │ core_sc300.h
│ │ │ │ │ mpu_armv7.h
│ │ │ │ │ mpu_armv8.h
│ │ │ │ └ tz_context.h
│ │ │ └ Template
│ │ │ └ ARMv8-M
│ │ │ │ main_s.c
│ │ │ └ tz_context.c
│ │ ├ Core_A
│ │ │ ├ Include
│ │ │ │ │ cmsis_armcc.h
│ │ │ │ │ cmsis_armclang.h
│ │ │ │ │ cmsis_compiler.h
│ │ │ │ │ cmsis_cp15.h
│ │ │ │ │ cmsis_gcc.h
│ │ │ │ │ cmsis_iccarm.h
│ │ │ │ │ core_ca.h
│ │ │ │ └ irq_ctrl.h
│ │ │ └ Source
│ │ │ └ irq_ctrl_gic.c
│ │ ├ Device
│ │ │ └ ST
│ │ │ └ STM32F1xx
│ │ │ ├ Include
│ │ │ │ │ stm32f100xb.h
│ │ │ │ │ stm32f100xe.h
│ │ │ │ │ stm32f101x6.h
│ │ │ │ │ stm32f101xb.h
│ │ │ │ │ stm32f101xe.h
│ │ │ │ │ stm32f101xg.h
│ │ │ │ │ stm32f102x6.h
│ │ │ │ │ stm32f102xb.h
│ │ │ │ │ stm32f103x6.h
│ │ │ │ │ stm32f103xb.h
│ │ │ │ │ stm32f103xe.h
│ │ │ │ │ stm32f103xg.h
│ │ │ │ │ stm32f105xc.h
│ │ │ │ │ stm32f107xc.h
│ │ │ │ │ stm32f1xx.h
│ │ │ │ └ system_stm32f1xx.h
│ │ │ └ Source
│ │ │ └ Templates
│ │ │ │ system_stm32f1xx.c
│ │ │ ├ arm
│ │ │ │ │ startup_stm32f100xb.s
│ │ │ │ │ startup_stm32f100xe.s
│ │ │ │ │ startup_stm32f101x6.s
│ │ │ │ │ startup_stm32f101xb.s
│ │ │ │ │ startup_stm32f101xe.s
│ │ │ │ │ startup_stm32f101xg.s
│ │ │ │ │ startup_stm32f102x6.s
│ │ │ │ │ startup_stm32f102xb.s
│ │ │ │ │ startup_stm32f103x6.s
│ │ │ │ │ startup_stm32f103xb.s
│ │ │ │ │ startup_stm32f103xe.s
│ │ │ │ │ startup_stm32f103xg.s
│ │ │ │ │ startup_stm32f105xc.s
│ │ │ │ └ startup_stm32f107xc.s
│ │ │ ├ gcc
│ │ │ │ │ startup_stm32f100xb.s
│ │ │ │ │ startup_stm32f100xe.s
│ │ │ │ │ startup_stm32f101x6.s
│ │ │ │ │ startup_stm32f101xb.s
│ │ │ │ │ startup_stm32f101xe.s
│ │ │ │ │ startup_stm32f101xg.s
│ │ │ │ │ startup_stm32f102x6.s
│ │ │ │ │ startup_stm32f102xb.s
│ │ │ │ │ startup_stm32f103x6.s
│ │ │ │ │ startup_stm32f103xb.s
│ │ │ │ │ startup_stm32f103xe.s
│ │ │ │ │ startup_stm32f103xg.s
│ │ │ │ │ startup_stm32f105xc.s
│ │ │ │ └ startup_stm32f107xc.s
│ │ │ └ iar
│ │ │ │ startup_stm32f100xb.s
│ │ │ │ startup_stm32f100xe.s
│ │ │ │ startup_stm32f101x6.s