標(biāo)題: STM32F103簡(jiǎn)易交通燈程序設(shè)計(jì)源碼 [打印本頁(yè)]

作者: KACHEN    時(shí)間: 2018-4-11 08:08
標(biāo)題: STM32F103簡(jiǎn)易交通燈程序設(shè)計(jì)源碼
交通燈功能實(shí)現(xiàn):
1.        交通燈基本功能:包括綠燈倒計(jì)時(shí)、紅燈倒計(jì)時(shí)、綠燈常亮、綠燈閃爍、黃燈亮、黃燈閃爍、紅燈亮、紅燈閃爍等功能及其銜接;
2.        要求在任意時(shí)刻,可以通過(guò)按鍵設(shè)置任意方向?yàn)榧t燈(或綠燈);
3.        紅、綠燈持續(xù)時(shí)間可以通過(guò)按鍵設(shè)置;
4.        交通燈能夠關(guān)閉,關(guān)閉類(lèi)型有兩種:
a)        所有燈全不亮;
b)       所有黃燈閃爍、其余燈不亮。
5.        模擬人行過(guò)街紅綠燈(作為獨(dú)立功能測(cè)試
a)        按下按鍵,對(duì)應(yīng)方向車(chē)道開(kāi)始綠燈倒計(jì)時(shí)(倒計(jì)時(shí)時(shí)間可以設(shè)置),時(shí)間到后,變黃燈,再變紅燈;
b)       紅燈倒計(jì)時(shí)時(shí)長(zhǎng)可設(shè)置;
c)        紅燈重新變?yōu)榫G燈后,必選間隔特定時(shí)間(可設(shè)置)后,才能再次響應(yīng)按鍵,否則不響應(yīng)。


STM32F103單片機(jī)源程序如下:
  1. #include "traffic.h"
  2. #include "systick.h"
  3. #include "sys.h"
  4. u16 m=1000;//定義一個(gè)變量來(lái)設(shè)置交通燈時(shí)間加減
  5. void traffic_init(void)//初始化IO
  6. {
  7.         
  8.           //定義一個(gè)GPIO_InitTypeDef類(lèi)型的結(jié)構(gòu)體
  9.     GPIO_InitTypeDef GPIO_InitStructure;
  10.     //開(kāi)啟GPIOC的外設(shè)時(shí)鐘
  11.     RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOE, ENABLE );
  12.     //選擇需要控制的GPIO引腳
  13.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
  14.     //設(shè)置引腳模式為通用推挽輸出
  15.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  16.     //設(shè)置引腳速率為50MHz
  17.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  18.     //調(diào)用函數(shù)庫(kù),初始化GPIO
  19.     GPIO_Init( GPIOE, &GPIO_InitStructure );
  20.         
  21.     GPIO_ResetBits(GPIOE, GPIO_Pin_All);  
  22.          
  23.         
  24. }


  25. void traffic_display(void)          //交通燈顯示子函數(shù)
  26. {
  27.         

  28.         
  29.           R1=1;G2=1;
  30.           delay_ms(m); delay_ms(m); delay_ms(m);
  31.           delay_ms(m); delay_ms(m); delay_ms(m);
  32.                
  33.           Y2=1;delay_ms(1000);         
  34.           Y2=0;delay_ms(1000);
  35.           Y2=1;delay_ms(1000);         
  36.           Y2=0;delay_ms(1000);
  37.           Y2=1;delay_ms(1000);         
  38.           Y2=0;delay_ms(1000);
  39.         
  40.           R1=0;G2=0;
  41.         
  42.         
  43.           R2=1;G1=1;
  44.           delay_ms(m); delay_ms(m); delay_ms(m);
  45.           delay_ms(m); delay_ms(m); delay_ms(m);
  46.           Y1=1;delay_ms(1000);         
  47.           Y1=0;delay_ms(1000);
  48.           Y1=1;delay_ms(1000);         
  49.           Y1=0;delay_ms(1000);
  50.           Y1=1;delay_ms(1000);         
  51. ……………………

  52. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
仿真電路:無(wú)
原理圖:無(wú)
Keil代碼下載: Test 6.rar (280.17 KB, 下載次數(shù): 292)



作者: admin    時(shí)間: 2018-4-11 15:39
樓主能分享個(gè)原理圖嗎?
作者: KACHEN    時(shí)間: 2018-4-11 17:08
原理圖:

交通燈模塊.pdf

94.11 KB, 下載次數(shù): 128, 下載積分: 黑幣 -5


作者: a570477522    時(shí)間: 2018-4-14 10:02
學(xué)習(xí)學(xué)習(xí),做交通項(xiàng)目呢
作者: kingdata    時(shí)間: 2018-7-30 16:19
太棒了,我一直在找資料

作者: executive    時(shí)間: 2018-12-20 16:50
很棒,一直在找
作者: HOSS    時(shí)間: 2018-12-20 22:25
欸這個(gè)電路圖不完整吧
作者: 4everlynn    時(shí)間: 2019-5-7 09:45
剛剛好在找!感謝!
作者: jgsliguangzhao    時(shí)間: 2020-2-29 20:22
程序不全,大家不要下載
作者: aaaaaa。    時(shí)間: 2020-3-2 09:32
樓主,有沒(méi)有原工程
作者: 51hdz3356619    時(shí)間: 2020-3-3 16:35
這個(gè)原理圖不全,大家不要浪費(fèi)分?jǐn)?shù)了。程序還得等做的時(shí)候才知道能不能行了。。。
作者: KACHEN    時(shí)間: 2020-3-17 10:34
aaaaaa。 發(fā)表于 2020-3-2 09:32
樓主,有沒(méi)有原工程

工程文件就是那個(gè)壓縮包。
作者: KACHEN    時(shí)間: 2020-3-17 10:43
51hdz3356619 發(fā)表于 2020-3-3 16:35
這個(gè)原理圖不全,大家不要浪費(fèi)分?jǐn)?shù)了。程序還得等做的時(shí)候才知道能不能行了。。。

這個(gè)原理圖只單就這一個(gè)模塊的原理圖,(可以不用浪費(fèi)黑幣下載查看)關(guān)于實(shí)物連線其實(shí)可完全基于你自己的代碼設(shè)置,這個(gè)比較靈活。程序功能本人當(dāng)時(shí)是用實(shí)物做過(guò)實(shí)驗(yàn),應(yīng)該可行。只能說(shuō)提供一個(gè)參考吧。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1