找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1351|回复: 0
打印 上一主题 下一主题
收起左侧

单片机实验 流水灯实验

[复制链接]
跳转到指定楼层
楼主
ID:146314 发表于 2016-11-5 20:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
内容:是12个LED发光二极管左循环闪亮,然后右循环闪亮
  1. #include "reg52.h"

  2. #define LEDPORT1                        (P1)        //定义LED灯的端口
  3. #define LEDPORT2                (P2)
  4. #define MOVESPEED                (500)        //定义流水的速度
  5. #define ALLLEDOFF                (0xff)        //使所有灯熄灭的值

  6. //初始化函数
  7. void Init(void)
  8. {
  9. LEDPORT1=ALLLEDOFF; //熄灭所有灯
  10. LEDPORT2=ALLLEDOFF;
  11. }

  12. //延时函数
  13. //x为延时时间,范围1~65535
  14. void xDelay(unsigned int x)
  15. {
  16. unsigned char y;

  17. for(;x>0;x--)
  18.   for(y=110;y>0;y--);
  19. }

  20. //流水效果1函数
  21. void Effect1(void)
  22. {
  23. unsigned char TempOut1,TempOut2,xIndex;

  24. TempOut1=0xfe; //输出值赋初值
  25. TempOut2=0xfe;
  26. for(xIndex=8;xIndex>0;xIndex--) //循环处理8个灯
  27.   {
  28.    LEDPORT1=TempOut1;           //输出值刷新到端口线
  29.    TempOut1<<=1;                   //计算下一个输出值
  30.    xDelay(MOVESPEED);  //延时一会
  31.   }
  32. LEDPORT1=ALLLEDOFF;
  33. for(xIndex=4;xIndex>0;xIndex--) //循环处理8个灯
  34.   {
  35.    LEDPORT2=TempOut2;           //输出值刷新到端口线
  36.    TempOut2<<=1;                   //计算下一个输出值
  37.    xDelay(MOVESPEED);  //延时一会
  38.   }
  39. }

  40. //流水效果2函数
  41. void Effect2(void)
  42. {
  43. unsigned char TempOut1,TempOut2,xIndex;

  44. TempOut1=0xfe;
  45. TempOut2=0xfe;
  46. for(xIndex=8;xIndex>0;xIndex--)
  47.   {
  48.    LEDPORT1=TempOut1;
  49.    TempOut1<<=1;
  50.    TempOut1|=1;
  51.    xDelay(MOVESPEED);
  52.   }
  53. for(xIndex=4;xIndex>0;xIndex--)
  54.   {
  55.    LEDPORT2=TempOut2;
  56.    TempOut2<<=1;
  57.    TempOut2|=1;
  58.    xDelay(MOVESPEED);
  59.   }
  60. }

  61. void main(void)
  62. {
  63. Init();  //调用初始化函数

  64. while(1){ //无限循环
  65.   Init();
  66.   Effect1(); //调用效果1函数
  67.   Init();
  68.   Effect2(); //调用效果2函数
  69. }
  70. }
复制代码

04实验四 流水灯.zip

18.54 KB, 下载次数: 2, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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