题目一:交通灯
一 实训任务
利用ARM-Cortex A9实验箱扩展口控制各个路口红绿灯及时间显示,设计一个交通灯控制系统,交通灯示意图如图1所示。
图1 交通灯示意图
二 实训要求
1、基本要求
(1) 按照题目要求独立设计系统所需电路,并完成电路的实际制作。
(2)在十字交叉路口,东南西北各方向都设置红、黄、绿色信号灯,红灯亮表示禁止通行,绿灯亮表示可以通行,红灯灭之前5秒钟黄灯开始闪烁直到绿灯亮起后黄灯熄灭。其中东西方向为主干道,南北方向为次干道,各个方向分别设置两位数码管,用来显示红灯和绿灯倒计时间,东西方向时间一致,南北方向时间一致。
(3)开机时主干道为60秒倒计时,次干道为40秒倒计时。
(4)单独设计人行道指示灯标志,当禁止行走时为红灯,当可以横穿马路时,绿灯亮起,在禁止通行之前10秒钟绿灯开始闪烁(以警示行人),最终红灯亮起绿灯熄灭。
2、接口要求
使用51单片机完成与ARM-Cortex A9实验箱的连接,单片机模块只是完成通信与显示功能。所以的控制只能在arm中实现(既断开接口连接,显示相关功能无效)。
注意:单片机承担信息输入、输出的“中转站”功能,不承担主控任务。
3、发挥部分
(1)设定紧急状况行车,如遇火警、医护急救等。
(2)通过按键可随意设定主干道与次干道时间。
(3)结合语音芯片,实现语音播报功能,进行语音提示。
三、实验原理
ARM端:以ARM-Cortex A9系列的S5P4418 实验箱为主板,编写代码,实现交通灯的功能,同时将交通灯相关数据通过串口送至单片机端。
单片机端:单片机设计一个交通灯电路作为从板,Keil C开发平台编写程序下载到单片机端,接收ARM实验箱从串口传输过来的数据并显示。
元器件清单:
单片机带座:stc89c52,插针一排,晶振(11.0592)1个,电容(2个22pf,4个105,1个10uf),电阻(1个10k,6个1k,10个460,1个200,共阴数码管(两位一体一个),红绿灯(各6个)黄灯(4个),复位按键(7个),DB9(公与母各一个),DB9座(公,90度一个),5个8050三极管,一个蜂鸣器,1米三芯线,1个电平转换max232
嵌入式微处理器应用实训需要焊板,用AD画原理图和pcb图
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
阿里嘎多学长 2025-04-24 10:02关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
嵌入式微处理器应用实训需要焊板,用AD画原理图和pcb图
你需要设计一个交通灯控制系统,使用ARM-Cortex A9实验箱扩展口控制各个路口红绿灯及时间显示。下面是一个基本的解决方案:
- 硬件设计:
- 使用ARM-Cortex A9实验箱扩展口作为控制单元。
- 添加红绿灯控制模块,包括红绿灯驱动电路和控制逻辑。
- 添加时间显示模块,包括显示器和控制逻辑。
- 使用焊板将所有模块连接起来。
- 软件设计:
- 使用C语言编写控制逻辑,使用ARM-Cortex A9实验箱扩展口的GPIO口控制红绿灯和时间显示。
- 使用AD画原理图和PCB图,设计交通灯控制系统的硬件布局和连接。
- 实现步骤:
- 设计红绿灯控制模块的电路图和PCB图。
- 设计时间显示模块的电路图和PCB图。
- 使用ARM-Cortex A9实验箱扩展口的GPIO口控制红绿灯和时间显示。
- 使用AD画原理图和PCB图,实现交通灯控制系统的硬件布局和连接。
以下是一个简单的示例代码,用于控制红绿灯:
#include <stdint.h> #include <stdbool.h> #include "arm_cortex_a9.h" #define RED_PIN 0 #define GREEN_PIN 1 int main(void) { // 初始化GPIO口 GPIO_Init(RED_PIN, GPIO_MODE_OUT); GPIO_Init(GREEN_PIN, GPIO_MODE_OUT); // 设置红绿灯初始状态 GPIO_Write(RED_PIN, 1); GPIO_Write(GREEN_PIN, 0); // 循环控制红绿灯 while (1) { // 控制红灯 GPIO_Write(RED_PIN, 1); delay(1000); // 控制绿灯 GPIO_Write(GREEN_PIN, 1); delay(1000); } return 0; }这个示例代码使用ARM-Cortex A9实验箱扩展口的GPIO口控制红绿灯,红绿灯的初始状态是红灯亮,绿灯灭,然后循环控制红绿灯的状态。
解决 无用评论 打赏 举报- 硬件设计: