/////////////////////////////////////////////////////////////////////////
完结功用:让试验板上的D1-D8这个八个灯循环跑起来,先点亮D1,其他的灯都是熄
灭状况,距离0.3秒,点亮D2,其他的灯都平息,这样顺次循环,直到点
亮D8,然后从头再顺次点亮。
试验板类型:BS-XYD-C52
试验称号: 流水灯
编写人: 谢应东
编写日期: 2012-4-24
/////////////////////////////////////////////////////////////////////////
#include
#include //这个头文件里包含了_crol_(,)这个循环右移的函数
#define uchar unsigned char //界说unsigned char 为 uchar
#define uint unsigned int
/////////////////////////////////////////////////////////////////////////
函数称号:毫秒延时函数
函数功用:完结毫秒级的延时
参数介绍:Delay_MS: 界说需求延时的毫秒的数值
iNumber: 记载Delay_MS的数值,以for句子完结所要求的延时
iValue: 要延时毫秒所要进行的循环数值,本数值为实践测得
返回值: 无
注意事项:本试验是在所用晶振为12M的前提下完结的毫秒延时,本函数是经过循环的形
式完结,所以假如改动了晶振的频率,请做相应的改动
/////////////////////////////////////////////////////////////////////////
void DelayMs(uint Delay_MS)
{
uint iNumber,iValue;
for(iNumber=0;iNumber{
iValue=107;
while(iValue–);
}
}
/////////////////////////////////////////////////////////////////////////
函数称号:主函数
函数功用:完结D1-D8发光二极管的循环显现
参数介绍:无
返回值: 无
注意事项:无
/////////////////////////////////////////////////////////////////////////
void main()
{
uchar cTempValue,cNumber;//cTempValue为取零时值的变量,cNumber为循环变量
while(1)
{
cTempValue=0xfe; //开始让D1点亮的零时值
for(cNumber=0;cNumber<8;cNumber++)
{
P1=cTempValue; //赋予P1口初始值
cTempValue=_crol_(cTempValue,1); //调用循环右移的函数
DelayMs(300); //延时0.3秒
}
}
}
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/262858.html