Chinaunix首页 | 论坛 | 博客
  • 博客访问: 418472
  • 博文数量: 121
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1393
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-11 12:17
个人简介

www.vibexie.com vibexie@qq.com

文章分类

全部博文(121)

文章存档

2015年(55)

2014年(66)

我的朋友

分类: C/C++

2014-06-05 15:28:33


点击(此处)折叠或打开

  1. #include<reg52.h>
  2. #define uchar unsigned char

  3. sbit dula=P2^6;
  4. sbit wela=P2^7;
  5. sbit dianji=P1^7;
  6. sbit jia_key=P3^6;
  7. sbit jian_key=P3^7;

  8. uchar num=0,show_num=1,gao_num=1,di_num=3;
  9. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

  10. void delay(uchar i)
  11. {
  12.     uchar j,k;
  13.     for(j=i;j>0;j--)
  14.     for(k=124;k>0;k--);
  15. }

  16. void display()
  17. {
  18.     dula=0;
  19.     P0=table[show_num];
  20.     dula=1;
  21.     dula=0;
  22.     wela=0;
  23.     P0=0xfe;
  24.     wela=1;
  25.     wela=0;
  26.     delay(5);
  27.     P0=table[0];
  28.     dula=1;
  29.     dula=0;
  30.     P0=0xfd;
  31.     wela=1;
  32.     wela=0;
  33.     delay(5);
  34.     P0=table[0];
  35.     dula=1;
  36.     dula=0;
  37.     P0=0xfb;
  38.     wela=1;
  39.     wela=0;
  40.     delay(5);
  41.     P0=table[0];
  42.     dula=1;
  43.     dula=0;
  44.     P0=0xf7;
  45.     wela=1;
  46.     wela=0;
  47.     delay(5);
  48. }

  49. void key()
  50. {
  51.     if(jia_key==0)
  52.     {
  53.     delay(5);
  54.     if(jia_key==0)
  55.     {
  56.      num++;
  57.      if(num==4)
  58.         num=3;
  59.      while(jia_key==0);
  60.     }
  61.     }

  62.     if(jian_key==0)
  63.     {
  64.     delay(5);
  65.     if(jian_key==0)
  66.     {
  67.      if(num!=0)
  68.      num--;
  69.      else
  70.      num=0;
  71.      while(jian_key==0);
  72.     }
  73.     }
  74. }

  75. void dispose()
  76. {
  77.     switch(num)
  78.     {
  79.     case 0:
  80.      show_num=1;
  81.      gao_num=1;
  82.      di_num=3;
  83.      break;
  84.     case 1:
  85.      show_num=2;
  86.      gao_num=2;
  87.      di_num=2;
  88.      break;
  89.     case 2:
  90.      show_num=3;
  91.      gao_num=3;
  92.      di_num=1;
  93.      break;
  94.     case 3:
  95.      show_num=4;
  96.      gao_num=4;
  97.      di_num=0;
  98.      break;
  99.     }
  100. }

  101. void qudong()
  102. {
  103.     uchar i;
  104.     if(di_num!=0)
  105.     {
  106.     for(i=0;i<di_num;i++)
  107.     {
  108.      dianji=0;
  109.      display();
  110.     }
  111.     }
  112.     for(i=0;i<gao_num;i++)
  113.     {
  114.     dianji=1;
  115.     display();
  116.     }
  117. }

  118. void main()
  119. {
  120.     while(1)
  121.     {
  122.     dianji=0;
  123.     key();
  124.     dispose();
  125.     qudong();
  126.     }
  127. }

阅读(1631) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~