久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2490|回復: 2
打印 上一主題 下一主題
收起左側

51七彩LED控制程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:236847 發表于 2017-10-1 09:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器
#include <intrins.h>        //51基本運算(包括_nop_空函數)

typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;
sbit k3=P3^2;  //定義按鍵K3
sbit led=P2^0;
u8 t=1;
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
sbit RR=P0^0;//red紅燈
sbit GG=P0^1;//green綠燈
sbit BB=P0^2;//blue藍燈

u8 r,g,b,min,max;

void ledout(unsigned char r,g,b)
{        unsigned char n;
   for (n=0;n<255;n++)
        {               
                if(g>n)
                        GG=0;
                else
                        GG=1;
                if(b>n)
                        BB=0;
                else
                        BB=1;
                if(r>n)
                        RR=0;
                else
                        RR=1;
            _nop_();
                _nop_();
                _nop_();
        }
}

void Colors(u16 c)
{
        if(c==1)
        {
                 ledout(255,0,0);
        }
        if(c==2)
        {
                 ledout(250,250,0);
        }
        if(c==3)
        {
                 ledout(0,250,250);
        }
        if(c==4)
        {
                 ledout(250,0,250);
        }
        if(c==5)
        {
                 ledout(0,250,0);
        }
        if(c==6)
        {
                 ledout(0,0,250);
        }
        if(c==7)
        {
                u8 i;
                min=5;
                max=250;
                r=min;
                g=min;
               
                  for (i=min;i<=max;i++)
                {
                        b=max+min-i-1;
                        ledout(r,g,b);
                        if(t!=7)
                        {
                          return ;
                        }
                }
                for (i=min;i<=max;i++)
                {
                        g=i;
                        ledout(r,g,b);
                        if(t!=7)
                        {
                          return ;
                        }
                }
                for (i=min;i<=max;i++)
                {
                        r=max+min-i-1;
                        ledout(r,g,b);
                        if(t!=7)
                        {
                          return ;
                        }
                }
                for (i=min;i<=max;i++)
                {
                         b=i;
                        ledout(r,g,b);
                        if(t!=7)
                        {
                          return ;
                        }
                }
                for (i=min;i<=max;i++)
                {
                         g=max+min-i-1;
                        ledout(r,g,b);
                        if(t!=7)
                        {
                          return ;
                        }
                }
                for (i=min;i<=max;i++)
                {
                        r=i;
                        ledout(r,g,b);
                        if(t!=7)
                        {
                          return ;
                        }
                }                                                         
        }
}

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

/*******************************************************************************
* 函 數 名         : Int1Init()
* 函數功能                   : 設置外部中斷1
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void Int0Init()
{
        //設置INT0
        IT0=1;//跳變沿出發方式(下降沿)
        EX0=1;//打開INT0的中斷允許。       
        EA=1;//打開總中斷       
}

/*******************************************************************************
* 函 數 名       : main
* 函數功能                 : 主函數
* 輸    入       : 無
* 輸    出             : 無
*******************************************************************************/
void main()
{       

        Int0Init();  //        設置外部中斷0

        while(1)
        {
                  P1=~smgduan[t];
                Colors(t);
                EA=1;
        }

}

/*******************************************************************************
* 函 數 名         : Int0()        interrupt 0
* 函數功能                   : 外部中斷0的中斷函數
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/

void Int0()        interrupt 0                //外部中斷0的中斷函數
{
       
        delay(1000);         //延時消抖
        if(k3==0)
        {
                led=~led;
                if(t<7)
                {
                        t=t+1;
                }
                else
                {
                   t=1;
                }
        }
        while(!k3) ;
               
}



main.c.rar

1.13 KB, 下載次數: 15, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:238171 發表于 2017-10-10 18:08 | 只看該作者
Thank you..........
回復

使用道具 舉報

板凳
ID:244589 發表于 2017-11-13 16:30 | 只看該作者
怎么說呢??我是覺得  你要是附上一些效果圖  或者  PCB圖片的話,我們會好理解很多, 不過還是要給你點個贊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品色欧美aⅴ一区二区 | 日韩av一区二区在线 | 色网在线播放 | 久久国产欧美一区二区三区精品 | 亚洲福利av | 成人免费在线播放视频 | www.狠狠操| 欧美激情一区二区三区 | 黄色网址av | 国产精品一区二区不卡 | 国产精品久久久久久久久久久久久久 | 免费一级大片 | 99福利视频 | 成人黄色在线 | 欧美中文视频 | 日韩精品免费一区二区在线观看 | 断背山在线观看 | 久久久久亚洲视频 | av资源中文在线天堂 | 日韩淫片免费看 | 成人二区 | 国产欧美日韩久久久 | 婷婷二区 | 久久成人激情 | 99福利视频 | 欧美激情一区二区三区 | 精品免费视频一区二区 | www.久久久 | 国产精品视频久久久 | 亚洲a在线视频 | 黄色免费网站在线看 | 爱高潮www亚洲精品 中文字幕免费视频 | 国产精品视频一二三区 | 蜜桃视频一区二区三区 | 日韩第一夜 | 一级黄色片日本 | 欧美日韩精品一区二区天天拍 | 欧美精品一区二区三区在线播放 | 国产精品久久一区 | 色偷偷噜噜噜亚洲男人 | 欧美久久一级特黄毛片 |