東南西北風

生活就像一杯加了糖的苦咖啡。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

交通灯

Posted on 2009-01-06 20:55  东南西北风  阅读(238)  评论(0)    收藏  举报
 1#include<reg51.h>
 2#include<absacc.h>
 3#define Dx XBYTE[0xa000]
 4#define Wx XBYTE[0xa001]
 5unsigned char code DM[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
 6unsigned int count=0;
 7unsigned char dis[2];
 8unsigned char data1=60;
 9void init8279()
10{
11   Wx=0;
12   Wx=0x32;
13   Wx=0xdf;
14   while(Wx&0x80);
15 }

16void display()
17{
18  unsigned char i;
19  for(i=0;i<2;i++)
20     {
21       Wx=0x84+i;  //0x84表示从左向右的第五个LED显示管
22       Dx=DM[dis[i]];
23      }

24}

25void CHZ()
26 {
27   dis[0]=data1/10;
28   dis[1]=data1%10;
29 }

30
31
32void delay01(int i)
33{
34  int j,k,l;
35  for(j=0;j<i;j++,count--)
36    {
37     for(k=0;k<100;k++)
38        for(l=0;l<480;l++)
39          ;
40          data1--;
41          if(data1==0)
42          data1=60;
43       CHZ();
44       display();
45     }

46}

47void D()
48{
49  P1=0x01;
50  delay01(59);
51  P1=0x02;
52  delay01(1);
53   P1=0x04;
54  delay01(60);
55}

56 void main()
57{
58  init8279();
59  while(1)
60  {
61     D();
62  }

63}