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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ATmega8單片機多功能實驗儀設計

          基于ATmega8單片機多功能實驗儀設計

          作者: 時間:2010-11-09 來源:網絡 收藏

          2 硬件電路的
          2.1 CPU模塊的
          ATmegs8是ATMEL公司在2002年第一季度推出的一款新型AVR高檔。ATmegs8內部集成有豐富的硬件接口電路,2個具有比較模式的預分頻器(Separate Prescale)的8位定時/計數(shù)器。1個預分頻器(Separat Prescale),具有比較和捕獲模式的16位定時/計數(shù)器,1個具有獨立振蕩器的異步實時時鐘(RTC),3個PWM通道,可實現(xiàn)任意16位、相位和頻率可調的PWM脈寬調制輸出,8通道A/D轉換(TQFP、MLF封裝),6路10位A/D+2路8位A/D,6通道A/D轉換(PDIP封裝),4路10位A/D+2路8位A/D,1個I2C的串行接口,支持主/從、收發(fā)四種工作方式,支持自動總線仲裁,1個可編程的串行USART接口,支持同步、異步以及多機通信自動地址識別,1個支持主/從(Master/Slave)、收/發(fā)的SPI同步串行接口,帶片內RC振蕩器的可編程看門狗定時器,片內模擬比較器。圍繞核心芯片所的CPU模塊如圖2所示。

          b.JPG


          圖中的復位電路RESET有二種選擇:外部復位,J10必須插上短路塊;或PC6作I/O口用,J10拔出短路塊。
          圖中的晶振電路XTAL1和XTAL2分別是片內振蕩器的反向放大器的輸入、輸出端,外接一個晶體振蕩器,通過對熔絲位CKOPT編程和設定C9、C10的取值范圍(12μm~22 μm)使有較寬的工作頻率范圍(3.O MHz~8.0 MHz)。晶振有兩種選擇:外接8 MHz無源晶振,(也可外接8 MHz有源晶振,當外接無源晶振不能起振時,用有源晶振就能解決問題,超頻也能起振),或用內部RC振蕩器。當J11與J12插上短路塊時,為用外接無源晶振;當J11與J12不插短路塊時,則用內部振蕩器。
          另外,模塊還設計有JTAG接口和ISP編程接口(ISP即in-System Programmable)。JTAG接口可以通過下載器將與微型計算機的并行接口連接。ISP編程接口是在線下載或讀取芯片內部程序時用的,各引腳的含義如圖3所示。其中l(wèi)腳與的PB3連接。4、6、8、lO接地,5腳與ATmega8的PC6連接,7腳與ATmesa8的PB5連接,9腳與ATmega8的PB4連接。

          c.JPG

          2.2 下載器模塊
          下載器由接口板和連接電纜組成。接口板的原理圖見圖4。圖中U201是8緩沖器74HC244電路,用作計算機并口和的緩沖隔離。連接器CN202是通用的DB25針插頭,與上位機連接,進行通信;其中4、5腳控制U201芯片,在其低電平時允許數(shù)據正常傳輸,高電平時74HC244的輸出呈高阻狀態(tài);7腳輸出數(shù)據到單片機;6腳是時鐘信號;9腳是輸出復位信號;10腳是接收從單片機讀出的數(shù)據。下載電纜采用10芯扁平電纜,兩頭壓有IDC插頭。一端接下載器,另一端接最小系統(tǒng)板上的ISP口JP1。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();