<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 應(yīng)用AVR單片機(jī)制作電子打鈴儀的思路

          應(yīng)用AVR單片機(jī)制作電子打鈴儀的思路

          作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
          AVR具有512個(gè)字節(jié)的片內(nèi)EEPROM,利用它可以記錄事先設(shè)定的打鈴時(shí)間(如果每個(gè)時(shí)間條需要2個(gè)字節(jié),則存儲(chǔ)的時(shí)間條可以200多個(gè)),然后將AVR制作成電子鐘,在某個(gè)時(shí)間內(nèi),掃描并取出片內(nèi)存儲(chǔ)的時(shí)間條,與當(dāng)前時(shí)間進(jìn)行對(duì)比,如果吻合,則打鈴。

          下面是打鈴儀(成熟產(chǎn)品)的具體設(shè)計(jì)思路:
          1、硬件方面:用有備用電池供電的日歷芯片DS1302作電子鐘的標(biāo)準(zhǔn)時(shí)間,AVR外置I2C存儲(chǔ)器,LED作狀態(tài)和時(shí)間顯示,四至五個(gè)輕觸開關(guān)作控制,輸出采用無(wú)觸點(diǎn)方案。供電:12V直流/220V兩用,沒有市電自動(dòng)轉(zhuǎn)換12V蓄電池供電。
          控制開關(guān)的分配:時(shí)分調(diào)整2個(gè),功能轉(zhuǎn)換1個(gè),存儲(chǔ)或顯示記錄打鈴點(diǎn)1個(gè),備用1個(gè)。
          2、軟件方面:從存儲(chǔ)器中取出所有打鈴點(diǎn)(一般要限額),每分鐘對(duì)比一次,查詢是否存在打鈴點(diǎn)。如果有則執(zhí)行打鈴程序。如果打鈴點(diǎn)作了調(diào)整,則再次取出打鈴點(diǎn)。

          本文引用地址:http://www.ex-cimer.com/article/201611/323859.htm

          本人不負(fù)自己期望,在學(xué)習(xí)應(yīng)用AVR單片機(jī)方面取得重大的進(jìn)展。本人已經(jīng)具備初步應(yīng)用AVR制作打鈴儀的設(shè)計(jì)、編程能力。雖然現(xiàn)在制作的模型仍存在一些缺點(diǎn)而不能推廣、應(yīng)用,但設(shè)計(jì)思路已經(jīng)相當(dāng)清晰,制作成功已指日可待。

          下面是部分源程序:

          time();
          jinwei();
          scankey();
          if(hour==hour00&min==min00&out==1)//三個(gè)條件缺一不可
          {
          savenum=savenum+2;
          hour00=EEPROMread(savenum);
          _NOP();_NOP();_NOP();
          min00=EEPROMread(savenum+1);
          daling();
          }



          關(guān)鍵詞: AVR單片機(jī)電子打鈴

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();