日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> MCU開發實例 >> 正文

51單片機“呼吸燈”程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-11-05

 

剛看了一份關于光立方的視頻里片面提到“呼吸燈”一詞,忙草草寫了一個帶數碼管顯示亮度變化的呼吸燈程序,其中整型frequency為調節呼吸頻率的參數,附圖為臨時做的gif文件,需等會兒才見效果/*12Mhz??§????*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint f=100; /*????????f????????????1~10khz*/
uint H=6;/*????????·§????????0~10000/f????H>L*/
uint L=0;/*????????·§????????0~10000/f????H>L*/
uchar code wela[]={0xfe,0xfd,0xfb,0xf7};
uchar code dula[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xD8,0x80,0x90};
uint m=0,t;
uchar amp=0,frequency=100;
sbit pwm=P1^7;
sbit pwm_=P1^6;
sbit hkey=P3^5;
sbit lkey=P3^3;
void diskey();
void delay(uint z);
void display();
void xunhuan();
void main()
{
EA=1;
ET0=1;
TMOD=0x02;
TH0=146;
t=10000/f;
TR0=1;
while(1)
{
if(hkey==0)diskey();
if(lkey==0)diskey();
display();
xunhuan();
}
}
void TRT0() interrupt 1
{
m++;
if(m>=t)m=0;
if(m==L){pwm=0;}
if(m==H){pwm=1;pwm_=0;}
}
void diskey()
{
display();
if(hkey==0&&H<100)H++;
delay(10);
if(lkey==0&&H>0)H--;
display();
}
void xunhuan()
{
if(amp==1)H++;
if(H>99)amp=0;
if(amp==0)H--;
if(H<1)amp=1;
delay(frequency);
}
void delay(uint z)
{
uint x,y;
for(y=z;y>0;y--)
for(x=12;x>0;x--);
}
void display()
{
delay(2);
P2=dula[H/1000];
P0=wela[0];
delay(5);
P0=0xff;
P2=dula[H%1000/100];
P0=wela[1];
delay(5);
P0=0xff;
P2=dula[H%100/10];
P0=wela[2];
delay(5);
P0=0xff;
P2=dula[H%10];
P0=wela[3];
delay(5);
P0=0xff;
}

Tags:51單片機,呼吸燈程序  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    推薦文章
    • 此欄目下沒有推薦文章
    最新推薦
    熱門文章
    • 此欄目下沒有熱點文章
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 肃宁县| 来凤县| 砚山县| 德钦县| 贡觉县| 宁城县| 桐庐县| 淮滨县| 临沭县| 乳山市| 金寨县| 兴安盟| 循化| 隆尧县| 奉节县| 莱西市| 塔城市| 会同县| 新晃| 铁岭县| 梅州市| 乐东| 镇江市| 达日县| 扎鲁特旗| 铜山县| 山东省| 思南县| 六盘水市| 墨竹工卡县| 扶绥县| 谢通门县| 晴隆县| 会昌县| 苍南县| 东光县| 都兰县| 瓦房店市| 博客| 莱西市| 山丹县|