登录|立即注册|使用QQ帐号登录
论坛 > 51单片机
发帖|
看3913|回1|收藏
楼主 ID:158961 只看他
2016-12-30 20:59
//########################################################################################
//例程功能:延时1s流水灯
//例程作者
//时间:2016年11月18日
//########################################################################################


#include<reg52.h>
#include<intrins.h>                                        //循环移动头文件
#define uint unsigned int                        //将unsigned int定义为uint
#define uchar unsigned char                        //将unsigned char定义为uchar
uchar temp;
void delay(uint z);                                        //函数的声明
void main()
{                                                                        
        temp=0xfe;                                                 //使temp为:1111 1110
        P1=temp;                                                   //点亮第一个灯
        while(1)                                                //一个总循环
        {
                temp=_crol_(temp,1);                //调用函数,使temp循环左移一位
                delay(1200);                                //延时
                P1=temp;                                          //使P1为 1111 1101
        }        
}


//#####################################延时1s子程序##########################################


void delay(uint z)                                        //定义含参数子程序
{
        uint x,y;                                                //定义两个无符号整型变量x,y,称为局部变量,只在子函数中有效
        for(x=100;x>0;x--)                                
                for(y=z;y>0;y--);                        //此行for循环后加一分号且上一个for后没分号,表示该for循环嵌套在上一个for循环中,
                                                                        //z的值在主函数中赋
                                                                        //第二个for循环后无内容,表示什么也不执行;执行完上述循环后由于分号?跳出循环
}

沙发 ID:158961 只看他
2016-12-30 21:00
棒棒哒

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版