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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機RGB彩燈漸變七彩燈無頻閃 源程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:370644 發表于 2019-11-18 12:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*彩燈自動循環:1、漸變*/

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define dengji 1//LED變化等級調整
sfr P5=0xC8;//xxxx,1111 端口5
uint shudu=30;//LED漸變速度調整
sbit B1=P3^3;
sbit R1=P5^4;
sbit G1=P5^5;
uchar cishu;
uchar num;//定時器計數變量
uint ji;//亮度等級控制變量
uint Rout,Gout,Bout;
void delay(uint z)
{
uint x,y;
for(y=z;y>0;y--)
for(x=2;x>0;x--);
}
void delay1(uint z)
{
uint x,y;
for(y=shudu;y>0;y--)
for(x=z;x>0;x--);
}
void pwm(uint r,uint g,uint b)
{
if(r!=0)
{
R1=1;
delay(r);
R1=0;
}
if(g!=0)
{
G1=1;
delay(g);
G1=0;
}
if(b!=0)
{
B1=1;
delay(b);
B1=0;
}
}
void main()
{
TMOD=0X01;
EA=1;
ET0=1;
TR0=1;
TH0=(65536-256)/256;//給定時器高8位賦值
TL0=(65536-256)%256;//給定時器低8位賦值
while(1)
{

pwm(Rout,Gout,Bout);


}
}
void zhong () interrupt 1
{

TH0=(65536-156)/256;//給定時器高8位賦值
TL0=(65536-156)%256;//給定時器低8位賦值
num++;//將定時計數變自動增加1
if(num>=shudu)//如果速度變量等于定時計數器變量就執行下面大括號語句
{
num=0;//將計數器清0
ji++;//將亮度等級控制變量加1
if((ji>0)&&(ji<100))//如果亮度等級控制變量ji小于100,紅燈亮起時間變量為240
{
Rout=240;//紅燈亮起變量為240
Gout=0;//綠燈亮起變量為0
Bout=0;//蘭燈亮起變量為0
}
if((ji>100)&&(ji<340))/*如果亮度等級控制變量ji大于100小于340(剛好240個等級),
紅燈亮起時間變量由原來的240,慢慢減小到0,同時綠燈由原來的0慢慢增到240,形成
紅燈到綠燈的漸變過程*/
{
Rout-=dengji;//將紅燈變量減1。因為dengji為亮度變化等級(本程序變化等級為1),
Gout=0;//蘭燈不變
Bout+=dengji;//將綠燈變量加1
}
if((ji>340)&&(ji<440))/*亮度等級控制變量ji大于340小于440時,讓綠燈變量停一段時間
這樣就形成了當紅燈過度到綠燈時,綠燈會停一會兒的效果。*/
{
Rout=0;//紅燈滅
Gout=0;//蘭燈滅
Bout=240;//綠燈亮
}
if((ji>440)&&(ji<680))//同理:亮度等級控制變量ji大于440小于680時,由綠燈到蘭燈過度
{
Rout+=dengji;//紅燈變量不變
Gout+=dengji;//將綠燈變量減1
Bout=240;//將蘭燈變量加1
}
if((ji>680)&&(ji<685))//亮度等級控制變量ji大于680小于780時,讓蘭燈變量停一段時間
{
Rout=240;//紅燈滅
Gout=240;//綠燈滅
Bout=240;//蘭燈亮一會兒
}
if((ji>685)&&(ji<925))//亮度等級控制變量ji大于780小于1020時,由蘭燈到白燈過度
{
Rout-=dengji;//將紅燈變量加1
Gout=240;//綠燈變量加1
Bout-=dengji;//蘭燈不變
}
if((ji>925)&&(ji<1025))//亮度等級控制變量ji大于1020小于1025時,由蘭燈到白燈過度
{
Rout=0;//將紅燈變量加1
Gout=240;//綠燈變量加1
Bout=0;//蘭燈不變
}
if((ji>1025)&&(ji<1265))//亮度等級控制變量ji大于1025小于1265時,由白光到紅光過度
{
Rout+=dengji;//紅燈變量不變
Gout-=dengji;//綠燈變量自動減1
Bout=0;//蘭燈變量自動減1
}
if(ji>=1265)//當亮度等級控制變量ji大于1210時,就將它清0
ji=0;//將亮度控制等級清0
}
}

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

使用道具 舉報

沙發
ID:67857 發表于 2020-1-24 14:42 | 只看該作者
怎么delay1后面沒用到?
回復

使用道具 舉報

板凳
ID:686631 發表于 2020-1-26 12:17 | 只看該作者
實物有嗎?測試過嗎

評分

參與人數 1黑幣 +5 收起 理由
lxa0 + 5 那個代碼是拍腦袋想出來的。。。

查看全部評分

回復

使用道具 舉報

地板
ID:702292 發表于 2021-5-21 16:11 | 只看該作者
sbit R1=P3^4;
sbit G1=P3^5;修改
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人综合一区二区三区 | 殴美成人在线视频 | 日韩欧美综合 | 国产伦精品一区二区三毛 | 欧美成人激情视频 | 色成人免费网站 | www.se91| 一区二区三区精品 | 97超碰在线播放 | 国产免国产免费 | 国产精品欧美日韩 | 伊人二区| 亚洲国产成人精品在线 | 欧美在线观看网站 | 天天射影院 | 亚洲欧美视频一区二区 | 小草久久久久久久久爱六 | 亚洲成人观看 | 精品一区二区三区在线观看 | 亚洲国产精品久久久久婷婷老年 | 日韩欧美一区二区三区 | 欧美h版 | 国产精品国产成人国产三级 | 538在线精品| 成人精品 | 国产91视频免费 | 成人三级影院 | 色网在线看 | 亚洲精品粉嫩美女一区 | 亚洲欧美视频一区 | 久久精品视频免费看 | 欧美日韩久久久 | 伦理二区 | 成人精品久久久 | 亚洲三级在线 | 久久久69| 亚洲网在线 | 亚洲性综合网 | 久久久久久国产精品免费免费男同 | 免费在线播放黄色 | 日韩中文字幕免费 |