在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > #單片機(jī)#矩陣鍵盤-電子琴

        #單片機(jī)#矩陣鍵盤-電子琴

        作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
        #include //包含51單片機(jī)寄存器定義的頭文件
        sbit sound=P0^4; //將sound位定義為P0.4
        #define uchar unsigned char
        #define uint unsigned int
        uchar k,num,temp;
        uint code yinfu[]= {64580,64684,64777,64820,64898,64968,65030 }; //中1,中2,中3,中4,中5,中6,中7
        void delay(uint z)
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
        }
        uchar key_scan()
        {
        uchar i=0;
        for(i=0;i<4;i )//循環(huán)四次
        {
        P2=~(0x01<
        temp=P2; //讀取P1的值
        temp=0xf0&temp; //獲取高四位的值
        if(temp!=0xf0) //若有鍵按下,條件成立
        {
        delay(5);//延時(shí)
        temp=P2;//再次讀取P1的值
        temp=0xf0&temp;//獲取高四位值
        if(temp!=0xf0)//再次判斷
        {
        switch(temp) //判斷高四位的值
        {
        case 0xe0:num=0 i*4; //根據(jù)i的值,決定返回num的值是多少
        break; //i=0,代表第一行;i=1,代表第二行……
        case 0xd0:num=1 i*4;
        break;
        case 0xb0:num=2 i*4;
        break;
        case 0x70:num=3 i*4;
        break;
        }
        while(temp!=0xf0) //松手檢測(cè)
        {
        temp=P2;
        temp=0xf0&temp;
        }
        }
        }
        }
        return num;
        }
        void main()
        {
        TMOD=0x01;//設(shè)置定時(shí)器0工作方式1
        TH0=(yinfu[0])/256;
        TL0=(yinfu[0])%6;//賦初值
        EA=1;//開總中斷
        ET0=1;//開定時(shí)器中斷0
        TR0=1;//啟動(dòng)定時(shí)器0
        while(1)
        {
        }
        }
        void timer0() interrupt 1
        {
        TH0=(yinfu[key_scan()])/256;
        TL0=(yinfu[key_scan()])%6;//賦初值
        sound=!sound;
        }


        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉