STM32 Proteus仿真红绿灯行人过马路十字马路-0029

该文介绍了使用STM32F103C6单片机和74HC595芯片在Proteus环境中进行的红绿灯控制系统仿真,包括机动车和行人指示灯,以及行人请求按键功能。系统具有倒计时和缓冲时间,确保交通顺畅。此外,还提供了南北、东西通行键以及黄灯和正常模式切换。用户可以在UP主“单片机仿真汇”的B站空间找到详细视频教程和电路图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32 Proteus仿真红绿灯行人过马路十字马路-0029

Proteus仿真小实验:

STM32 Proteus仿真红绿灯行人过马路十字马路-0029

功能:

硬件组成:STM32F103C6单片机 +74HC595串入并出芯片+4个2位数码管显示十字路口红绿灯时间+多个按键+2个2位数码管显示人行横道绿灯时间

1.包含机动车指示灯(红、黄、绿灯)及行人斑马线人行指示灯(通行、禁止灯)

2.包含行人过马路请求按键功用,行人按下请求按键后:当前行人可以通行,不响应,.当前行人不可以通行,立即设置为13秒(如果小于13秒则不动作)缓冲时间(红灯10秒黄灯3秒),这样做的目的,不会让交通混乱、也不会让对面的行人无法通过,也可以让减少按按钮的行人等待时间。

3.可提供倒计时功能。

4.有南北通行键,点击后南北可以通行。有东西通行键点击后东西可以通行。

5.有黄灯模式点击后,全部黄灯。有正常模式键点击后正常模式。

有功能视频哦:

可以哔哩哔哩B站搜索UP主“单片机仿真汇”。在其空间中搜索关键词“红绿灯”即可找到对应详细功能视频和介绍。

电路图:

部分源代码:

void main()

{

if(work_mode == WORK_MODE_ZC)

{

//更改数码管缓冲

Seg_buffer[0]=DX_time_work/10; //东西十位

Seg_buffer[1]=DX_time_work%10; //东西个位

Seg_buffer[2]=NB_time_work/10; //南北十位

Seg_buffer[3]=NB_time_work%10; //南北个位

if(DX_time_work > NB_time_work)

{

Seg_buffer[4]=DX_time_work/10; //南北人行十位

Seg_buffer[5]=DX_time_work%10; //南北人行个位

Seg_buffer[6]=0x0A;//红灯不显示

Seg_buffer[7]=0x0A;//红灯不显示

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值