找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 35007|回復(fù): 25
收起左側(cè)

基于STM32的十字路口交通燈控制系統(tǒng)設(shè)計

  [復(fù)制鏈接]
ID:215634 發(fā)表于 2017-6-28 22:03 | 顯示全部樓層 |閱讀模式
這是我近期單片機的作品,查閱大約資料自己做的

十字路口交通燈控制系統(tǒng)

隨著移動設(shè)備的流行和發(fā)展,嵌入式系統(tǒng)已經(jīng)成為一個熱點。它并不是最近出現(xiàn)的新技術(shù),只是隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,微控制芯片功能越來越大,而嵌入微控制芯片的設(shè)備和系統(tǒng)越來越多,從而使得這種技術(shù)越來越引人注目。它對軟硬件的體積大小、成本、功耗和可靠性都提出了嚴(yán)格的要求。嵌入式系統(tǒng)的功能越來越強大,實現(xiàn)也越來越復(fù)雜,隨之出現(xiàn)的就是可靠性大大降低。最近的一種趨勢是一個功能強大的嵌入式系統(tǒng)通常需要一種操作系統(tǒng)來給予支持,這種操作系統(tǒng)是已經(jīng)成熟并且穩(wěn)定的,可以是嵌入式的Linux,WINCE等等。本文所要研究的就是基于ARM嵌入式系統(tǒng)的交通燈系統(tǒng)的設(shè)計與實現(xiàn)。本設(shè)計采用了ARM32位的Cortex-M3 CPU的內(nèi)核的STM32作為核心處理器。

Abstract

        With the popularity and development of mobile devices, embedded system has become a hotspot. It is not a new technique appeared recently, only with the development of microelectronics and computer technology, micro chip control functions more and more, more and more equipment and systems and embedded micro control chip, making the technology more attract sb.'s attention. Hardware and software of its size, cost, power consumption and reliability have made stringent requirements. The function of embedded system is more and more powerful, and more and more complicated, the reliability appears is greatly reduced. A recent trend is a powerful embedded systems usually require an operating system to support, the operating system is already mature and stable, can be embedded Linux, WINCE and so on. This paper is to study the design and Realization of the traffic light system based on ARM embedded system. This design uses the ARM32 bit Cortex-M3 CPU kernel STM32 as the core processor.


目 錄

一 引言
二 相關(guān)內(nèi)容和原理              1
三 作品設(shè)計要求              1
四 作品方案設(shè)計              2

4.1              設(shè)計思路              2

4.2              總體設(shè)計框圖              3

4.3              總體方案設(shè)計參數(shù)計算              4

五  系統(tǒng)硬件電路設(shè)計及分析              4

5.1              STM32f103芯片介紹及選用              4

5.2              單片機電路原理圖及分析              4

5.3              電源電路模塊原理圖及分析              5

5.4              晶振與復(fù)位電路模塊原理圖              5

5.5              LED交通燈電路原理圖及分析              6

六 系統(tǒng)軟件設(shè)計及其分析              7

6.1              軟件設(shè)計流程圖              8

6.2              ARM交通燈控制軟件設(shè)計              8

七 系統(tǒng)軟件代碼              9

   7.1 軟件設(shè)計流程圖………………………………………………… ………………………9

   7.2 部分程序代碼……………………………………………………………………………10

八 Keil軟件的運用與調(diào)試……………………… ……………………………………………16

九 實物演示照片…………………………………………………………………………………17

十 作品電路的PCB圖……………………………………………………………………… …19

十一 設(shè)計心得及體會……………………………………………………………………………20

十二 參考文獻(xiàn)…………………………… …………… ………………………………………21



1引言

交通信號燈指揮著人和各種車輛的安全運行,實現(xiàn)紅、黃、綠燈的自動指揮是城鄉(xiāng)交通管理現(xiàn)代化的重要課題。在城鄉(xiāng)街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號燈,其中紅燈亮,表示該條道路禁止通行; 黃燈亮,表示該條道路上未過停車線的車輛停止通行,已過停車線的車輛繼續(xù)通行;綠燈亮,表示該條道路允許通行。交通燈控制電路自動控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車輛和行人安全通行,實現(xiàn)十字路口城鄉(xiāng)交通管理自動化。

    本文為了實現(xiàn)交通道路的管理,力求交通管理先進(jìn)性、科學(xué)化。 分析應(yīng)用了單片機實現(xiàn)智能交通燈管制的控制系統(tǒng),以及該系統(tǒng)軟、硬件設(shè)計方法,實驗證明該系統(tǒng)實現(xiàn)簡單、經(jīng)濟,能夠有效地疏導(dǎo)交通,提高交通路口的通行能力。

2  相關(guān)內(nèi)容及原理

通過設(shè)計,培養(yǎng)自己綜合運用所學(xué)知識、獨立分析和解決實際問題的能力,培養(yǎng)創(chuàng)新意識和創(chuàng)新能力,并獲得科學(xué)研究的基礎(chǔ)訓(xùn)練,加深對ARM芯片的了解;熟悉ARM芯片各個引腳的功能,工作方式,計數(shù)/定時,I/O口,中斷等相關(guān)原理,鞏固學(xué)習(xí)嵌入式的相關(guān)內(nèi)容知識。

利用ARM芯片模擬實現(xiàn)交通燈控制,自行選擇所需ARM芯片,查閱相關(guān)文獻(xiàn)資料,熟悉所選ARM芯片,了解所選ARM芯片各個引腳功能,工作方式,計數(shù)/定時,I/O口,中斷等相關(guān)原理,通過軟硬件設(shè)計實現(xiàn)利用ARM芯片完成交通燈的模擬控制。

3  作品設(shè)計要求

要求基于Cortex系列單片機設(shè)計一具有模擬道路路口交通燈相應(yīng)功能的交通燈模擬系統(tǒng)。具體要求如下:

(1)具有三種顏色顯示:紅色、綠色和黃色,分別代表路口交通燈的三種顏色。

    (2)所設(shè)計的系統(tǒng)應(yīng)至少能夠模擬兩個路口的功能,具有直行和左轉(zhuǎn)的功能。

     (3)如果能力和時間允許,可以加入操作系統(tǒng)。

     (4)適當(dāng)加入一些其他元素,使其更加具有人性化設(shè)計。


4 作品方案設(shè)計4.1 設(shè)計思路

利用STM32F103芯片實現(xiàn)單路交通燈的控制: a 實現(xiàn)紅、綠、黃燈的循環(huán)控制。使用紅、黃、綠三種不同顏色的LED燈實現(xiàn)此功能,主干道正前方方向的LED燈,編號分別為1、2、3,分別接在單片機的PB8、PB6、PB9的引腳上;主干道右方的LED燈,編號分別為4、5、6,分別接在單片機的PA14、PA10、PA8的引腳上;主干道后側(cè)的LED燈,編號分別為7、8、9,分別接在單片機的PD10、PD12、PD14引腳上。主干道左方的LED燈,編號分別為10、11、12,分別接在單片機的PE7、PE11、PE15引腳上。以此實現(xiàn)四個路口的交通燈模擬系統(tǒng)。用軟件控制燈的亮與滅來控制車輛和行人的通行。

交通路口示意圖如圖4.1車輛遇到紅燈停綠燈行的行走情況,紅綠燈時間均為2000ms,切換時間為2000ms,最后2000ms為黃燈閃爍。

1.001.jpg

                圖4.1  交通路口示意圖

4.2 總體設(shè)計框圖

用ARM系列芯片STM32F103作為系統(tǒng)的主控芯片,控制交通燈的循環(huán)點亮并顯示燈亮?xí)r間(采用倒計時顯示),當(dāng)定時時間到的時候通過燈的狀態(tài)來提醒人們注意紅綠燈的狀態(tài)。

1.002.jpg

圖4.2  交通燈總體設(shè)計框圖


5 硬件電路模塊設(shè)計及其分析

根據(jù)設(shè)計任務(wù)要求,自行選擇電子元件,畫出電氣原理圖,并調(diào)試。一個完整的系統(tǒng)除了主控芯片以外,還需配上電源系統(tǒng)、時鐘電路、復(fù)位電路等。獨立的芯片是不能工作的。

5.1  STM32F103芯片介紹

     STM32F103是基于一個支持實時仿真和嵌入式跟蹤的32 位 CPU 的微控制器,STM32F1系列屬于中低端的32位ARM微控制器,該系列芯片是意法半導(dǎo)體(ST)公司出品,其內(nèi)核是Cortex-M3。該系列芯片按片內(nèi)Flash的大小可分為三大類:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。芯片集成定時器,CAN,ADC,SPI,I2C,USB,UART,等多種功能。

具有以下一些特性:

  •          ARM 32位的Cortex-M3
  •          高72MHz工作頻率,在存儲器的0等待周期訪問時可達(dá)1.25DMips/MHZ(DhrystONe2.1),從32K到512K字節(jié)的閃存程序存儲器最大64K字節(jié)SRAM
  •          2.0-3.6V供電和I/O引腳
  •          上電/斷電復(fù)位(POR/PDR)、可編程電壓監(jiān)測器(PVD
  •          4-16MHZ晶振振蕩器
  •          內(nèi)嵌經(jīng)出廠調(diào)教的8MHz的RC振蕩器
  •          2個12位模數(shù)轉(zhuǎn)換器,1us轉(zhuǎn)換時間(多達(dá)16個輸入通道),轉(zhuǎn)換范圍:0至3.6V,雙采樣和保持功能
  •          2個DMA控制器,共12個DMA通道:DMA1有7個通道,DMA2有5個通道
  •          片內(nèi)晶振頻率范圍:130 MHz
  •          通過片內(nèi)PLL可實現(xiàn)最大為60MHz的CPU操作頻率,PLL的穩(wěn)定時間

為100us

  •          支持的外設(shè):定時器、ADC、SPI、USB、IIC和UART
  •          多達(dá)112個快速I/O端口(僅Z系列有超過100個引腳)
  •          3個16位定時器,每個定時器有多達(dá)4個用于輸入捕獲/輸出比較/PWM或脈沖計數(shù)的通道和增量編碼器輸入
  •          1個16位帶死區(qū)控制和緊急剎車,用于電機控制的PWM高級控制定時器
  •          ECOPACK封裝
5.2  STM32F103主電路原理圖

圖5.1為STM32F103芯片的原理圖,多達(dá)100個引腳,采用3.3V或者5V電源供電,設(shè)計所需外接器件的網(wǎng)絡(luò)名已經(jīng)標(biāo)出。

1.003.jpg

圖5.1  STM32F103芯片的原理圖


5.3  系統(tǒng)電源電路設(shè)計

本電源運用5V的直流電源(圖5.2所示)。通過LM78系列芯片將5V電壓轉(zhuǎn)換為電壓,為STM32F103芯片供電,STM32F103芯片所能承受的電壓范圍是2V~3.6V。

       1.004.jpg

     圖5.2  直流電源電路設(shè)計

5.4  晶振與復(fù)位電路模塊

1.005.jpg 系統(tǒng)的晶振電路如圖5.4所示STM32f103芯片采用8MHz的晶振作為振蕩時鐘源,外部是倍頻72MHz晶振。通過對芯片的進(jìn)行軟件設(shè)計可以將晶體振蕩器的頻率分頻為所需的頻率;系統(tǒng)的復(fù)位電路如圖5.5所示,STM32F103芯片的14號引腳連接到主控芯片的復(fù)位引腳(nRST)上,按下復(fù)位鍵S2時,系統(tǒng)將會復(fù)位到初始的狀態(tài)。

1.006.jpg

  圖5.4 系統(tǒng)的晶振電路圖                                         圖5.5 系統(tǒng)的復(fù)位電路圖

5.5  LED循環(huán)顯示設(shè)計

    由南向北和由北向南車道各用一組紅、綠、黃三色的指示燈,左右兩側(cè)也是各三個燈,指揮車輛通行。綠燈是通行信號,面對綠燈的車輛可以直行,紅燈是禁止通行信號,面對紅燈的車輛必須在路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時可以繼續(xù)行進(jìn)。具體紅綠燈時間分配時間如表5.1所示。

表5—1:紅綠燈時間分配時間如表


1000ms

1000ms

1000ms

1000ms

1000ms

1000ms

主干通道

綠燈亮

黃燈閃

紅燈亮

黃燈閃

紅燈亮

黃燈閃

左右道路

紅燈亮

紅燈亮

綠燈亮

綠燈亮

紅燈亮

紅燈亮

    上表說明主干通道綠燈亮、黃燈閃時人行道都是紅燈亮,只有車道

紅燈亮(車輛完全停下來)時人行道綠燈才亮,這樣保證了過馬路的行人人身安全,避免了不必要的交通事故。硬件電路連接圖如圖5.6所示

1.007.jpg

圖5.6  硬件電路連接圖

交通燈LED的發(fā)光和熄滅的控制,是通過控制GPIO寄存器組來完成的,須先將引腳PA、PB、PD、PE等通過引腳功能選擇寄存器PINSEL1,設(shè)置為GPIO方式;再設(shè)置GPIO方向寄存器1(IO1DIR),對應(yīng)的引腳設(shè)置為輸出方向。要點亮LED1~LED12需要使用GPIO清零寄存器1(IO1CLR)的對應(yīng)位設(shè)置為1,即在引腳PA、PB、PD、PE上加邏輯低電平,即可點亮這些燈。與之相反,要熄滅這些燈,則要用GPIO輸出置位寄存器1(IO1SET)將對應(yīng)的位置位即可。

6 系統(tǒng)軟件設(shè)計及其分析6.1  軟件設(shè)計流程圖

圖6.1為ARM模擬交通燈控制程序流程圖,主程序主要完成倒計時顯示及控制蜂鳴器,中斷服務(wù)程序主要控制那些燈亮以及亮的時間。

1.008.jpg

圖6.1  ARM模擬交通燈控制程序流程圖


6.2   ARM交通燈模擬控制程序設(shè)計

定時器控制原理:定時器對外設(shè)時鐘Fpclk周期進(jìn)行計數(shù),根據(jù)4個匹配寄存器的設(shè)定可設(shè)置為匹配(即達(dá)到匹配寄存器指定的定時值)時產(chǎn)生中斷或執(zhí)行其他操作。

設(shè)置P0、P1口為GPIO輸出狀態(tài),初始化定時器,選定定時器0中斷為向量IRQ,對VICIntEnable、VICIntSelect、VICvectCntl進(jìn)行設(shè)置,初始化SPI接口,根據(jù)設(shè)計要求編寫軟件程序。根據(jù)事先畫好的程序流程圖,用C語言編寫程序,在主程序中對需要用到的I/O口進(jìn)行定義,并設(shè)置相應(yīng)的I/O口,比如要求P1。18~P1。25引腳為GPIO功能,則通過對引腳功能選擇 寄存器PINSEL1將對應(yīng)的引腳設(shè)置為GPIO方式并設(shè)置GPIO方向,在GPIO方向寄存器IO1DIR里設(shè)置,之后對定時器0進(jìn)行初始化,并開相應(yīng)的中斷。然后進(jìn)入大循環(huán)進(jìn)行倒計時顯示、控制蜂鳴器的蜂鳴與否并判斷flag是否加到設(shè)定值,對flag加到設(shè)定值后進(jìn)行清零,讓flag重新計數(shù)。中斷服務(wù)程序的設(shè)計,每隔一秒鐘定時器中斷一次,每中斷一次flag加1根據(jù)LED點亮的先后順序以及點亮的時間,分別編寫相應(yīng)的程序。

7  系統(tǒng)軟件代碼7.1   軟件設(shè)計流程圖



               1.009.jpg

圖7.1  軟件設(shè)計流程圖


7.2   系統(tǒng)軟件代碼

主程序部分:

#include "stm32f10x.h"

#include "led.h"

#include"timer.h"

u32 time=0;//Ms級延時變量

int i;

int main(void)

{            

              LED_GPIO_Configuration();

              TIM2_Config1();

              TIM2_NVIC_Config1();

              TIM_Cmd(TIM2,ENABLE);//開啟TIM2            

while(1){

                i=0;

                Delay_MS(2000);

                            LED2(ON);LED4(ON);LED7(ON);LED10(ON);//直行燈亮

                            Delay_MS(2000);//延時

                            LED2(OFF);//直行燈滅

while(i<10)                            //黃燈閃爍

{   LED3(ON);

                Delay_MS(100);

                            LED3(OFF);

                Delay_MS(100);

                i++;

}

    LED2(OFF);LED4(OFF);LED7(OFF);LED10(OFF);//直行燈結(jié)束

                LED1(ON);LED7(ON);LED10(ON);LED5(ON);//右行燈亮

                            Delay_MS(3000);

                            LED5(OFF);//右行燈滅

i=0;

while(i<10)                           

{   LED6(ON);

                Delay_MS(100);

                            LED6(OFF);

                Delay_MS(100);

                i++;

}

    LED5(OFF);LED1(OFF);LED7(OFF);LED10(OFF);//右行燈結(jié)束

                LED1(ON);LED7(ON);LED4(ON);LED11(ON);//左行燈亮

    Delay_MS(3000);

                            LED11(OFF);//左行燈滅

i=0;

while(i<10)                           

{   LED12(ON);

                Delay_MS(100);

                            LED12(OFF);

                Delay_MS(100);

                i++;

}

    LED11(OFF);LED1(OFF);LED7(OFF);LED4(OFF);//左行燈結(jié)束

                LED1(ON);LED4(ON);LED10(ON);LED8(ON);//后行燈

    Delay_MS(3000);

                            LED1(OFF);LED4(OFF);LED10(OFF);LED8(OFF);//后行燈滅

         }

            

}

底層寄存器配置部分:

void LED_GPIO_Configuration(void)

{

   GPIO_InitTypeDef GPIO_InitStructure;

   /*開啟GPIOC&GPIOE的時鐘 */  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);

   /* Configure PB.04, PB.06 and PB.08*/   

   GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_9 | GPIO_Pin_6 | GPIO_Pin_8 ;

   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//輸出上拉

   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

   GPIO_Init(GPIOB, &GPIO_InitStructure);

   /* Configure PA.08, PA.10 and PA.12 */

   GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_8 | GPIO_Pin_10 | GPIO_Pin_12 ;

   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//輸出上拉

   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

   GPIO_Init(GPIOA, &GPIO_InitStructure);

            

                 /* Configure PD.10, PD.12 and PD.08 */   

   GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_10 | GPIO_Pin_12 | GPIO_Pin_15;

   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//輸出上拉

   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

   GPIO_Init(GPIOD, &GPIO_InitStructure);

            

                 /* Configure PE.07, PE.11 and PE.15 */   

   GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_7 | GPIO_Pin_11 | GPIO_Pin_15;

   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//輸出上拉

   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

   GPIO_Init(GPIOE, &GPIO_InitStructure);

                LED1(OFF);LED2(OFF);LED3(OFF);LED4(OFF);LED5(OFF);LED6(OFF);LED7(OFF);LED8(OFF);LED9(OFF);LED10(OFF);LED11(OFF);LED12(OFF);

內(nèi)聯(lián)函數(shù)定義LED函數(shù)部分:

#ifndef _LED_H

#define _LED_H

#include"stm32f10x.h"

#define              ON  0

#define OFF 1

/***************內(nèi)聯(lián)函數(shù)定義LED函數(shù)****************/

#define LED1(a)              if (a)              

                                                                      GPIO_SetBits(GPIOB,GPIO_Pin_8);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOB,GPIO_Pin_8)

#define LED4(a)              if (a)              

                                                                      GPIO_SetBits(GPIOA,GPIO_Pin_12);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOA,GPIO_Pin_12)

#define LED7(a)              if (a)              

                                                                      GPIO_SetBits(GPIOD,GPIO_Pin_10);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOD,GPIO_Pin_10)

#define LED10(a)              if (a)              

                                                                      GPIO_SetBits(GPIOE,GPIO_Pin_15);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOE,GPIO_Pin_15)

#define LED2(a)              if (a)              

                                                                      GPIO_SetBits(GPIOB,GPIO_Pin_6);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOB,GPIO_Pin_6)

#define LED5(a)              if (a)              

                                                                      GPIO_SetBits(GPIOA,GPIO_Pin_10);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOA,GPIO_Pin_10)

#define LED8(a)              if (a)              

                                                                      GPIO_SetBits(GPIOD,GPIO_Pin_12);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOD,GPIO_Pin_12)

#define LED11(a)              if (a)              

                                                                      GPIO_SetBits(GPIOE,GPIO_Pin_11);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOE,GPIO_Pin_11)                                       

#define LED3(a)              if (a)              

                                                                      GPIO_SetBits(GPIOB,GPIO_Pin_9);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOB,GPIO_Pin_9)

#define LED6(a)              if (a)              

                                                                      GPIO_SetBits(GPIOA,GPIO_Pin_8);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOA,GPIO_Pin_8)

#define LED9(a)              if (a)              

                                                                      GPIO_SetBits(GPIOD,GPIO_Pin_15);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOD,GPIO_Pin_15)

#define LED12(a)              if (a)              

                                                                      GPIO_SetBits(GPIOE,GPIO_Pin_7);

                                                                      else                           

                                                                      GPIO_ResetBits(GPIOE,GPIO_Pin_7)                                                                    

void               LED_GPIO_Configuration(void);

#endif

8  Keil軟件的運用與調(diào)試

根據(jù)事先畫好的程序流程圖,用C語言編寫程序,并成功生成HEX文件,利用keil軟件編譯結(jié)果如圖8.1 所示。

1.010.jpg

圖8.1 編譯結(jié)果示意圖

調(diào)試過程截圖:

1.011.jpg




1.012.jpg


設(shè)計為系統(tǒng)上電即點亮車道紅燈以及馬路綠燈,倒計時1000ms紅燈開始閃爍,同時馬路紅燈亮,紅燈閃1000ms接著轉(zhuǎn)為黃燈閃1000ms,然后車輛通道轉(zhuǎn)為綠燈亮,1000ms后綠燈閃1000ms,黃燈再閃1000ms之后又回到紅燈亮,人行道只在車輛通道紅燈時才亮綠燈。這主要靠在中斷服務(wù)程序中對計數(shù)值flag的判斷來對正在點亮的燈進(jìn)行定時實現(xiàn)程序詳細(xì)清單見附錄。

9 實物演示照片

1.013.jpg

1.014.jpg

1.015.jpg 1.016.jpg



1.017.jpg


10 作品電路的PCB圖

在設(shè)計好軟件流程圖以及焊接好硬件電路后,用Altium Designer軟件進(jìn)行電路的PCB設(shè)計,下圖是主電路芯片的PCB:

    1.018.jpg

11 設(shè)計心得體會及總結(jié)

1、因為設(shè)計中所用的一些工具,平時雖然接觸過,但研究不夠深入,所以此次課程設(shè)計

在選好題目之后對設(shè)計所需資料進(jìn)行了系統(tǒng)查詢和整理,其中包括了我們學(xué)習(xí)過程中用

到的課本和網(wǎng)上搜索的期刊文獻(xiàn)等;

2、此次嵌入式實驗是比較全面的一個實驗,所涉及的內(nèi)容十分廣泛,包括底層硬件結(jié)構(gòu)

以及上層操作系統(tǒng)、驅(qū)動程序等方面,在實驗過程中雖然遇到了各種各樣的問題,但解

決問題的同時也鍛煉了我們分析問題的能力以及動手能力,做完后感覺獲益匪淺;

3、回顧此次ARM課程設(shè)計,我感慨很多,在這幾星期里,可以說苦多于甜,但是確實

又學(xué)到了很多東西,不僅鞏固了以前所學(xué)的知識,而且學(xué)到了很多書本上沒有的新的知

識。在設(shè)計調(diào)試的過程中遇到了各種各樣的問題,同時也發(fā)現(xiàn)了自己的不足之處;

4、在編譯和調(diào)試的過程中,由進(jìn)一步加強了自己編程和改錯的能力,通過研究這方面的

課題,可以更深刻地理解交通信號燈的整個過程,同時也加強了嵌入式學(xué)習(xí)的技巧。由

于時間的關(guān)系,只能做到這些功能,我知道想要實現(xiàn)功能更強大的交通信號燈,還有大

量的工作要做,希望以后還可以進(jìn)一步接觸此類設(shè)計。



評分

參與人數(shù) 4黑幣 +15 收起 理由
jscsd226 + 5 贊一個!
YHH(haoge) + 2 淡定
123lifei + 5 贊一個!
a570477522 + 3 贊一個!

查看全部評分

回復(fù)

使用道具 舉報

ID:1009935 發(fā)表于 2022-3-13 15:55 | 顯示全部樓層
有沒有車流量檢測功能
回復(fù)

使用道具 舉報

ID:988813 發(fā)表于 2021-12-6 20:07 | 顯示全部樓層
很詳細(xì)的文件,非常感謝
回復(fù)

使用道具 舉報

ID:864872 發(fā)表于 2021-1-3 21:37 | 顯示全部樓層
lyln 發(fā)表于 2020-7-7 08:11
請問文檔里有proteus仿真圖嗎,有源程序嗎

撒都沒有就一word
回復(fù)

使用道具 舉報

ID:864872 發(fā)表于 2021-1-3 21:36 | 顯示全部樓層
word?何用?
回復(fù)

使用道具 舉報

ID:831026 發(fā)表于 2020-12-26 15:23 | 顯示全部樓層
樓主,有程序嗎?
回復(fù)

使用道具 舉報

ID:798899 發(fā)表于 2020-7-7 10:37 | 顯示全部樓層
請問這個配置底層文件怎么搞的
回復(fù)

使用道具 舉報

ID:796954 發(fā)表于 2020-7-7 08:11 來自觸屏版 | 顯示全部樓層
請問文檔里有proteus仿真圖嗎,有源程序嗎
回復(fù)

使用道具 舉報

ID:797298 發(fā)表于 2020-7-4 17:45 | 顯示全部樓層
有沒有仿真圖啊
回復(fù)

使用道具 舉報

ID:785397 發(fā)表于 2020-6-20 22:12 | 顯示全部樓層
這個很好,路人 甲學(xué)習(xí)了。
回復(fù)

使用道具 舉報

ID:783233 發(fā)表于 2020-6-18 14:54 | 顯示全部樓層
膩害
回復(fù)

使用道具 舉報

ID:384904 發(fā)表于 2020-6-17 21:42 | 顯示全部樓層
厲害 不錯,攢個
回復(fù)

使用道具 舉報

ID:780603 發(fā)表于 2020-6-16 08:39 | 顯示全部樓層
贊!要是有仿真圖就好了 能看得更明白
回復(fù)

使用道具 舉報

ID:666560 發(fā)表于 2019-12-17 19:26 | 顯示全部樓層
贊一個!很棒呦!有完整的程序代碼就更好了!
回復(fù)

使用道具 舉報

ID:663385 發(fā)表于 2019-12-13 17:07 | 顯示全部樓層
大佬。太厲害了
回復(fù)

使用道具 舉報

ID:323384 發(fā)表于 2019-10-22 13:12 | 顯示全部樓層
謝謝你的分享,剛好用到這些知識!
回復(fù)

使用道具 舉報

ID:272485 發(fā)表于 2019-10-21 19:31 | 顯示全部樓層
謝謝了
回復(fù)

使用道具 舉報

ID:605812 發(fā)表于 2019-8-31 15:07 | 顯示全部樓層

贊一個,很實用
回復(fù)

使用道具 舉報

ID:586108 發(fā)表于 2019-7-18 10:56 | 顯示全部樓層
贊一個
回復(fù)

使用道具 舉報

ID:573727 發(fā)表于 2019-6-28 14:31 | 顯示全部樓層
學(xué)習(xí)了。。。。。
回復(fù)

使用道具 舉報

ID:564604 發(fā)表于 2019-6-17 15:20 | 顯示全部樓層
不知道有沒有完整代碼
回復(fù)

使用道具 舉報

ID:460382 發(fā)表于 2019-1-2 19:48 | 顯示全部樓層
很棒 很給力
回復(fù)

使用道具 舉報

ID:242804 發(fā)表于 2018-6-6 15:42 | 顯示全部樓層
很不錯,要是能夠分享出程序一起學(xué)習(xí)就更好
回復(fù)

使用道具 舉報

ID:256553 發(fā)表于 2018-5-27 22:04 | 顯示全部樓層
有沒有完整的程序及電路圖做為參考
回復(fù)

使用道具 舉報

ID:307765 發(fā)表于 2018-4-14 08:57 | 顯示全部樓層
led.h和time是怎么配置的?
回復(fù)

使用道具 舉報

ID:218480 發(fā)表于 2017-7-10 14:01 | 顯示全部樓層
厲害 不錯,攢個
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表