找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3430|回复: 0
收起左侧

单片机霹雳游侠灯源程序

[复制链接]
ID:292103 发表于 2018-5-31 10:55 | 显示全部楼层 |阅读模式
直接上源码,喜欢的拿去!
效果演示:
霹雳游侠灯.gif


霹雳游侠灯的单片机源程序如下:
  1. #include <reg52.h>

  2. rzmzy();  //走马拖尾右移函数
  3. rzmyy();  //走马拖尾左移函数

  4. sbit P1_0 = P1^0;//定义按键端口
  5. sbit P1_1 = P1^1;//定义按键端口
  6. sbit P1_2 = P1^2;//定义
  7. sbit P1_3 = P1^3;//定义按键端口
  8. sbit P1_4 = P1^4;//定义按键端口
  9. sbit P1_5 = P1^5;//定义
  10. sbit P1_6 = P1^6;//定义按键端口
  11. sbit P1_7 = P3^3;//定义按键端口


  12. void ys1ms(unsigned int s);     //延时声明,修改s的数值,就可以改变时间
  13. void delayms(unsigned int x)
  14. {
  15.         unsigned int i;
  16.         while(x--)
  17.         {
  18.                 for(i=0;i<113;i++);
  19.         }
  20. }
  21. void main(void) //主函数,由于模块化设计,只要修改下面各模块的排列顺序和时间,就可以实现各种变化模式
  22. {
  23.     P1=0xFF;
  24.     EA=1;//打开中断,使用中断方便调试查看模式
  25.     EX0=1; //允许外部中断0中断
  26.     EX1=1; //允许外部中断1中断
  27.     PX0=1; // 外部中断0位高优先级
  28.    while(1)  //无限循环
  29.    {
  30.                     rzmyy();  //走马拖尾左移函数
  31.                 ys1ms(100);
  32.                             rzmzy();  //走马拖尾左移函数
  33.                 ys1ms(100);        
  34.       
  35.            

  36.                           }
  37.       }
  38.    



  39. rzmyy()  //走马拖尾右移函数
  40. {
  41.      P1=0x7f;
  42.      ys1ms(60);
  43.      P1=0xbf;
  44.      if(P1_7==1)
  45.      {
  46.             unsigned int a;
  47.             for(a=0;a<350;a++)    //调节点亮时间
  48.             {
  49.             unsigned char i;
  50.             P1_7 = 0;
  51.             for(i = 0; i < 15; i++);  //调节亮度高低
  52.             P1_7 = 1;
  53.             for(i = 0; i < 50; i++);
  54.             }
  55.      }
  56.      P1=0xdf;
  57.     if(P1_6==1)
  58.      {
  59.             unsigned int a;
  60.             for(a=0;a<350;a++)    //调节点亮时间
  61.             {
  62.             unsigned char i;
  63.             P1_6 = 0;
  64.             for(i = 0; i < 15; i++);  //调节亮度高低
  65.             P1_7 = 0;
  66.             for(i = 0; i < 1; i++);  //调节亮度高低
  67.             P1_6 = 1;
  68.             P1_7 = 1;
  69.             for(i = 0; i < 50; i++);
  70.             }
  71.         }
  72.      P1=0xef;
  73.     if(P1_5==1)
  74.      {
  75.             unsigned int a;
  76.             for(a=0;a<350;a++)    //调节点亮时间
  77.             {
  78.             unsigned char i;
  79.             P1_5 = 0;
  80.             for(i = 0; i < 15; i++);  //调节亮度高低
  81.             P1_6 = 0;
  82.             for(i = 0; i < 1; i++);  //调节亮度高低
  83.             P1_5 = 1;
  84.             P1_6 = 1;
  85.             for(i = 0; i < 50; i++);
  86.             }
  87.         }
  88.      P1=0xf7;
  89.     if(P1_4==1)
  90.      {
  91.             unsigned int a;
  92.             for(a=0;a<350;a++)    //调节点亮时间
  93.             {
  94.             unsigned char i;
  95.             P1_4 = 0;
  96.             for(i = 0; i < 15; i++);  //调节亮度高低
  97.             P1_5 = 0;
  98.             for(i = 0; i < 1; i++);  //调节亮度高低
  99.             P1_4 = 1;
  100.             P1_5 = 1;
  101.             for(i = 0; i < 50; i++);
  102.             }
  103.         }
  104.      P1=0xfb;
  105.      if(P1_3==1)
  106.      {
  107.             unsigned int a;
  108.             for(a=0;a<350;a++)    //调节点亮时间
  109.             {
  110.             unsigned char i;
  111.             P1_3 = 0;
  112.             for(i = 0; i < 15; i++);  //调节亮度高低
  113.             P1_4 = 0;
  114.             for(i = 0; i < 1; i++);  //调节亮度高低
  115.             P1_3 = 1;
  116.             P1_4 = 1;
  117.             for(i = 0; i < 50; i++);
  118.             }
  119.         }
  120.      P1=0xfd;
  121.      if(P1_2==1)
  122.      {
  123.             unsigned int a;
  124.             for(a=0;a<350;a++)    //调节点亮时间
  125.             {
  126.             unsigned char i;
  127.             P1_2 = 0;
  128.             for(i = 0; i < 15; i++);  //调节亮度高低
  129.             P1_3 = 0;
  130.             for(i = 0; i < 1; i++);  //调节亮度高低
  131.             P1_2 = 1;
  132.             P1_3 = 1;
  133.             for(i = 0; i < 50; i++);
  134.             }
  135.         }
  136.      P1=0xfe;
  137.      if(P1_1==1)
  138.      {
  139.             unsigned int a;
  140.             for(a=0;a<350;a++)    //调节点亮时间
  141.             {
  142.             unsigned char i;
  143.             P1_1 = 0;
  144.             for(i = 0; i < 15; i++);  //调节亮度高低
  145.             P1_2 = 0;
  146.             for(i = 0; i < 1; i++);  //调节亮度高低
  147.             P1_1 = 1;
  148.             P1_2 = 1;
  149.             for(i = 0; i < 50; i++);
  150.             }
  151.         }
  152.      P1=0xff;
  153.      if(P1_0==1)
  154.      {
  155.             unsigned int a;
  156.             for(a=0;a<350;a++)    //调节点亮时间
  157.             {
  158.             unsigned char i;
  159.             P1_0 = 0;
  160.             for(i = 0; i < 15; i++);  //调节亮度高低
  161.             P1_1 = 0;
  162.             for(i = 0; i < 1; i++);  //调节亮度高低
  163.             P1_0 = 1;
  164.             P1_1 = 1;
  165.             for(i = 0; i < 50; i++);
  166.             }
  167.         }
  168.     if(P1_7==1)
  169.      {
  170.             unsigned int a;
  171.             for(a=0;a<350;a++)    //调节点亮时间
  172.             {
  173.             unsigned char i;
  174.             P1_0 = 0;
  175.             for(i = 0; i < 1; i++);  //调节亮度高低
  176.             P1_0 = 1;
  177.             for(i = 0; i < 50; i++);
  178.             }
  179.     }         
  180. }
复制代码

/****************************************************************************/

霹雳灯.zip

35.93 KB, 下载次数: 28, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表