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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于1T單片機(jī)的電子標(biāo)簽銷碼器[圖]

          基于1T單片機(jī)的電子標(biāo)簽銷碼器[圖]

          作者: 時(shí)間:2012-05-25 來源:網(wǎng)絡(luò) 收藏

          基于1T單片機(jī)的電子標(biāo)簽銷碼器

          1.4 單片機(jī)控制電路

          STC12C2052AD單片機(jī)采用增強(qiáng)型8051內(nèi)核,1個(gè)時(shí)鐘及1個(gè)機(jī)器周期(),速度比普通8051快8~12倍。工作頻率0~35MHz,片內(nèi)8k字節(jié)Flash程序存儲(chǔ)器,擦寫次數(shù)1097次以上,片內(nèi)256字節(jié)RAM數(shù)據(jù)存儲(chǔ)器,2個(gè)硬件16位定時(shí)器,1個(gè)全雙工異步串行口,2路PWM輸出,8路A/D轉(zhuǎn)換。具有高速、低功耗、超強(qiáng)抗干擾等優(yōu)點(diǎn),是目前同類技術(shù)中性價(jià)比較高的產(chǎn)品。單片機(jī)系統(tǒng)內(nèi)部采用定時(shí)器的定時(shí)中斷來控制模擬開關(guān)HC4066,實(shí)現(xiàn)發(fā)射和檢測的控制。單片機(jī)的P3.7腳輸出占空比周期變化的PWM電壓用以產(chǎn)生周期掃描頻率;一旦系統(tǒng)檢測到報(bào)警物的存在,通過INT0使單片機(jī)產(chǎn)生中斷,單片機(jī)的P1.7腳輸出低電平,打開功率管Q2,加大發(fā)射功率擊穿中的電容,并在P1.2腳輸出高電平,使蜂鳴器發(fā)聲報(bào)警。單片機(jī)控制電路如圖2所示。

          2 軟件設(shè)計(jì)

          STC12C2052AD軟件部分的設(shè)計(jì)基于嵌入式C語言,采用模塊化程序結(jié)構(gòu)。包括主程序、系統(tǒng)初始化子程序、控制功能子程序、檢測子程序、占空比周期變化的PWM子程序。

          主程序是的核心程序,在測試系統(tǒng)開始工作后,程序保持在主程序中循環(huán)運(yùn)行,根據(jù)不同需要對其它功能子程序進(jìn)行調(diào)用,調(diào)用完畢后,程序返回主程序繼續(xù)進(jìn)行循環(huán)。主程序流程圖如圖5所示。系統(tǒng)初始化子程序主要完成系統(tǒng)初始化工作,包括引腳配置初始化、定時(shí)器初始化、中斷初始化、系統(tǒng)參數(shù)初始化等??刂乒δ茏映绦蚴箍刂葡到y(tǒng)按照功能要求正常工作。檢測子程序完成的檢測和擊穿電子標(biāo)簽。占空比周期變化的PWM子程序用來控制產(chǎn)生掃描頻率。主程序流程圖如圖5所示。

          基于1T單片機(jī)的電子標(biāo)簽銷碼器

          3 結(jié)論

          RFID采用無接觸讀寫,可同時(shí)識別多個(gè)物體,有較好的抗干擾能力和保密性能,這些方面都是條形碼無法比擬的,隨著信息化水平的不斷提高,RFID技術(shù)有著廣闊的應(yīng)用前景和巨大商機(jī)。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(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); })();