查看: 1585|回复: 0
打印 上一主题 下一主题

实验12-从上到的下流水灯

[复制链接]
跳转到指定楼层
沙发
发表于 2015-5-5 16:13:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1
/********************************************************************
                            佳和科技
*********************************************************************/
//实例5:从上到的下流水灯:认识左移

#include <reg52.h>                         //包含单片机寄存器的头文件
#include <intrins.h>
#define uchar unsigned char         //宏定义无符号字符型
#define uint unsigned int         //宏定义无符号整型

/********************************************************************
                            延时函数
*********************************************************************/
void DelayMS(uint x)
{
        uchar i;
        while(x--)
        {
                 for(i=120;i>0;i--);
        }
}

/********************************************************************
                            主函数
*********************************************************************/
void main()
{
        P0 = 0xFE;                                 //11111110定义每次一个灯亮
        while(1)                                 //无限循环
        {
                 P0 = _crol_(P0,1);
                DelayMS(550);                 //延时
        }
}
/********************************************************************
                              结束
*********************************************************************/

2
/********************************************************************
                            佳和科技
*********************************************************************/
//实例5:从上到的下流水灯:认识左移

#include<reg52.h>                 //包含单片机寄存器的头文件
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int  //宏定义无符号整型


/********************************************************************
                            初始定义
*********************************************************************/
uchar temp;           //定义字符型变量
uchar a,b,i;


/********************************************************************
                            延时函数
*********************************************************************/
void delay()//延时程序
{
        uchar m,n,s;
        for(m=20;m>0;m--)
        for(n=20;n>0;n--)
        for(s=248;s>0;s--);
}


/********************************************************************
                            主函数
*********************************************************************/
void main()
{
        temp=0xfe; //11111110定义每次一个灯亮
        while(1)   //无限循环
        {
                P0=temp;//直接对P0口赋值,使批输出低电平。
                delay();//延时
                for(i=1;i<8;i++)//实现广告灯的从右到左移动
                        {
                                a=temp<<i;                //左移i位
                                P0=a;//相与求值
                                delay();
                        }
        }
}       
       
/********************************************************************
                              结束
*********************************************************************/





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入因仑

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表