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;//红灯不显示
}
}