2021-11-06 15:01:04 索煒達(dá)電子 3743
項(xiàng)目編號(hào):E2171
文件大?。?.5M
源碼說(shuō)明:帶中文注釋
開(kāi)發(fā)環(huán)境:C編譯器
簡(jiǎn)要概述:
本設(shè)計(jì)是關(guān)于單片機(jī)控制的交通燈模擬系統(tǒng)的設(shè)計(jì)。主要內(nèi)容有交通燈模擬系統(tǒng)設(shè)計(jì)方案,主要功能,各功能模塊的介紹,電路設(shè)計(jì),硬件部分設(shè)計(jì),軟件部分設(shè)計(jì),模擬系統(tǒng)的仿真調(diào)試,設(shè)計(jì)方法以及課程設(shè)計(jì)的心得體會(huì)等等。
該設(shè)計(jì)中用光二極管來(lái)模擬信號(hào)燈,緊急車(chē)的優(yōu)先通過(guò)請(qǐng)求信號(hào)由外部中斷技術(shù)來(lái)模擬。要求使STM32中TIM2作為定時(shí)器,要求對(duì)通行時(shí)間進(jìn)行倒計(jì)時(shí),在LED上顯示并進(jìn)行遞減,以此來(lái)實(shí)現(xiàn)十字路口交通燈的指示功能。為了節(jié)省元件,復(fù)位部分采用加電直接復(fù)位。根據(jù)交通燈系統(tǒng)所需要實(shí)現(xiàn)的功能要求,先畫(huà)出中斷程序部分的流程圖和主程序流程圖,然后根據(jù)流程圖寫(xiě)出其子程序。從而通過(guò)模擬系統(tǒng)的仿真來(lái)實(shí)現(xiàn)該設(shè)計(jì)所要求的功能。
本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤(pán)、LED 顯示、交通燈演示系統(tǒng)組成。最后,系統(tǒng)要求實(shí)現(xiàn)如下的交通燈的功能:
1)南北方向(主干道)車(chē)道和東西方向(支干道)車(chē)道兩條交叉道路上的車(chē)輛交替運(yùn)行,主、支干道每次通行時(shí)間都設(shè)為30秒,然后轉(zhuǎn)向時(shí)間為25秒,時(shí)間可設(shè)置修改。
2)在綠燈轉(zhuǎn)為紅燈時(shí),要求黃燈先亮5秒鐘,才能變換運(yùn)行車(chē)道;
3)黃燈亮?xí)r,要求每秒閃亮一次。
4)東西方向、南北方向車(chē)道除了有紅、黃、綠燈指示外,采用數(shù)碼管進(jìn)行顯示(采用計(jì)時(shí)的方法)。
5)一道有特種車(chē)輛(實(shí)驗(yàn)時(shí)用開(kāi)關(guān) K1 和 K2 控制),交通燈控制系統(tǒng)能立即讓有車(chē)道放行,無(wú)特種車(chē)車(chē)道禁止通行。
6)在出現(xiàn)緊急情況(實(shí)驗(yàn)中用開(kāi)關(guān)K3控制)時(shí)可由交警動(dòng)手實(shí)現(xiàn)全路口車(chē)輛禁行而行人通行狀態(tài)。
設(shè)計(jì)報(bào)告:
設(shè)計(jì)答辯:
目錄│文件列表:
└ 交通燈組
│ 交通信號(hào)燈控制系統(tǒng)設(shè)計(jì).ppt
│ 單片機(jī)控制的交通燈控制系統(tǒng)設(shè)計(jì).doc
└ 交通燈
├ CMSIS
│ │ core_cm3.c
│ │ core_cm3.h
│ │ stm32f10x.h
│ │ system_stm32f10x.c
│ │ system_stm32f10x.h
│ └ startup
│ │ startup_stm32f10x_cl.s
│ │ startup_stm32f10x_hd.s
│ │ startup_stm32f10x_hd_vl.s
│ │ startup_stm32f10x_ld.s
│ │ startup_stm32f10x_ld_vl.s
│ │ startup_stm32f10x_md.s
│ │ startup_stm32f10x_md_vl.s
│ └ startup_stm32f10x_xl.s
├ FWlib
│ ├ inc
│ │ │ misc.h
│ │ │ stm32f10x_adc.h
│ │ │ stm32f10x_bkp.h
│ │ │ stm32f10x_can.h
│ │ │ stm32f10x_cec.h
│ │ │ stm32f10x_crc.h
│ │ │ stm32f10x_dac.h
│ │ │ stm32f10x_dbgmcu.h
│ │ │ stm32f10x_dma.h
│ │ │ stm32f10x_exti.h
│ │ │ stm32f10x_flash.h
│ │ │ stm32f10x_fsmc.h
│ │ │ stm32f10x_gpio.h
│ │ │ stm32f10x_i2c.h
│ │ │ stm32f10x_iwdg.h
│ │ │ stm32f10x_pwr.h
│ │ │ stm32f10x_rcc.h
│ │ │ stm32f10x_rtc.h
│ │ │ stm32f10x_sdio.h
│ │ │ stm32f10x_spi.h
│ │ │ stm32f10x_tim.h
│ │ │ stm32f10x_usart.h
│ │ └ stm32f10x_wwdg.h
│ └ src
│ │ misc.c
│ │ stm32f10x_adc.c
│ │ stm32f10x_bkp.c
│ │ stm32f10x_can.c
│ │ stm32f10x_cec.c
│ │ stm32f10x_crc.c
│ │ stm32f10x_dac.c
│ │ stm32f10x_dbgmcu.c
│ │ stm32f10x_dma.c
│ │ stm32f10x_exti.c
│ │ stm32f10x_flash.c
│ │ stm32f10x_fsmc.c
│ │ stm32f10x_gpio.c
│ │ stm32f10x_i2c.c
│ │ stm32f10x_iwdg.c
│ │ stm32f10x_pwr.c
│ │ stm32f10x_rcc.c
│ │ stm32f10x_rtc.c
│ │ stm32f10x_sdio.c
│ │ stm32f10x_spi.c
│ │ stm32f10x_tim.c
│ │ stm32f10x_usart.c
│ └ stm32f10x_wwdg.c
├ Listing
│ │ startup_stm32f10x_hd.lst
│ └ STM32_Text.map
├ Output
│ │ core_cm3.crf
│ │ core_cm3.d
│ │ core_cm3.o
│ │ exti.crf
│ │ exti.d
│ │ exti.o
│ │ led.crf
│ │ led.d
│ │ led.o
│ │ main.crf
│ │ main.d
│ │ main.o
│ │ misc.crf
│ │ misc.d
│ │ misc.o
│ │ startup_stm32f10x_hd.d
│ │ startup_stm32f10x_hd.o
│ │ stm32f10x_adc.crf
│ │ stm32f10x_adc.d
│ │ stm32f10x_adc.o
│ │ stm32f10x_bkp.crf
│ │ stm32f10x_bkp.d
│ │ stm32f10x_bkp.o
│ │ stm32f10x_can.crf
│ │ stm32f10x_can.d
│ │ stm32f10x_can.o
│ │ stm32f10x_cec.crf
│ │ stm32f10x_cec.d
│ │ stm32f10x_cec.o
│ │ stm32f10x_crc.crf
│ │ stm32f10x_crc.d
│ │ stm32f10x_crc.o
│ │ stm32f10x_dac.crf
│ │ stm32f10x_dac.d
│ │ stm32f10x_dac.o
│ │ stm32f10x_dbgmcu.crf
│ │ stm32f10x_dbgmcu.d
│ │ stm32f10x_dbgmcu.o
│ │ stm32f10x_dma.crf
│ │ stm32f10x_dma.d
│ │ stm32f10x_dma.o
│ │ stm32f10x_exti.crf
│ │ stm32f10x_exti.d
│ │ stm32f10x_exti.o
│ │ stm32f10x_flash.crf
│ │ stm32f10x_flash.d
│ │ stm32f10x_flash.o
│ │ stm32f10x_fsmc.crf
│ │ stm32f10x_fsmc.d
│ │ stm32f10x_fsmc.o
│ │ stm32f10x_gpio.crf
│ │ stm32f10x_gpio.d
│ │ stm32f10x_gpio.o
│ │ stm32f10x_i2c.crf
│ │ stm32f10x_i2c.d
│ │ stm32f10x_i2c.o
│ │ stm32f10x_it.crf
│ │ stm32f10x_it.d
│ │ stm32f10x_it.o
│ │ stm32f10x_it.__i
│ │ stm32f10x_iwdg.crf
│ │ stm32f10x_iwdg.d
│ │ stm32f10x_iwdg.o
│ │ stm32f10x_pwr.crf
│ │ stm32f10x_pwr.d
│ │ stm32f10x_pwr.o
│ │ stm32f10x_rcc.crf
│ │ stm32f10x_rcc.d
│ │ stm32f10x_rcc.o
│ │ stm32f10x_rtc.crf
│ │ stm32f10x_rtc.d
│ │ stm32f10x_rtc.o
│ │ stm32f10x_sdio.crf
│ │ stm32f10x_sdio.d
│ │ stm32f10x_sdio.o
│ │ stm32f10x_spi.crf
│ │ stm32f10x_spi.d
│ │ stm32f10x_spi.o
│ │ stm32f10x_tim.crf
│ │ stm32f10x_tim.d
│ │ stm32f10x_tim.o
│ │ stm32f10x_usart.crf
│ │ stm32f10x_usart.d
│ │ stm32f10x_usart.o
│ │ stm32f10x_wwdg.crf
│ │ stm32f10x_wwdg.d
│ │ stm32f10x_wwdg.o
│ │ STM32_Text.axf
│ │ STM32_Text.hex
│ │ STM32_Text.htm
│ │ STM32_Text.lnp
│ │ STM32_Text.plg
│ │ STM32_Text.sct
│ │ STM32_Text.tra
│ │ system_stm32f10x.crf
│ │ system_stm32f10x.d
│ │ system_stm32f10x.o
│ │ systick.crf
│ │ systick.d
│ │ systick.o
│ │ tim2.crf
│ │ tim2.d
│ │ tim2.o
│ │ trifficlight.crf
│ │ trifficlight.d
│ └ trifficlight.o
└ USER
│ exti.c
│ exti.h
│ JLink Regs CM3.txt
│ JLinkLog.txt
│ JLinkSettings.ini
│ led.c
│ led.h
│ main.c
│ stm32f10x_conf.h
│ stm32f10x_it.c
│ stm32f10x_it.h
│ STM32_Text.plg
│ STM32_Text.uvopt
│ STM32_Text.uvproj
│ STM32_Text_STM32_Text.dep
│ STM32_Text_Target 1.dep
│ STM32_Text_uvopt.bak
│ STM32_Text_uvproj.bak
│ TIM2.c
│ TIM2.h
│ Trifficlight.c
└ Trifficlight.h