<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機實(shí)現簡(jiǎn)單音樂(lè )發(fā)生器

單片機實(shí)現簡(jiǎn)單音樂(lè )發(fā)生器

作者: 時(shí)間:2016-11-18 來(lái)源:網(wǎng)絡(luò ) 收藏
/*主程序*/

void main()

本文引用地址:http://dyxdggzs.com/article/201611/315961.htm

{

uchar key,k;

TMOD = 0x01;// T0,工作方式1

ET0 = 1;

EA = 1;

while(1)

{

P1 = 0xf0;//發(fā)全0行掃描碼

if ((P1&0xf0)!=0xf0)//若有鍵按下

{

delay();//延時(shí)去抖動(dòng)

if ((P1&0xf0)!=0xf0)//延時(shí)后再判斷一次,去除抖動(dòng)影響

{

key = getkey();//調用鍵盤(pán)掃描函數

//根據獲取的按鍵位置得到k值

switch(key)

{

case 0x11:// 1行1列

k = 0;

break;

case 0x21:// 1行2列

k = 1;

break;

case 0x41:// 1行3列

k = 2;

break;

case 0x81:// 1行4列

k = 3;

break;

case 0x12:// 2行1列

k = 4;

break;

case 0x22:// 2行2列

k = 5;

break;

case 0x42:// 2行3列

k = 6;

break;

case 0x82:// 2行4列

k = 7;

break;

case 0x14:// 3行1列

k = 8;

break;

case 0x24:// 3行2列

k = 9;

break;

case 0x44:// 3行3列

k = 10;

break;

case 0x84:// 3行4列

k = 11;

break;

case 0x18:// 3行4列

k = 12;

break;

case 0x28:// 3行4列

k = 13;

break;

case 0x48:// 3行4列

k = 14;

break;

case 0x88:// 3行4列

k = 15;

break;

default:

break;

}

P20 = ~P20;//反相

/*根據所得的k值設定計數器1的計數初值*/

STH0 = tab[k]/256;

STL0 = tab[k]%256;

TR0 = 1;//開(kāi)始計數

P1 = 0xf0;//發(fā)全0行掃描碼

while ((P1&0xf0)!=0xf0)//若沒(méi)有松開(kāi)按鍵

{

P1 = 0xf0;

}

TR1 = 0;//若按鍵松開(kāi),則停止計數,不產(chǎn)生脈沖輸出

}

}

}

}



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>