冰楓論壇

 找回密碼
 立即註冊
ads_sugarbook
搜索
查看: 499|回覆: 0
打印 上一主題 下一主題

[討論] STC90C52RC製作按照節奏閃光音樂爆閃燈

[複製鏈接]

2609

主題

0

好友

946

積分

高級會員

Rank: 4

UID
373967
帖子
7437
主題
2609
精華
0
積分
946
楓幣
1169
威望
926
存款
26000
贊助金額
0
推廣
0
GP
1205
閱讀權限
50
在線時間
407 小時
註冊時間
2023-1-12
最後登入
2024-5-4

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-6 06:31:31 |只看該作者 |倒序瀏覽
以下需要的相關資訊:

零件清單:

STC90C52RC單片機
8個LED燈
8個220歐姆電阻
電容器:104,22PF
晶體:11.0592MHz
電源:5V
腳位連接圖:


LED燈  STC90C52RC
  1         P1.0
  2         P1.1
  3         P1.2
  4         P1.3
  5         P1.4
  6         P1.5
  7         P1.6
  8         P1.7
程式碼:


#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char

sbit beep = P3^3;    //蜂鳴器接口

void delay(uint z)   //延時函數
{
    uint x, y;
    for (x = z; x > 0; x--)
    {
        for (y = 110; y > 0; y--);
    }
}

void main()
{
    uchar i = 0;     //i為LED燈亮燈次數
    uchar j = 0;     //j為節拍器計數器
    uchar beat = 0;  //節拍器,控制LED燈的閃爍節奏
    uchar music[30] = {0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 7, 6, 5, 4, 3, 2, 1, 0, 0, 1, 2, 3, 4, 5, 6};  //音樂節奏
    P1 = 0x00;       //將P1設置為初始狀態,LED燈全部熄滅
    while (1)
    {
        for (i = 0; i < 8; i++)    //循環控制LED燈亮燈次數
        {
            for (j = 0; j < 3; j++)  //循環控制LED燈的閃爍速度
            {
                P1 = ~(1 << i);     //LED燈i亮燈
                delay(100);         //延時100ms
                P1 = 0x00;          //LED燈全部熄滅
                delay(100);         //延時100ms
            }
        }
        for (j = 0; j < 30; j++)    //循環

    {
        beep = 1;           //蜂鳴器鳴叫
        beat = music[j];    //讀取當前節拍器的節奏
        delay(20 * beat);   //根據節拍器的節奏延時
        beep = 0;           //蜂鳴器停止鳴叫
        P1 = ~(1 << j % 8); //LED燈閃爍
        delay(20 * beat);   //根據節拍器的節奏延時
        P1 = 0x00;          //LED燈全部熄滅
    }
}
}



這段程式碼使用了STC90C52RC單片機的P1口來控制8個LED燈的亮燈次數和閃爍節奏。同時,蜂鳴器用來發出節拍聲,以協助LED燈按照節奏閃爍。音樂節奏存儲在一個整數數組中,這個範例中使用的音樂是簡單的八度音階。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1骰子
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們職位招聘本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-5-4 16:17

回頂部