2769|2

6366

帖子

4912

TA的资源

版主

楼主
 

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




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



单片机C语言-十六种方式流水灯(11)指针实现的流水灯
简介:
系列文章《单片机C语言-十六种方式流水灯》是一篇介绍单片机C语言各种基本语句使用范例的文章,总共使用了:顺序结构、单选择语句if、多选择语句if...else、多选择语句switch...case、循环语句for、循环语句while、循环语句do...while、转移语句goto、函数调用、数组、指针、指针+数组、指针+数组+函数、结构体、结构体数组、结构体数组+指针等共计16种方式实现同样的流水灯功能。
通过这十六种方式的流水灯实例,使大家对单片机C语言的基本语句有一个大致的印象,从而使大家能够更快、更好的掌握单片机C语言。
本文是《单片机C语言-十六种方式流水灯》的第十一篇,介绍使用指针方式实现的流水灯。
指针是单片机C语言中的精华,同时也是难点。
单片机C语言中对变量的访问方法之一,就是首先求出变量的地址,然后再通过地址对它进行访问,也就是指针及指针变量。
变量的指针,实际上就是变量的值。
单片机C语言中,一般用“指针”指明表达式&x的类型,而用“地址”作为它的值。也就是说,如果x是一个整型变量,则表达式&x的类型是指向整数的指针,而它的值就是变量x的地址。

  1. /************************************************************
  2. 文件:main.c
  3. 功能:用指针方式实现流水灯
  4. 描述:轮流点亮8个LED灯
  5. 作者:老马识途单片机
  6. 日期:2017年12月20日
  7. 编译环境:Keil C51 uVirsion 4.72.9.0
  8. 硬件环境:Proteus 8.0
  9. 主芯片:AT89S51
  10. 晶振:11.0592MHz
  11. ***********************************************************/
  12. #include <reg52.h> //
  13. //函数声明
  14. void Delay(unsigned int ucDelayTimer);
  15. /*****************************************
  16. 函数名:main()
  17. 入口参数:无
  18. 出口参数:无
  19. 功能:流水灯测试主程序
  20. 说明:用指针实现流水灯
  21. 作者:老马识途单片机
  22. 日期:2017年12月20日
  23. ****************************************/
  24. void main()
  25. {
  26. unsigned char ucCounter,*Ptr,ucValue;
  27. Ptr = &ucValue;
  28. while(1)
  29. {
  30. for(ucCounter=0;ucCounter<8;ucCounter++)
  31. {
  32. *Ptr = (1 << ucCounter);
  33. //将~(1<<ucCounter)的值放到ucValue指向的空间
  34. P0 = ucValue;
  35. Delay(50000);
  36. }
  37. }
  38. }
  39. /*****************************************
  40. 函数名:Delay()
  41. 入口参数:ucDelayTimer,延时时间长度
  42. 出口参数:无
  43. 功能:实现延时功能
  44. 说明:延时时间可根据入口参数调整
  45. 作者:老马识途单片机
  46. 日期:2017年12月20日
  47. ****************************************/
  48. void Delay(unsigned int ucDelayTimer)
  49. {
  50. for(;ucDelayTimer > 0;ucDelayTimer--);
  51. }
复制代码



此帖出自51单片机论坛

最新回复

有啊,我就来学了,程序考走了,慢慢吃。先谢谢楼主的资源。   详情 回复 发表于 2019-9-10 21:37
点赞 关注
 

回复
举报

66

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

这么好的帖子居然没人顶,没有新手来学习吗

此帖出自51单片机论坛
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

有啊,我就来学了,程序考走了,慢慢吃。先谢谢楼主的资源。

此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街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
快速回复 返回顶部 返回列表