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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5233|回復(fù): 1
收起左側(cè)

51單片機(jī)學(xué)習(xí)—JQ8900-16P語(yǔ)音模塊源程序

[復(fù)制鏈接]
ID:767950 發(fā)表于 2020-6-18 23:31 | 顯示全部樓層 |閱讀模式
近那個(gè)寶上買了一個(gè)JQ8900-16P語(yǔ)音模塊,用譜中教育的開(kāi)發(fā)板操作了一下。


主要通過(guò)IO按鍵控制語(yǔ)音模塊的IO的7首歌曲播放。



#include<reg52.h>
#include<intrins.h>        
typedef unsigned int u16;
typedef unsigned char u8;
#define music_in P1
#define music_out P0
sbit k1 = P1^0;
sbit k2 = P1^1 ;
sbit k3 = P1^2 ;
sbit k4 = P1^3 ;
sbit k5 = P1^4        ;
sbit k6 = P1^5        ;
sbit k7 = P1^6        ;
sbit k8 = P1^7         ;

sbit led1 =  P0^1;
sbit led2 =  P0^2;
sbit led3 =  P0^3;
sbit led4 =  P0^4;
sbit led5 =  P0^5;
sbit led6 =  P0^6;
sbit led7 =  P0^7;




void delay10ms(void)   //延遲10ms
{
    u8 a,b,c;
    for(c=1;c>0;c--)
        for(b=38;b>0;b--)
            for(a=130;a>0;a--);
}
void delay1s(void)   //誤差 0us
{
    unsigned char a,b,c;
    for(c=167;c>0;c--)
        for(b=171;b>0;b--)
            for(a=16;a>0;a--);
    _nop_();  //if Keil,require use intrins.h
}
void keypros()
{
        if(k1==0)                  //檢測(cè)按鍵K1是否按下
        {        
                delay10ms();   //消除抖動(dòng) 一般大約10ms
                if(k1==0)         //再次判斷按鍵是否按下
                {
                        led1=~led1;          //led狀態(tài)取反
                        delay1s();
                        led1=~led1;
                }
                while(!k1);         //檢測(cè)按鍵是否松開(kāi)
        }

        if(k2==0)                  //檢測(cè)按鍵K1是否按下
        {        
                delay10ms();   //消除抖動(dòng) 一般大約10ms
                if(k2==0)         //再次判斷按鍵是否按下
                {
                        led2=~led2;          //led狀態(tài)取反
                        delay1s();
                        led2=~led2;

                }
                while(!k2);         //檢測(cè)按鍵是否松開(kāi)
        }
        if(k3==0)                  //檢測(cè)按鍵K1是否按下
        {        
                delay10ms();   //消除抖動(dòng) 一般大約10ms
                if(k3==0)         //再次判斷按鍵是否按下
                {
                        led3=~led3;          //led狀態(tài)取反
                        delay1s();
                        led3=~led3;        
                }
                while(!k3);         //檢測(cè)按鍵是否松開(kāi)
        }
        if(k4==0)                  //檢測(cè)按鍵K1是否按下
        {        
                delay10ms();   //消除抖動(dòng) 一般大約10ms
                if(k4==0)         //再次判斷按鍵是否按下
                {
                        led4=~led4;          //led狀態(tài)取反
                        delay1s();
                        led4=~led4;
                }
                while(!k4);         //檢測(cè)按鍵是否松開(kāi)
        }
        if(k5==0)                  //檢測(cè)按鍵K1是否按下
        {        
                delay10ms();   //消除抖動(dòng) 一般大約10ms
                if(k5==0)         //再次判斷按鍵是否按下
                {
                        led5=~led5;          //led狀態(tài)取反
                        delay1s();
                        led5=~led5;        
                }
                while(!k5);         //檢測(cè)按鍵是否松開(kāi)
        }
        if(k6==0)                  //檢測(cè)按鍵K1是否按下
        {        
                delay10ms();   //消除抖動(dòng) 一般大約10ms
                if(k6==0)         //再次判斷按鍵是否按下
                {
                        led6=~led6;          //led狀態(tài)取反
                        delay1s();
                        led6=~led6;        
                }
                while(!k6);         //檢測(cè)按鍵是否松開(kāi)
        }
        if(k7==0)                  //檢測(cè)按鍵K1是否按下
        {        
                delay10ms();   //消除抖動(dòng) 一般大約10ms
                if(k7==0)         //再次判斷按鍵是否按下
                {
                        led7=~led7;          //led狀態(tài)取反
                        delay1s();
                        led7=~led7;         
                }
                while(!k7);         //檢測(cè)按鍵是否松開(kāi)
        }

        
                        
}
void main()
{
        music_out=0xff;
//led1 =0;
        while(1)
        {        
                keypros();  //按鍵處理函數(shù)        
        }               
}

————————————————


回復(fù)

使用道具 舉報(bào)

ID:975220 發(fā)表于 2022-2-3 13:42 | 顯示全部樓層
大佬,線咋接啊,i/o都接上嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品九九九 | 国产尤物视频 | 午夜影院免费 | 黄网免费看 | 亚洲精品伦理 | 一级欧美一级日韩 | 欧美日韩国产激情 | 中文字幕一区二区三区在线观看 | 91精品国产日韩91久久久久久 | 三年中文在线观看免费大全中国 | 好好的日com| 日本黄色一级视频 | 亚洲精品区 | 国产成人精品一区二区三区在线观看 | 国产精品国产精品国产专区不卡 | www国产精品 | 黄色片免费网站 | 欧美成人三级 | 天天拍夜夜操 | 欧美一区二区精品 | 久久精品一 | 一级片免费观看 | 亚洲精品一区二三区 | 欧美成人精品一区二区 | 欧美日韩国产在线观看 | 天天操天天干天天爽 | 99精品在线| 国产伦精品一区二区免费 | 国产理论在线观看 | 中文字幕在线观看一区二区三区 | 日韩精品免费视频 | 国产免费福利 | 精品久久免费视频 | 国产天堂网 | 久久精品三级 | av手机版 | 天天爽夜夜爽夜夜爽 | 亚洲福利一区 | 欧美激情在线观看 | 伊人9999 | www.久久爱 |