久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
stm32的交通信號燈控制系統(tǒng)程序
[打印本頁]
作者:
133470
時間:
2020-6-21 23:30
標題:
stm32的交通信號燈控制系統(tǒng)程序
#include "Trifficlight.h"
#include "led.h"
extern volatile u32 time; //s計時
extern int key; //鍵值
void Delay(__IO u32 nCount); //簡單的延時函數(shù)
void control1(void)
{
if(time<=30)//主干道
{
B_red(ON);B_yellow(OFF);B_green_l(OFF);B_green_s(OFF);B_green_r(OFF);
C_red(OFF);C_yellow(OFF);C_green_l(OFF);C_green_s(ON);C_green_r(OFF);
}
else if(time<=55)
{
B_red(ON);B_yellow(OFF);B_green_l(OFF);B_green_s(OFF);B_green_r(OFF);
C_red(OFF);C_yellow(OFF);C_green_l(ON);C_green_s(OFF);C_green_r(ON);
}
else if(time<=60)
{
B_red(ON);B_yellow(OFF);B_green_l(OFF);B_green_s(OFF);B_green_r(OFF);
C_red(OFF);C_yellow(ON);C_green_l(OFF);C_green_s(OFF);C_green_r(OFF);
if(time%2) {C_yellow(ON);}
else {C_yellow(OFF);}
}
else if(time<=90)
{
B_red(OFF);B_yellow(OFF);B_green_l(OFF);B_green_s(ON);B_green_r(OFF);
C_red(ON);C_yellow(OFF);C_green_l(OFF);C_green_s(OFF);C_green_r(OFF);
}
else if(time<=115)
{
B_red(OFF);B_yellow(OFF);B_green_l(ON);B_green_s(OFF);B_green_r(ON);
C_red(ON);C_yellow(OFF);C_green_l(OFF);C_green_s(OFF);C_green_r(OFF);
}
else
{
B_red(OFF);B_yellow(ON);B_green_l(OFF);B_green_s(OFF);B_green_r(OFF);
C_red(ON);C_yellow(OFF);C_green_l(OFF);C_green_s(OFF);C_green_r(OFF);
if(time%2) {B_yellow(ON);}
else {B_yellow(OFF);}
}
if(time<=30) //人行道
{
Br_green(ON); Br_red(OFF);
}
else
{
Br_green(OFF); Br_red(ON);
}
if(time<=60)
{
Cr_green(OFF); Cr_red(ON);
}
else if(time<=90)
{
Cr_green(ON); Cr_red(OFF);
}
else
{
Cr_green(OFF); Cr_red(ON);
}
if(time<=30)//主干道
{
LEDC( ON ); LEDB( ON );LEDA( OFF );//選擇第二個數(shù)碼管
LED_DUANMA((60-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第一個數(shù)碼管
LED_DUANMA((60-time)%10); //b方向
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第五個數(shù)碼管
LED_DUANMA((30-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第六個數(shù)碼管
LED_DUANMA((30-time)%10); //c方向
Delay(0x000FEF);
}
else if(time<=55)
{
LEDC( ON ); LEDB( ON );LEDA( OFF );//選擇第二個數(shù)碼管
LED_DUANMA((60-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第一個數(shù)碼管
LED_DUANMA((60-time)%10); //b方向
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第五個數(shù)碼管
LED_DUANMA((55-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第六個數(shù)碼管
LED_DUANMA((55-time)%10); //c方向
Delay(0x000FEF);
}
else if(time<=60)
{
LEDC( ON ); LEDB( ON );LEDA( OFF );//選擇第二個數(shù)碼管
LED_DUANMA((60-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第一個數(shù)碼管
LED_DUANMA((60-time)%10); //b方向
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第五個數(shù)碼管
LED_DUANMA((60-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第六個數(shù)碼管
LED_DUANMA((60-time)%10); //c方向
Delay(0x000FEF);
}
else if(time<=90)
{
LEDC( ON ); LEDB( ON );LEDA( OFF );//選擇第二個數(shù)碼管
LED_DUANMA((90-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第一個數(shù)碼管
LED_DUANMA((90-time)%10); //b方向
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第五個數(shù)碼管
LED_DUANMA((120-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第六個數(shù)碼管
LED_DUANMA((120-time)%10); //c方向
Delay(0x000FEF);
}
else if(time<=115)
{
LEDC( ON ); LEDB( ON );LEDA( OFF );//選擇第二個數(shù)碼管
LED_DUANMA((115-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第一個數(shù)碼管
LED_DUANMA((115-time)%10); //b方向
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第五個數(shù)碼管
LED_DUANMA((120-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第六個數(shù)碼管
LED_DUANMA((120-time)%10); //c方向
Delay(0x000FEF);
}
else
{
LEDC( ON ); LEDB( ON );LEDA( OFF );//選擇第二個數(shù)碼管
LED_DUANMA((120-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第一個數(shù)碼管
LED_DUANMA((120-time)%10); //b方向
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第五個數(shù)碼管
LED_DUANMA((120-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第六個數(shù)碼管
LED_DUANMA((120-time)%10); //c方向
Delay(0x000FEF);
}
if(time<=30) //人行道
{
LEDC( OFF ); LEDB( OFF );LEDA( ON );//選擇第七個數(shù)碼管
LED_DUANMA((30-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( OFF );LEDA( OFF ); //選擇第八個數(shù)碼管
LED_DUANMA((30-time)%10); //b方向
Delay(0x000FEF);
}
else
{
LEDC( OFF ); LEDB( OFF );LEDA( ON );//選擇第七個數(shù)碼管
LED_DUANMA((120-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( OFF );LEDA( OFF ); //選擇第八個數(shù)碼管
LED_DUANMA((120-time)%10); //b方向
Delay(0x000FEF);
}
if(time<=60)
{
LEDC( ON ); LEDB( OFF );LEDA( ON );//選擇第四個數(shù)碼管
LED_DUANMA((60-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( OFF );LEDA( OFF ); //選擇第三個數(shù)碼管
LED_DUANMA((60-time)%10); //c方向
Delay(0x000FEF);
}
else if(time<=90)
{
LEDC( ON ); LEDB( OFF );LEDA( ON );//選擇第四個數(shù)碼管
LED_DUANMA((90-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( OFF );LEDA( OFF ); //選擇第三個數(shù)碼管
LED_DUANMA((90-time)%10); //c方向
Delay(0x000FEF);
}
else
{
LEDC( ON ); LEDB( OFF );LEDA( ON );//選擇第四個數(shù)碼管
LED_DUANMA((180-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( OFF );LEDA( OFF ); //選擇第三個數(shù)碼管
LED_DUANMA((180-time)%10); //c方向
Delay(0x000FEF);
}
}
void control2(void)
{
if(time>15)
{
time=1;
key=0;
}
LEDC( ON ); LEDB( ON );LEDA( OFF ); //選擇第2個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第1個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( ON ); LEDB(OFF );LEDA( OFF ); //選擇第4個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( ON ); LEDB( OFF );LEDA( ON ); //選擇第3個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第5個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第6個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( OFF );LEDA( OFF ); //選擇第8個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( OFF );LEDA( ON ); //選擇第7個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
B_red(ON);B_yellow(OFF);B_green_l(OFF);B_green_s(OFF);B_green_r(OFF);
C_red(OFF);C_yellow(OFF);C_green_l(ON);C_green_s(ON);C_green_r(ON);
Br_green(OFF); Br_red(ON);
Cr_green(OFF); Cr_red(ON);
}
void control3(void)
{
if(time>15)
{
time=1;
key=0;
}
LEDC( ON ); LEDB( ON );LEDA( OFF ); //選擇第2個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第1個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( ON ); LEDB(OFF );LEDA( OFF ); //選擇第4個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( ON ); LEDB( OFF );LEDA( ON ); //選擇第3個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第5個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第6個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( OFF );LEDA( OFF ); //選擇第8個數(shù)碼管
LED_DUANMA((15-time)%10);
Delay(0x000FEF);
LEDC( OFF ); LEDB( OFF );LEDA( ON ); //選擇第7個數(shù)碼管
LED_DUANMA((15-time)/10);
Delay(0x000FEF);
B_red(OFF);B_yellow(OFF);B_green_l(ON);B_green_s(ON);B_green_r(ON);
C_red(ON);C_yellow(OFF);C_green_l(OFF);C_green_s(OFF);C_green_r(OFF);
Br_green(OFF); Br_red(ON);
Cr_green(OFF); Cr_red(ON);
}
void control4(void)
{
LEDC( ON ); LEDB( ON );LEDA( ON ); //選擇第1個數(shù)碼管
LEDC( ON ); LEDB( ON );LEDA( OFF ); //選擇第2個數(shù)碼管
LEDC( ON ); LEDB( OFF );LEDA( ON ); //選擇第3個數(shù)碼管
LEDC( ON ); LEDB(OFF );LEDA( OFF ); //選擇第4個數(shù)碼管
LEDC( OFF ); LEDB( ON );LEDA( ON ); //選擇第5個數(shù)碼管
LEDC( OFF ); LEDB( ON );LEDA( OFF ); //選擇第6個數(shù)碼管
LEDC( OFF ); LEDB( OFF );LEDA( ON ); //選擇第7個數(shù)碼管
LEDC( OFF ); LEDB( OFF );LEDA( OFF ); //選擇第8個數(shù)碼管
LED1(OFF);LED2(ON);LED3(ON); LED4(ON);LED5(OFF);LED6(OFF);LED7(ON);LED8(ON);
B_green_l(OFF);B_green_s(OFF);B_green_r(OFF);B_yellow(OFF);
C_green_l(OFF);C_green_s(OFF);C_green_r(OFF);C_yellow(OFF);
Br_green(OFF);
Cr_green(OFF);
if(time%2) {Cr_green(ON); Br_green(ON);B_red(ON);C_red(ON); }
else {Cr_green(OFF);Br_green(OFF);B_red(OFF);C_red(OFF);}
}
void control()
{
if(!key)
control1();
else if(key==1)
control2();
else if(key==2)
control3();
else if(key==3)
control4();
}
void Delay(__IO u32 nCount) //簡單的延時函數(shù)
{
for(; nCount != 0; nCount--);
}
復制代碼
交通燈.7z
2020-6-22 15:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
186.17 KB, 下載次數(shù): 12, 下載積分: 黑幣 -5
作者:
admin
時間:
2020-6-22 15:47
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲欧美日韩在线不卡
|
992tv人人草 久久精品超碰
|
91久久国产综合久久
|
成人午夜电影网
|
亚洲黄色av网站
|
狠狠干天天干
|
国产精品2
|
一级片在线观看
|
亚洲综合三区
|
992tv人人草 久久精品超碰
|
亚洲欧美日韩国产
|
亚洲一区二区三区免费视频
|
国产精品久久久久久久久久久久午夜片
|
一区福利视频
|
日韩亚洲视频
|
亚洲喷水
|
99国产精品99久久久久久粉嫩
|
久久精品男人的天堂
|
国产激情
|
亚洲毛片在线
|
亚洲欧美在线视频
|
成人福利在线观看
|
欧美另类视频在线
|
国产欧美一区二区在线观看
|
精品国产一区二区国模嫣然
|
国产综合久久久久久鬼色
|
免费一级黄色电影
|
国产精品自拍视频
|
91精品久久久久久久久中文字幕
|
最新黄色毛片
|
日本一卡精品视频免费
|
国产精品久久久久久模特
|
成人免费视频网站在线看
|
欧美色综合一区二区三区
|
日日操视频
|
黄网免费
|
av一二三四
|
久草视频网站
|
亚洲欧美国产精品久久
|
黄色网址大全在线观看
|
自拍视频精品
|