找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1989|回复: 1
收起左侧

单片机可控流水灯程序加仿真 有花样和速度按钮

[复制链接]
ID:207598 发表于 2017-6-4 10:29 | 显示全部楼层 |阅读模式
基于51单片机的可控流水灯程序 添加了花样和速度按钮

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
0.png 0.png

单片机源程序如下:
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. unsigned char led []= {0xfe, 0xfd, 0xfb, 0xf7, 0xef,0xdf, 0xbf, 0x7f,   0x7f,0xbf,0xdf,0xef, 0xf7, 0xfb,0xfd,0xfe,
  4.          0xfe,0xfb,0xef,0xbf,  0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,  0x0f,0xf0,0xfe,0x7f,0xfd,0xbf,0xfb,0xdf,0xf7,0x00};
  5.   sbit P3_2 =P3^2;
  6.         char x = 0;
  7.   char k= 0;
  8.         
  9.         char b=200;
  10.         void delay(unsigned char time) // 延时函数
  11. {
  12. unsigned char i=0;        
  13. for (;time>0;time--)
  14. for (i=0;i<=200;i++);
  15. }

  16. key0() interrupt 0{        //每按一下花样加1
  17. x++;
  18. if (x == 6)               //花样到六时,LED黑屏,再按一下花样重新开始
  19. x = 0;
  20. delay (300);
  21. }
  22.         key1() interrupt 2{b=b+2000;  //控制流水灯速度,没按一下加200
  23.                 if (b==8200)
  24.                         b=200;
  25.         }
  26. void main (){
  27. IT0 = 1;
  28. IT1=1;
  29. EX0 = 1;
  30. EX1 = 1;
  31. EA = 1;
  32. P2 = 0xff;                    //初始时LED全黑
  33.         
  34.         while(1){
  35.         if(P3_2==0){               
  36.       switch(x){              //花样
  37.             case 0: P2 = 0xff;break;
  38.             case 1:  for(k=0;k<=7;k++){
  39.                                                         if(x == 1)     //花样切换(打断正在进行的花样)
  40.                                                         {P2 = led [k];
  41.                delay (200);}}        break;
  42.       case 2:for (k=8;k<=15;k++){
  43.                      if(x == 2){P2 = led [k] ;delay (b);}}break;
  44.       case 3: for(k=16;k <=19;k++){
  45.                                        if(x == 3){
  46.                      P2 = led [k];delay (b);}}break;
  47.       case 4: for(k=20;k <=27;k++){
  48.                                        if(x == 4){
  49.                      P2 = led [k];delay (b);}}break;            
  50. ……………………

  51. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
改--实验一 添加了花样和速度按钮.zip (18.24 KB, 下载次数: 23)
回复

使用道具 举报

ID:1 发表于 2017-6-4 19:48 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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