找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2519|回复: 0
收起左侧

单片机心形灯仿真源码,四五种效果

[复制链接]
ID:396671 发表于 2018-10-14 14:44 | 显示全部楼层 |阅读模式
心形灯,四五种效果仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png 0.png


#include <REG52.H>    //包含51头文件
#include <intrins.h> //使用左移右移头文件
#define uint unsigned int
#define uchar unsigned char //宏定义

void delay_ms(uint x)    //毫秒级延时函数
{
    uint y;
    for(;x>0;x--)
    for(y=110;y>0;y--);   
}

void main()    //主函数
{
    uchar i,aa;
    uint k;
    while(1)
    {
//-------------顺时针流动2次------------//   
        for(k=0;k<2;k++)   
        {
            aa=0xFE;
            for(i=0;i<8;i++)
            {
                P0=aa;
                aa=_crol_(aa,1); //crol是左移
                delay_ms(100);
            }
            P0=0xFF;
            aa=0xFE;
            for(i=0;i<8;i++)
            {
                P2=aa;
                aa=_crol_(aa,1);
                delay_ms(100);
            }
            P2=0xFF;
            aa=0xFE;
            for(i=0;i<8;i++)
            {
                P3=aa;
                aa=_crol_(aa,1);
                delay_ms(100);
            }
            P3=0xFF;
            aa=0xFE;
            for(i=0;i<8;i++)
            {
                P1=aa;
                aa=_crol_(aa,1);
                delay_ms(100);
            }
            aa=P1=0xFF;
        }
        P0=~0x00;
        P1=~0x00;
        P2=~0x00;
        P3=~0x00; //与P3=0xFF;相同
        delay_ms(500);
   
    //----------------逆时针流动2次--------------//
        for(k=0;k<2;k++)   
        {
            for(i=0;i<8;i++)
            {
                P1=~(0x80>>i);
                delay_ms(100);
            }
            P1=0xFF;
            for(i=0;i<8;i++)
            {
                P3=~(0x80>>i);
                delay_ms(100);
            }
            P3=0xFF;
            for(i=0;i<8;i++)
            {
                P2=~(0x80>>i);
                delay_ms(100);
            }
            P2=0xFF;
            for(i=0;i<8;i++)
            {
                P0=~(0x80>>i);
                delay_ms(100);
            }
            P0=0xFF;
        }
        P0=~0x00;
        P1=~0x00;
        P2=~0x00;
        P3=~0x00;
        delay_ms(500);
   
    //---------------------上到下画爱心--------------//   
        for(k=0;k<2;k++)
        {
            for(i=0;i<8;i++)
            {
                P0=~(0x01<<i);
                P1=~(0x80>>i);
                delay_ms(100);
            }
            P1=0xFF;
            P0=0xFF;
            for(i=0;i<8;i++)
            {
                P2=~(0x01<<i);
                P3=~(0x80>>i);
                delay_ms(100);
            }
            P3=0xFF;
            P2=0xFF;   
        }
        P0=~0x00;
        P1=~0x00;
        P2=~0x00;
        P3=~0x00;
        delay_ms(500);
   
    //----------------下到上画爱心---------------//
        for(k=0;k<2;k++)     
        {
            for(i=0;i<8;i++)
            {
                P3=~(0x01<<i);
                P2=~(0x80>>i);
                delay_ms(100);
            }
            P2=0xFF;
            P3=0xFF;
            for(i=0;i<8;i++)
            {
                P1=~(0x01<<i);
                P0=~(0x80>>i);
                delay_ms(100);
            }
            P1=0xFF;
            P0=0xFF;   
        }   
        P0=~0x00;
        P1=~0x00;
        P2=~0x00;
        P3=~0x00;
        delay_ms(500);

//-----------------循环5次闪烁---------------//
        for(k=0;k<5;k++)
        {
            P0=0x00;
            P1=0x00;
            P2=0x00;
            P3=0x00;
            delay_ms(500);
            P0=~0x00;
            P1=~0x00;
            P2=~0x00;
            P3=~0x00;    //与P3=0xFF一样
            delay_ms(500);
        }
    }
}

心形灯.zip

77.89 KB, 下载次数: 44, 下载积分: 黑币 -5

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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