许多嵌入式系统软硬件开发或者是C语言学习者,是否在刚开始入门时会遇到流水灯或者是跑马灯等类似的小实验呢?作为初学者,是否会觉得毫无头绪,略感郁闷?下面,小编教大家如何实现,请看下文。
工具/原料
1
C语言编译环境(如Keil uVision)
2
单片机开发板(建议)
方法/步骤
1
作为计算机系统开发的主流编程语言之一,C语言以其简洁紧凑、灵活方便、运算符丰富、数据类型丰富等诸多优点,而作为了高校理工科教育基础课程。
2
首先简单分析流水灯工作原理:只需要控制每个时间间隔内只有一盏灯亮即可,其余灯均处于灭状态。学习过汇编语言的,是否联想起寄存器循环移位操作符。如下所示即为LED灯电路原理图,分为共阴极与共阳极接法:
4
功能: 循环移位 1111 1110 b(二进制),点亮LED灯实现流水灯效果。思路: 循环左移时,将移出的位填在右端示例: 实现循环左移1位uint8 a,b; uint8 counter = 0; while(1){ a = status>>7; b = status<<1; status = a|b; P1OUT = status; //MSP430G2553单片机输出引脚,外接共阳极的LED 0 - 7 for(i=0;i<40000;i++) { ;//delay function } counter ++ ; if(counter == 7) { status = 0xfe; }}
5
如下所示,为简易的LED阵列,只需要按顺序点亮LED即可实现流水灯控制,需要注意的是,要控制好灯亮持续时间。
上一篇:c语言return用法
下一篇:循环语句的使用实例