找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 31502|回复: 25
收起左侧

基于STM32的十字路口交通灯控制系统设计

  [复制链接]
ID:215634 发表于 2017-6-28 22:03 | 显示全部楼层 |阅读模式
这是我近期单片机的作品,查阅大约资料自己做的

十字路口交通灯控制系统

随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要求。嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的Linux,WINCE等等。本文所要研究的就是基于ARM嵌入式系统的交通灯系统的设计与实现。本设计采用了ARM32位的Cortex-M3 CPU的内核的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.


目 录

一 引言
二 相关内容和原理              1
三 作品设计要求              1
四 作品方案设计              2

4.1              设计思路              2

4.2              总体设计框图              3

4.3              总体方案设计参数计算              4

五  系统硬件电路设计及分析              4

5.1              STM32f103芯片介绍及选用              4

5.2              单片机电路原理图及分析              4

5.3              电源电路模块原理图及分析              5

5.4              晶振与复位电路模块原理图              5

5.5              LED交通灯电路原理图及分析              6

六 系统软件设计及其分析              7

6.1              软件设计流程图              8

6.2              ARM交通灯控制软件设计              8

七 系统软件代码              9

   7.1 软件设计流程图………………………………………………… ………………………9

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

八 Keil软件的运用与调试……………………… ……………………………………………16

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

十 作品电路的PCB图……………………………………………………………………… …19

十一 设计心得及体会……………………………………………………………………………20

十二 参考文献…………………………… …………… ………………………………………21



1引言

交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。在城乡街道的十字交叉路口,为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行; 黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

    本文为了实现交通道路的管理,力求交通管理先进性、科学化。 分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。

2  相关内容及原理

通过设计,培养自己综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练,加深对ARM芯片的了解;熟悉ARM芯片各个引脚的功能,工作方式,计数/定时,I/O口,中断等相关原理,巩固学习嵌入式的相关内容知识。

利用ARM芯片模拟实现交通灯控制,自行选择所需ARM芯片,查阅相关文献资料,熟悉所选ARM芯片,了解所选ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等相关原理,通过软硬件设计实现利用ARM芯片完成交通灯的模拟控制。

3  作品设计要求

要求基于Cortex系列单片机设计一具有模拟道路路口交通灯相应功能的交通灯模拟系统。具体要求如下:

(1)具有三种颜色显示:红色、绿色和黄色,分别代表路口交通灯的三种颜色。

    (2)所设计的系统应至少能够模拟两个路口的功能,具有直行和左转的功能。

     (3)如果能力和时间允许,可以加入操作系统。

     (4)适当加入一些其他元素,使其更加具有人性化设计。


4 作品方案设计4.1 设计思路

利用STM32F103芯片实现单路交通灯的控制: a 实现红、绿、黄灯的循环控制。使用红、黄、绿三种不同颜色的LED灯实现此功能,主干道正前方方向的LED灯,编号分别为1、2、3,分别接在单片机的PB8、PB6、PB9的引脚上;主干道右方的LED灯,编号分别为4、5、6,分别接在单片机的PA14、PA10、PA8的引脚上;主干道后侧的LED灯,编号分别为7、8、9,分别接在单片机的PD10、PD12、PD14引脚上。主干道左方的LED灯,编号分别为10、11、12,分别接在单片机的PE7、PE11、PE15引脚上。以此实现四个路口的交通灯模拟系统。用软件控制灯的亮与灭来控制车辆和行人的通行。

交通路口示意图如图4.1车辆遇到红灯停绿灯行的行走情况,红绿灯时间均为2000ms,切换时间为2000ms,最后2000ms为黄灯闪烁。

1.001.jpg

                图4.1  交通路口示意图

4.2 总体设计框图

用ARM系列芯片STM32F103作为系统的主控芯片,控制交通灯的循环点亮并显示灯亮时间(采用倒计时显示),当定时时间到的时候通过灯的状态来提醒人们注意红绿灯的状态。

1.002.jpg

图4.2  交通灯总体设计框图


5 硬件电路模块设计及其分析

根据设计任务要求,自行选择电子元件,画出电气原理图,并调试。一个完整的系统除了主控芯片以外,还需配上电源系统、时钟电路、复位电路等。独立的芯片是不能工作的。

5.1  STM32F103芯片介绍

     STM32F103是基于一个支持实时仿真和嵌入式跟踪的32 位 CPU 的微控制器,STM32F1系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。该系列芯片按片内Flash的大小可分为三大类:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。芯片集成定时器,CAN,ADC,SPI,I2C,USB,UART,等多种功能。

具有以下一些特性:

  •          ARM 32位的Cortex-M3
  •          高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHZ(DhrystONe2.1)从32K到512K字节的闪存程序存储器最大64K字节SRAM
  •          2.0-3.6V供电和I/O引脚
  •          上电/断电复位(POR/PDR)、可编程电压监测器(PVD
  •          4-16MHZ晶振振荡器
  •          内嵌经出厂调教的8MHz的RC振荡器
  •          2个12位模数转换器,1us转换时间(多达16个输入通道)转换范围:0至3.6V双采样和保持功能
  •          2个DMA控制器,共12个DMA通道:DMA1有7个通道,DMA2有5个通道
  •          片内晶振频率范围:130 MHz
  •          通过片内PLL可实现最大为60MHz的CPU操作频率,PLL的稳定时间

为100us

  •          支持的外设:定时器、ADC、SPI、USB、IIC和UART
  •          多达112个快速I/O端口(仅Z系列有超过100个引脚)
  •          3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入
  •          1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器
  •          ECOPACK封装
5.2  STM32F103主电路原理图

图5.1为STM32F103芯片的原理图,多达100个引脚,采用3.3V或者5V电源供电,设计所需外接器件的网络名已经标出。

1.003.jpg

图5.1  STM32F103芯片的原理图


5.3  系统电源电路设计

本电源运用5V的直流电源(图5.2所示)。通过LM78系列芯片将5V电压转换为电压,为STM32F103芯片供电,STM32F103芯片所能承受的电压范围是2V~3.6V。

       1.004.jpg

     图5.2  直流电源电路设计

5.4  晶振与复位电路模块

1.005.jpg 系统的晶振电路如图5.4所示STM32f103芯片采用8MHz的晶振作为振荡时钟源,外部是倍频72MHz晶振。通过对芯片的进行软件设计可以将晶体振荡器的频率分频为所需的频率;系统的复位电路如图5.5所示,STM32F103芯片的14号引脚连接到主控芯片的复位引脚(nRST)上,按下复位键S2时,系统将会复位到初始的状态。

1.006.jpg

  图5.4 系统的晶振电路图                                         图5.5 系统的复位电路图

5.5  LED循环显示设计

    由南向北和由北向南车道各用一组红、绿、黄三色的指示灯,左右两侧也是各三个灯,指挥车辆通行。绿灯是通行信号,面对绿灯的车辆可以直行,红灯是禁止通行信号,面对红灯的车辆必须在路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以继续行进。具体红绿灯时间分配时间如表5.1所示。

表5—1:红绿灯时间分配时间如表


1000ms

1000ms

1000ms

1000ms

1000ms

1000ms

主干通道

绿灯亮

黄灯闪

红灯亮

黄灯闪

红灯亮

黄灯闪

左右道路

红灯亮

红灯亮

绿灯亮

绿灯亮

红灯亮

红灯亮

    上表说明主干通道绿灯亮、黄灯闪时人行道都是红灯亮,只有车道

红灯亮(车辆完全停下来)时人行道绿灯才亮,这样保证了过马路的行人人身安全,避免了不必要的交通事故。硬件电路连接图如图5.6所示

1.007.jpg

图5.6  硬件电路连接图

交通灯LED的发光和熄灭的控制,是通过控制GPIO寄存器组来完成的,须先将引脚PA、PB、PD、PE等通过引脚功能选择寄存器PINSEL1,设置为GPIO方式;再设置GPIO方向寄存器1(IO1DIR),对应的引脚设置为输出方向。要点亮LED1~LED12需要使用GPIO清零寄存器1(IO1CLR)的对应位设置为1,即在引脚PA、PB、PD、PE上加逻辑低电平,即可点亮这些灯。与之相反,要熄灭这些灯,则要用GPIO输出置位寄存器1(IO1SET)将对应的位置位即可。

6 系统软件设计及其分析6.1  软件设计流程图

图6.1为ARM模拟交通灯控制程序流程图,主程序主要完成倒计时显示及控制蜂鸣器,中断服务程序主要控制那些灯亮以及亮的时间。

1.008.jpg

图6.1  ARM模拟交通灯控制程序流程图


6.2   ARM交通灯模拟控制程序设计

定时器控制原理:定时器对外设时钟Fpclk周期进行计数,根据4个匹配寄存器的设定可设置为匹配(即达到匹配寄存器指定的定时值)时产生中断或执行其他操作。

设置P0、P1口为GPIO输出状态,初始化定时器,选定定时器0中断为向量IRQ,对VICIntEnable、VICIntSelect、VICvectCntl进行设置,初始化SPI接口,根据设计要求编写软件程序。根据事先画好的程序流程图,用C语言编写程序,在主程序中对需要用到的I/O口进行定义,并设置相应的I/O口,比如要求P1。18~P1。25引脚为GPIO功能,则通过对引脚功能选择 寄存器PINSEL1将对应的引脚设置为GPIO方式并设置GPIO方向,在GPIO方向寄存器IO1DIR里设置,之后对定时器0进行初始化,并开相应的中断。然后进入大循环进行倒计时显示、控制蜂鸣器的蜂鸣与否并判断flag是否加到设定值,对flag加到设定值后进行清零,让flag重新计数。中断服务程序的设计,每隔一秒钟定时器中断一次,每中断一次flag加1根据LED点亮的先后顺序以及点亮的时间,分别编写相应的程序。

7  系统软件代码7.1   软件设计流程图



               1.009.jpg

图7.1  软件设计流程图


7.2   系统软件代码

主程序部分:

#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);//直行灯结束

                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);//右行灯结束

                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);//左行灯结束

                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);

内联函数定义LED函数部分:

#ifndef _LED_H

#define _LED_H

#include"stm32f10x.h"

#define              ON  0

#define OFF 1

/***************内联函数定义LED函数****************/

#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软件的运用与调试

根据事先画好的程序流程图,用C语言编写程序,并成功生成HEX文件,利用keil软件编译结果如图8.1 所示。

1.010.jpg

图8.1 编译结果示意图

调试过程截图:

1.011.jpg




1.012.jpg


设计为系统上电即点亮车道红灯以及马路绿灯,倒计时1000ms红灯开始闪烁,同时马路红灯亮,红灯闪1000ms接着转为黄灯闪1000ms,然后车辆通道转为绿灯亮,1000ms后绿灯闪1000ms,黄灯再闪1000ms之后又回到红灯亮,人行道只在车辆通道红灯时才亮绿灯。这主要靠在中断服务程序中对计数值flag的判断来对正在点亮的灯进行定时实现程序详细清单见附录。

9 实物演示照片

1.013.jpg

1.014.jpg

1.015.jpg 1.016.jpg



1.017.jpg


10 作品电路的PCB图

在设计好软件流程图以及焊接好硬件电路后,用Altium Designer软件进行电路的PCB设计,下图是主电路芯片的PCB:

    1.018.jpg

11 设计心得体会及总结

1、因为设计中所用的一些工具,平时虽然接触过,但研究不够深入,所以此次课程设计

在选好题目之后对设计所需资料进行了系统查询和整理,其中包括了我们学习过程中用

到的课本和网上搜索的期刊文献等;

2、此次嵌入式实验是比较全面的一个实验,所涉及的内容十分广泛,包括底层硬件结构

以及上层操作系统、驱动程序等方面,在实验过程中虽然遇到了各种各样的问题,但解

决问题的同时也锻炼了我们分析问题的能力以及动手能力,做完后感觉获益匪浅;

3、回顾此次ARM课程设计,我感慨很多,在这几星期里,可以说苦多于甜,但是确实

又学到了很多东西,不仅巩固了以前所学的知识,而且学到了很多书本上没有的新的知

识。在设计调试的过程中遇到了各种各样的问题,同时也发现了自己的不足之处;

4、在编译和调试的过程中,由进一步加强了自己编程和改错的能力,通过研究这方面的

课题,可以更深刻地理解交通信号灯的整个过程,同时也加强了嵌入式学习的技巧。由

于时间的关系,只能做到这些功能,我知道想要实现功能更强大的交通信号灯,还有大

量的工作要做,希望以后还可以进一步接触此类设计。



评分

参与人数 4黑币 +15 收起 理由
jscsd226 + 5 赞一个!
YHH(haoge) + 2 淡定
123lifei + 5 赞一个!
a570477522 + 3 赞一个!

查看全部评分

回复

使用道具 举报

ID:218480 发表于 2017-7-10 14:01 | 显示全部楼层
厉害 不错,攒个
回复

使用道具 举报

ID:307765 发表于 2018-4-14 08:57 | 显示全部楼层
led.h和time是怎么配置的?
回复

使用道具 举报

ID:256553 发表于 2018-5-27 22:04 | 显示全部楼层
有没有完整的程序及电路图做为参考
回复

使用道具 举报

ID:242804 发表于 2018-6-6 15:42 | 显示全部楼层
很不错,要是能够分享出程序一起学习就更好
回复

使用道具 举报

ID:460382 发表于 2019-1-2 19:48 | 显示全部楼层
很棒 很给力
回复

使用道具 举报

ID:564604 发表于 2019-6-17 15:20 | 显示全部楼层
不知道有没有完整代码
回复

使用道具 举报

ID:573727 发表于 2019-6-28 14:31 | 显示全部楼层
学习了。。。。。
回复

使用道具 举报

ID:586108 发表于 2019-7-18 10:56 | 显示全部楼层
赞一个
回复

使用道具 举报

ID:605812 发表于 2019-8-31 15:07 | 显示全部楼层

赞一个,很实用
回复

使用道具 举报

ID:272485 发表于 2019-10-21 19:31 | 显示全部楼层
谢谢了
回复

使用道具 举报

ID:323384 发表于 2019-10-22 13:12 | 显示全部楼层
谢谢你的分享,刚好用到这些知识!
回复

使用道具 举报

ID:663385 发表于 2019-12-13 17:07 | 显示全部楼层
大佬。太厉害了
回复

使用道具 举报

ID:666560 发表于 2019-12-17 19:26 | 显示全部楼层
赞一个!很棒呦!有完整的程序代码就更好了!
回复

使用道具 举报

ID:780603 发表于 2020-6-16 08:39 | 显示全部楼层
赞!要是有仿真图就好了 能看得更明白
回复

使用道具 举报

ID:384904 发表于 2020-6-17 21:42 | 显示全部楼层
厉害 不错,攒个
回复

使用道具 举报

ID:783233 发表于 2020-6-18 14:54 | 显示全部楼层
腻害
回复

使用道具 举报

ID:785397 发表于 2020-6-20 22:12 | 显示全部楼层
这个很好,路人 甲学习了。
回复

使用道具 举报

ID:797298 发表于 2020-7-4 17:45 | 显示全部楼层
有没有仿真图啊
回复

使用道具 举报

ID:796954 发表于 2020-7-7 08:11 来自手机 | 显示全部楼层
请问文档里有proteus仿真图吗,有源程序吗
回复

使用道具 举报

ID:798899 发表于 2020-7-7 10:37 | 显示全部楼层
请问这个配置底层文件怎么搞的
回复

使用道具 举报

ID:831026 发表于 2020-12-26 15:23 | 显示全部楼层
楼主,有程序吗?
回复

使用道具 举报

ID:864872 发表于 2021-1-3 21:36 | 显示全部楼层
word?何用?
回复

使用道具 举报

ID:864872 发表于 2021-1-3 21:37 | 显示全部楼层
lyln 发表于 2020-7-7 08:11
请问文档里有proteus仿真图吗,有源程序吗

撒都没有就一word
回复

使用道具 举报

ID:988813 发表于 2021-12-6 20:07 | 显示全部楼层
很详细的文件,非常感谢
回复

使用道具 举报

ID:1009935 发表于 2022-3-13 15:55 | 显示全部楼层
有没有车流量检测功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表