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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR單片機(jī)的智能信息記錄儀設(shè)計(jì)

          基于AVR單片機(jī)的智能信息記錄儀設(shè)計(jì)

          作者: 時(shí)間:2010-04-23 來源:網(wǎng)絡(luò) 收藏

          該儀器的中斷接口電路包括開機(jī)時(shí)的上電中斷和關(guān)機(jī)時(shí)的掉電中斷,它們都由光電耦合芯片6N137和非門74LVT04組成,圖3所示是其中斷電路。電源VC經(jīng)過7805后接到光耦的輸入端,輸出接的INT0和非門的l腳,非門的2腳接INTl。因此,在開機(jī)時(shí),光耦輸入端Vin+為高電平,輸出端Vo為低電平,故產(chǎn)生上電中斷(INT0);而關(guān)機(jī)時(shí),光耦的輸入是低電平,而輸出為高電平。故在經(jīng)過非門2腳后,輸出低電平以產(chǎn)生掉電中斷(INTl)。

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


          電源切換電路主要的功能是在系統(tǒng)關(guān)機(jī)時(shí),轉(zhuǎn)由鋰電池給USB供電并完成數(shù)據(jù)的保存,其電源切換如圖4所示。圖中,當(dāng)外部開機(jī)后,V為高電平使三極管Q2導(dǎo)通,同時(shí)把Q1的基極拉至低電平,使其導(dǎo)通。外部電源V經(jīng)過二極管D1后(VC)給電路和USB供電。由于程序在初始時(shí)把POWER置高,所以,此時(shí)Q2也是導(dǎo)通的。當(dāng)系統(tǒng)關(guān)機(jī)后,V變成低電平,三極管Q2截止。但是,由于此時(shí)Q3是導(dǎo)通的,所以Q1仍導(dǎo)通,只是此時(shí)是由鋰電池供電來完成數(shù)據(jù)的保存,這時(shí),的定時(shí)器l開始工作,并在延時(shí)10 s后,使POWER的輸出為低電平,從而使Q3關(guān)斷,并最終使Q1的基極變高,整個(gè)關(guān)閉。

          2 系統(tǒng)軟件
          系統(tǒng)軟件的主要任務(wù)是USB的讀寫、液晶的顯示、時(shí)鐘和鍵盤的編程。PB375A和單片機(jī)之間使用串行通信。其中,單片機(jī)首先將命令碼和
          參數(shù)發(fā)送給PB375A,由PB375A根據(jù)命令執(zhí)行完相應(yīng)操作,再以中斷方式返回操作狀態(tài)碼給單片機(jī)。通信格式包括起始碼(0x3A)、操作碼、數(shù)據(jù)長度和數(shù)據(jù)包。其主要的操作碼如下:
          Ox71:檢測U盤是否連接,連接時(shí)返回0;
          0x64:打開已有的文件,如果文件不存在,則返回Ox42:
          0x65:新建文件;
          Ox7A:確定讀寫字節(jié)的地址;
          0x7B:以字節(jié)為單位返回讀取的數(shù)據(jù)。
          圖5所示是本系統(tǒng)的程序流程框圖。



          評論


          相關(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); })();