找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机并口简单应用(流水灯)P0-7控制

[复制链接]
ID:180782 发表于 2018-5-28 19:20 | 显示全部楼层 |阅读模式

单片机并口简单应用(流水灯)

  • 硬件电路

如图1所示,流水灯硬件电路由发光二极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,二极管公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。

1 流水灯电路图


2、程序流程图如下。

1、开发板接线图

编写程序


编写程序

实 验 名: 流水灯实验

实验说明 : 延时实现LED流水灯效果P0口八个灯作跑马灯。

//--包含你要使用的头文件


  1. #include <reg52.h>                //此文件中定义了52的一些特殊功能寄存器

  2. #include <intrins.h>



  3. //--声明全局函数--//

  4. void Delay10ms(unsigned int c);   //延时10ms                 



  5. /******************************************************************************

  6. * 函 数 名  : main

  7. * 函数功能  : 主函数

  8. * 输    入  : 无

  9. * 输    出  : 无

  10. ******************************************************************************/



  11. void main()

  12. {

  13.               unsigned char LED;

  14.               LED = 0xfe;                //0xfe = 1111 1110

  15.               while (1)

  16.               {

  17.                   P0 = LED;

  18.                             Delay10ms(50);

  19.                             LED = LED << 1;    //循环右移1位,点亮下一个LED "<<"为左移位

  20.                             if (P0 == 0x00)              //当它全灭的时候,重新赋值

  21.                             {

  22.                                           LED = 0xfe;                // 0xfe = 1111 1110

  23.                             }

  24.                                                          

  25.               }

  26. }

  27. /******************************************************************************

  28. * 函 数 名         : Delay10ms

  29. * 函数功能                               : 延时函数,延时10ms

  30. * 输    入         : 无

  31. * 输    出         : 无

  32. ******************************************************************************/



  33. void Delay10ms(unsigned int c)   //误差 0us

  34. {

  35.     unsigned char a, b;

  36.               //--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//

  37.     for (;c>0;c--)

  38.               {

  39.                             for (b=38;b>0;b--)

  40.                             {

  41.                                           for (a=130;a>0;a--);

  42.                             }



  43.               }      

  44. }
复制代码

完整的Word格式文档51黑下载地址:

1单片机并口简单应用(流水灯).docx (434.04 KB, 下载次数: 8)



评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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