标题: 新手小白求大神帮写个程序~ [打印本页]

作者: Trista    时间: 2015-5-10 15:37
标题: 新手小白求大神帮写个程序~
我用的开发板是STC89C52的~然后想要做一个关于十字路口路灯(LED模拟的)的程序!
我现在会让十字路口路灯亮起来,但是想有一个按钮,然后按了这个按钮红灯灭绿灯亮。。。这样
拜托大神教教小白~

作者: Trista    时间: 2015-5-10 19:03
顶~~~~~~
作者: 累了困了疯了    时间: 2015-5-10 21:39
void Traffic_Light() { switch(Operation_Type) { case 1:  //东西向绿灯与南北向红灯亮 RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=0;YELLOW_B=1;GREEN_B=1; DelayMS(2000); Operation_Type=2; break; case 2:  //东西向黄灯闪烁,绿灯关闭 DelayMS(300); YELLOW_A=~YELLOW_A;GREEN_A=1; if(++Flash_Count!=10) return; //闪烁 5 次 Flash_Count=0; Operation_Type=3; break; case 3:  //东西向红灯,南北向绿灯亮 RED_A=0;YELLOW_A=1;GREEN_A=1; RED_B=1;YELLOW_B=1;GREEN_B=0; DelayMS(2000); Operation_Type=4; break; case 4:  //南北向黄灯闪烁 5 次 DelayMS(300); YELLOW_B=~YELLOW_B;GREEN_B=1; if(++Flash_Count!=10) return; Flash_Count=0; Operation_Type=1; } }
作者: 累了困了疯了    时间: 2015-5-10 21:39
void Traffic_Light()
{
switch(Operation_Type)
{
case 1:  //东西向绿灯与南北向红灯亮
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case 2:  //东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10) return; //闪烁 5 次
Flash_Count=0;
Operation_Type=3;
break;
case 3:  //东西向红灯,南北向绿灯亮
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_Type=4;
break;
case 4:  //南北向黄灯闪烁 5 次
DelayMS(300);
YELLOW_B=~YELLOW_B;GREEN_B=1;
if(++Flash_Count!=10) return;
Flash_Count=0;
Operation_Type=1;
}
}
作者: Trista    时间: 2015-5-10 21:54
累了困了疯了 发表于 2015-5-10 21:39
void Traffic_Light()
{
switch(Operation_Type)

请问大神,之前要不要定义些什么呀?
作者: popo123456    时间: 2015-5-10 22:01
需要头文件,I/O定义
作者: Trista    时间: 2015-5-10 22:03
popo123456 发表于 2015-5-10 22:01
需要头文件,I/O定义

#include "reg52.h"
sbit RED_A=P0^0;
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P1^0;
sbit YELLOW_B=P1^1;
sbit GREEN_B=P0^2;
是这样么。。但是debug的时候说还有一个没有define。。。
真的是小白,求助。。。能指导一下么?
作者: popo123456    时间: 2015-5-10 22:14
加开关,外部中断,具体程序。。。。
作者: Trista    时间: 2015-5-10 22:31
popo123456 发表于 2015-5-10 22:14
加开关,外部中断,具体程序。。。。

还是不太懂。。能不能指导一下=。=
作者: Trista    时间: 2015-5-10 22:51
求大神。。。
真的是来不及从基础学起了。。
我保证一周以后认认真真的从基础学。。。
拜托各位大神先教教我好么
作者: Trista    时间: 2015-5-11 12:23
重新回来顶一下
作者: freshwater    时间: 2015-5-11 13:30
顶~~~~~~~~~~
作者: vipfanghui    时间: 2015-5-12 15:27
开个定时器,交给mcu自动管理就行了的。不必用按钮。
作者: 累了困了疯了    时间: 2015-5-13 19:38
Trista 发表于 2015-5-10 21:54
请问大神,之前要不要定义些什么呀?

是的 我只写了子函数
作者: j632926326    时间: 2015-5-16 16:30
计时器控制三个灯,外部中断控制绿灯亮




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1