找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1034|回复: 0
打印 上一主题 下一主题
收起左侧

005-双灯LED跑动

[复制链接]
跳转到指定楼层
楼主
ID:266395 发表于 2017-12-25 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*头文件*/
#include <reg52.h>      
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char



/*端口定义*/
       
#define led_port  P0      /*定义LED显示的数据脚*/


/*1MS为单位的延时程序*/
void delay_1ms(uchar x)
{
    uchar j;
    while(x--){
        for(j=0;j<125;j++)
            {;}
        }   
}


/*主程序*/
void main()
{
        uchar led_sdata; /*显示寄存器*/
        uchar i;
        while(1){
                led_sdata=0xfe; /*初始化显示寄存器为1号灯亮*/
                led_port = led_sdata; /*将显示寄存器输出到LED端口*/
                delay_1ms(200);
                delay_1ms(200); /*延时*/
                led_sdata=0xfc; /*显示寄存器为1.2号灯亮*/
                for(i=0;i<8;i++){
                        led_port = led_sdata; /*将显示寄存器输出到LED端口*/
                        led_sdata = (led_sdata<<1)+1; /*将显示寄存器数据左移1位,并将第一位置高,即熄灭*/
                        delay_1ms(200);
                        delay_1ms(200); /*延时*/
                        }
                led_sdata=0xff; /*灯全灭*/
                led_port = led_sdata; /*将显示寄存器输出到LED端口*/
                delay_1ms(200);
                delay_1ms(200); /*延时*/
                }       
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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