4647|5

6366

帖子

4895

TA的资源

版主

楼主
 

单片机C语言-十六种方式流水灯(10) [复制链接]




此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处



单片机C语言-十六种方式流水灯(10)数组实现的流水灯
简介:
系列文章《单片机C语言-十六种方式流水灯》是一篇介绍单片机C语言各种基本语句使用范例的文章,总共使用了:顺序结构、单选择语句if、多选择语句if...else、多选择语句switch...case、循环语句for、循环语句while、循环语句do...while、转移语句goto、函数调用、数组、指针、指针+数组、指针+数组+函数、结构体、结构体数组、结构体数组+指针等共计16种方式实现同样的流水灯功能。
通过这十六种方式的流水灯实例,使大家对单片机C语言的基本语句有一个大致的印象,从而使大家能够更快、更好的掌握单片机C语言。
本文是《单片机C语言-十六种方式流水灯》的第十篇,介绍使用数组方式实现的流水灯。
数组是单片机C语言中非常重要的一种数据类型,使用时需要注意的是数组元素的顺序是从第0个元素开始的,这一点一定要特别小心。

  1. 一、程序设计

  2. /************************************************************
  3. 文件:main.c
  4. 功能:用数组方式实现流水灯
  5. 描述:轮流点亮8个LED灯
  6. 作者:老马识途单片机
  7. 日期:2017年12月19日
  8. 编译环境:Keil C51 uVirsion 4.72.9.0
  9. 硬件环境:Proteus 8.0
  10. 主芯片:AT89S51
  11. 晶振:11.0592MHz
  12. ***********************************************************/
  13. #include <reg52.h> //
  14. //全局变量声明
  15. //unsigned char Buffer[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  16. unsigned char Buffer[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  17. //函数声明
  18. void Delay(unsigned int ucDelayTimer);
  19. /*****************************************
  20. 函数名:main()
  21. 入口参数:无
  22. 出口参数:无
  23. 功能:流水灯测试主程序
  24. 说明:用数组和for循环实现流水灯
  25. 作者:老马识途单片机
  26. 日期:2017年12月19日
  27. ****************************************/
  28. void main()
  29. {
  30. unsigned char ucCounter;
  31. while(1)
  32. {
  33. //ucCounter = 0;
  34. for(ucCounter=0;ucCounter<8;ucCounter++)
  35. {
  36. //根据ucCounter的值,调用数组中的元素,赋值给P0端口
  37. P0 = Buffer[ucCounter];
  38. //P0 = 0xff;
  39. Delay(50000);
  40. }
  41. }
  42. }
  43. /*****************************************
  44. 函数名:Delay()
  45. 入口参数:ucDelayTimer,延时时间长度
  46. 出口参数:无
  47. 功能:实现延时功能
  48. 说明:延时时间可根据入口参数调整
  49. 作者:老马识途单片机
  50. 日期:2017年12月19日
  51. ****************************************/
  52. void Delay(unsigned int ucDelayTimer)
  53. {
  54. for(;ucDelayTimer > 0;ucDelayTimer--);
  55. }
复制代码

二、硬件电路
本电路在proteus仿真环境下搭建,可以直接使用,为便于观察,电路中使用了一个电压表来显示电压。

三、主要器件参数设置
本电路中主要器件是LED光柱,其电压和电流参数配置如下,需要说明的是,该参数只是能让光柱点亮的值,并不是标准参考值。


查看本帖全部内容,请登录或者注册
此帖出自51单片机论坛

最新回复

下载来学习学习,谢楼主   详情 回复 发表于 2021-9-27 18:49
点赞 关注
 

回复
举报

21

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

谢谢楼主!

此帖出自51单片机论坛
 
 
 

回复

291

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

学习一下

此帖出自51单片机论坛
 
 
 

回复

96

帖子

1

TA的资源

一粒金砂(高级)

4
 

點流水燈也是個技術活。

此帖出自51单片机论坛
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

5
 

单片机流水灯

此帖出自51单片机论坛
 
 
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

6
 

下载来学习学习,谢楼主

此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播报名| TI 面向楼宇和工厂自动化行业的毫米波雷达解决方案
【内容简介】TI 60GHz IWRL6432和 IWRL1432毫米波雷达传感器如何帮助解决楼宇和工厂自动化应用中的感应难题
【直播时间】5月28日(周三)上午10:00
【直播礼品】小米双肩包、contigo水杯、胶囊伞、安克充电器

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 3

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表