单片机交通灯,
本帖最后由 tangjiaqq 于 2014-5-10 01:03 编辑新手不怎么会,希望有,电路图,程序,交作业啊
#include <reg51.h>
#define uchar unsigned char
uchar duanma={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//
uchar weima={0xfe,0xfd,0xfb,0x07};//
uchar nanbei={25,20,5};
uchar dongxi={20,5,25};
uchar nbdeng={0x01,0x04,0x02};
uchar dxdeng={0x80,0x40,0x20};
uchar jishu1,jishu2,dxjishu,nbjishu,dxmiao,nbmiao;
uchar xianshi={0,0,0,0};
void chushihua(void)
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;ET0=1;TR0=1;
}
sbit k1 = P3^1;
sbit k2 = P3^6;
void yansi02s(void)
{
uchar i,j,k;
for(i=7;i>0;i--)
for(j=8;j>0;j--)
for(k=34;k>0;k--);
}
void main(void)
{
dxmiao=dongxi;
nbmiao=nanbei;
P3=dxdeng|nbdeng;
chushihua();
while(1)
{
if((dxjishu==0)&&(dxmiao==0))
{
k2=~k2;
yansi02s();
}
if((nbjishu==0)&&(nbmiao==0))
{
k1=~k1;
yansi02s();
}
}
}
void daojishi (void ) interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
xianshi=duanma;
xianshi=duanma;
xianshi=duanma;
xianshi=duanma;
jishu1++;
if(jishu1==4)jishu1=0;
P2=weima;
P1=xianshi;
P3=dxdeng|nbdeng;
jishu2++;
if(jishu2==100)
{
jishu2=0;
dxmiao--;nbmiao--;
if(dxmiao==0xff)
{
dxjishu++;
if(dxjishu==3)dxjishu=0;
dxmiao=dongxi;
}
if(nbmiao==0xff)
{
nbjishu++;
if(nbjishu==3) nbjishu=0;
nbmiao=nanbei;
}
}
}
我想是想 黄灯的时候闪烁怎么弄 弄了一晚上还是不行
呵呵呵呵呵呵呵呵呵呵呵,伸手可耻,动手自足 lz给的图考验大家的耐性,图放正不好点吗?电路图没什么吧,就接led 与数码管就行了。 图片不是很清晰,还是竖着的 eva015401 发表于 2014-5-9 07:32
呵呵呵呵呵呵呵呵呵呵呵,伸手可耻,动手自足
+10086 呵呵 期末了。。。楼主早干嘛去了 先把设计中遇到的问题提出来,这样伸手党是不行滴! 直接上TB找吧。。。。。一大堆 楼主这标题,属于背莫老大封杀的节奏啊 楼主这种做事态度,谁会帮你????????? 伸手党不可取!至少你的说目前你做了哪些工作,遇到什么问题进行不下去 楼主还不如开个价呢,这样或许会有人给你做。 楼主还不如开个价呢,这样或许会有人给你做。
+10086 这东西,大一玩的,网上一大堆资料,属于最基础的东西,在这没人会有耐性帮你的,自己找资料去吧楼主 百度谷歌十分钟的事情,哎。。。 我有现成的,但是为什么你不自己做下呢? 网上太多了 做证的膏药满街都是,现如今还需要交作业?
eva015401 发表于 2014-5-9 07:32
呵呵呵呵呵呵呵呵呵呵呵,伸手可耻,动手自足
对于新手的我会还需要请教大家么 这个东西不难吧,肯花一点时间很快就搞定了
页:
[1]