多语言展示
当前在线:133今日阅读:176今日分享:34

C语言中实现循环移位操作的方法

许多嵌入式系统软硬件开发或者是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即可实现流水灯控制,需要注意的是,要控制好灯亮持续时间。

推荐信息