1-1-1框架
  • 意法半导体的三端双向可控硅

    意法半导体的三端双向可控硅

  • 亿光反射式光电开关芯片ITR1204SR10A-TR

    亿光反射式光电开关芯片ITR1204SR10A-TR

  • 如何提升微波网络分析仪的测量精度?

    如何提升微波网络分析仪的测量精度?

  • 14周年庆-发金币,500名额,每人50金币。学堂课程全场半价

    14周年庆-发金币,500名额,每人50金币。学

  • 发一个TI的6层工业以太网通信主板,原理图和PCB

    发一个TI的6层工业以太网通信主板,原理图

基于51单片机的LED程序

[复制链接]
查看667 | 回复4 | 2020-4-3 20:47:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
#include "reg52.h"             //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h>        //因为要用到左右移函数,所以加入这个头文件

typedef unsigned int u16;      //对数据类型进行声明定义
typedef unsigned char u8;

#define led P2       //将P2口定义为led 后面就可以使用led代替P2口

/*******************************************************************************
* 函 数 名         : delay
* 函数功能           : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
    while(i--);   
}

/*******************************************************************************
* 函 数 名       : main
* 函数功能         : 主函数
* 输    入       : 无
* 输    出         : 无
*******************************************************************************/
void main()
{
    u8 i;
    led=0xfe;
    delay(50000); //大约延时450ms   
    while(1)
    {   
/*        for(i=0;i<8;i++)
        {
            P2=~(0x01<<i);     //将1右移i位,然后将结果取反赋值到P2口
            delay(50000); //大约延时450ms
        }
*/        
        for(i=0;i<7;i++)     //将led左移一位
        {
            led=_crol_(led,1);
            delay(50000); //大约延时450ms   
        }
        for(i=0;i<7;i++)    //将led右移一位
        {
            led=_cror_(led,1);
            delay(50000); //大约延时450ms   
        }   
    }        
}
回复

使用道具 举报

小鑫鑫 | 2020-4-4 03:08:26 | 显示全部楼层
回复

使用道具 举报

wangy2000 | 2020-4-4 08:27:44 | 显示全部楼层
回复

使用道具 举报

lqsgg | 2020-4-4 08:31:16 | 显示全部楼层
回复

使用道具 举报

清心如水 | 2020-4-4 11:09:07 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则