0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ATmega162的智能儀器設(shè)計(jì)

電子工程師 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2018-02-15 22:33 ? 次閱讀

ATmega 162是ATMEL公司推出的一款基于AVRRISC的低功耗CMOS的8位單片機(jī)。ATmega 162通過(guò)在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一條指令,可以達(dá)到接近1 MIPS/MHz的性能,從而使得設(shè)汁人員可以在功耗和執(zhí)行速度之間取得平衡。AVR核將32個(gè)通用工作寄存器和豐富的指令集連接在一起。所有的工作寄存器都與ALU算術(shù)邏輯單元直接相連,允許在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行的單條指令,同時(shí)訪問(wèn)兩個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)提高了代碼效率,使AVR得到了比普通CISC單片機(jī)高將近10倍的性能。本文采用ATmega 162開發(fā)了鍵盤一液晶顯示器、無(wú)位置傳感器兩相直流無(wú)刷電機(jī)和異步串行通訊口實(shí)現(xiàn)數(shù)據(jù)的采集和發(fā)送3個(gè)系統(tǒng)。實(shí)驗(yàn)證明,采用ATmega 162開發(fā)的這些系統(tǒng)性能可靠、成本較低、軟件設(shè)計(jì)靈活、硬件接口功能豐富,為今后系統(tǒng)升級(jí)創(chuàng)造了良好條件。

2 ATmega162的結(jié)構(gòu)及特點(diǎn)

ATmega162具有35個(gè)可編程的I/O口線,有40腳PDIP,44腳TQFP及44腳MLF等多種封裝。4個(gè)8位雙向I/O口A,B,C,D,一個(gè)帶內(nèi)部上拉電阻的3位雙向I/O口。每個(gè)端口都有對(duì)應(yīng)的3個(gè)I/O端口寄存器,分別是數(shù)據(jù)寄存器PORTx、方向寄存器器DDRx和輸入引腳寄存器PINx.當(dāng)DDxn寫入0時(shí),對(duì)應(yīng)的Pxn配置為輸入引腳,置PORTxn為1時(shí),配置該引腳的內(nèi)部上拉電阻有效。當(dāng)DDxn為1時(shí),對(duì)應(yīng)的Pxn配置為輸出引腳,PORTxn中的數(shù)據(jù)為外部引腳的輸出電平,即為1,端口引腳被強(qiáng)制驅(qū)動(dòng)為高,輸出高電平(輸出電流);清零PORTxn,端口引腳被強(qiáng)制拉低,輸出低電平(吸入電流)。在復(fù)位過(guò)程中,即使是在系統(tǒng)時(shí)鐘還未啟振的情況下,端口為三態(tài)口。還可以作為地址/數(shù)據(jù)復(fù)用口,提供ATmega162的許多特殊接口功能。C口提供JTAG接口的功能。在允許JTAG接口狀態(tài)下,引腳PC7(TDD,PC5(TMS)和PC4(TCK)的內(nèi)部上拉電阻總是處于有效方式(包括復(fù)位時(shí))。

ATmega162具有以下特點(diǎn):16 kB的同時(shí)具有讀寫能力的在線編程FLASH;512 B E2PROM;1 kB SRAM存儲(chǔ)器;35個(gè)通用I/O口;1個(gè)外部存儲(chǔ)器接口;32個(gè)通用工作寄存器;1個(gè)具有邊界掃描功能的JTAG接口;支持在線編譯、編程以及仿真調(diào)試;支持對(duì)FLASH,E2PROM、芯片熔絲位和保密鎖定位的編程;4個(gè)具有比較模式的靈活的定時(shí)器/計(jì)數(shù)器,2個(gè)具有比較模式的帶預(yù)分頻器的8位定時(shí)器/計(jì)數(shù)器,2個(gè)帶預(yù)分頻器,具有比較和捕獲模式的16位定時(shí)器/計(jì)數(shù)器,具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器;6個(gè)PWM通道;內(nèi)外中斷源;上電復(fù)位和可編程的電壓檢測(cè)電路;內(nèi)部可校準(zhǔn)的RC振蕩器;2個(gè)可編程的UART接口;具有內(nèi)部時(shí)鐘的可編程的看門狗定時(shí)器;SPI串行接口;BOOT區(qū)具有獨(dú)立的加密位,可通過(guò)片內(nèi)的引導(dǎo)程序?qū)崿F(xiàn)在系統(tǒng)編程,寫操作時(shí)真正可讀;全靜態(tài)操作;片內(nèi)帶有執(zhí)行時(shí)間為2個(gè)時(shí)鐘周期的硬件乘法器;以及5種可通過(guò)軟件選擇的節(jié)電模式。

ATmega 162采用了ATMEL的高密度非易失性內(nèi)存技術(shù)生產(chǎn),片內(nèi)FLASH可以通過(guò)SPI接口+通編程器,或通過(guò)JTAG接口,或使用自引導(dǎo)BOOT程序進(jìn)行編程和自編程。利用自引導(dǎo)BOOT程序,可以使芯片在工作過(guò)程中通過(guò)任一硬件串行通訊接口下載應(yīng)用程序,并寫入到FLASH的應(yīng)用程序區(qū)中(IAP)。在更新FLASH的應(yīng)用程序區(qū)代碼時(shí),處在FLASH的BOOT區(qū)中的自引導(dǎo)程序?qū)⒗^續(xù)執(zhí)行,實(shí)現(xiàn)了同時(shí)讀寫的功能。由于將增強(qiáng)的RISC8位CPU與在系統(tǒng)編程和在應(yīng)用編程的FLASH存儲(chǔ)器集成在一個(gè)芯片內(nèi),ATmega 162成為功能強(qiáng)大的單片機(jī),為多嵌入式控制應(yīng)用提供了靈活而低成本的解決方案。

2.1 ATmega162與其他同類器件的比較

在控制領(lǐng)域使用最平凡的CPU無(wú)非就3種:51系列、AVR系列、PIC系列。而ATMEL公司新推出的90系列單片機(jī)內(nèi)含高速閃存FLASH,是基于增強(qiáng)精簡(jiǎn)指令RISC(Reduced Instruction Set CPU)結(jié)構(gòu)的單片機(jī),簡(jiǎn)稱AVR單片機(jī),該系列單片機(jī)在吸收PIC及8051單片機(jī)的優(yōu)點(diǎn)的基礎(chǔ)上,做出了重大的改進(jìn)。

由于本設(shè)計(jì)中的主CPU需要對(duì)溫度數(shù)據(jù)進(jìn)行運(yùn)算及轉(zhuǎn)換,因此一般的51系列CPU是很難勝任的,而且在圖形顯示中加入了星星閃動(dòng)的動(dòng)畫和LOADING的讀取數(shù)據(jù)的動(dòng)畫,所以更是要求主CPU有極快的運(yùn)算速度和程序的可復(fù)制性的優(yōu)點(diǎn)。故經(jīng)過(guò)多種方案的比較后,最后決定選用AVR系列中的ATmega162作為主CPU,同時(shí)ATmega162擁有2個(gè)串行通信口,完全可以滿足與計(jì)算機(jī)的通信。

2.2溫度檢測(cè)器件的比較

做溫度的檢測(cè)可以有很多種方法,比較常用的就是用一個(gè)A/D轉(zhuǎn)換器再接一個(gè)溫度傳感器,而我們慣用的A/D傳感器是0809(8路A/D轉(zhuǎn)換器),傳感器就可以根據(jù)自己的實(shí)際情況來(lái)選擇了,一般選擇的原則是要滿足測(cè)量溫度的范圍,精度和靈敏度。就本設(shè)計(jì)來(lái)說(shuō),需要測(cè)量的溫度范圍是室溫(0~100℃),精度可以是1℃,靈敏度1 s左右就可以了。所以并沒(méi)選用0809來(lái)做,而是在市面上選擇了一個(gè)常用來(lái)做環(huán)境溫度檢測(cè)用的集成芯片——DS18B20,封裝是TOP92的,使用單總線來(lái)傳輸數(shù)據(jù)。從成本的角度來(lái)看18B20一片是15元左右,比AD0809的價(jià)格便宜近一半,而且還可以省去購(gòu)買傳感器的錢,當(dāng)然是在可以滿足測(cè)量要求的前提下。

3 ATmega162的設(shè)計(jì)應(yīng)用

根據(jù)設(shè)計(jì)任務(wù)要求,本設(shè)計(jì)使用AVR單片機(jī)中的ATmega162作為主控制CPU,使用89C2051作為輔助CPU來(lái)采集數(shù)字溫度傳感器DS18B20傳送出來(lái)的溫度值,并通過(guò)8位端口的連接,傳送溫度值給ATmega162,從而實(shí)現(xiàn)多路溫度值的采集。再通過(guò)ATmega162運(yùn)算處理,實(shí)現(xiàn)多路溫度的數(shù)字顯示,同時(shí)還可以顯示其相應(yīng)的溫度柱狀圖。

ATmega162可以在線仿真和在線固化,當(dāng)需要在線仿真時(shí)應(yīng)把仿真器的TCK,TDO,TMS,TDI腳分別上拉4.7 kΩ的電阻后和ATmega162對(duì)應(yīng)的引腳連接起來(lái)。再把仿真器的NSRST與ATmega162的RST連接,仿真器的VTRES和ATmega162的VCC連接,并把仿真器和ATmega162共地。當(dāng)程序在線仿真時(shí),其程序已經(jīng)自動(dòng)固化到CPU中了,這樣就避免了像89C51那樣出現(xiàn)固化失敗的問(wèn)題,系統(tǒng)框圖如圖1所示。


圖1 系統(tǒng)框圖


3.1 ATmega162與鍵盤及液晶顯示器的設(shè)計(jì)

本設(shè)計(jì)中ATmega162采用的是3.686 4 MHz外接晶振。復(fù)位方式選用的是上電復(fù)位,AVR有3種復(fù)位方式(上電復(fù)位、外部復(fù)位、看門狗復(fù)位),因?yàn)榭紤]到工作電壓不穩(wěn)定的因素,采用上電復(fù)位其復(fù)位電路可以確保只有當(dāng)VCC達(dá)到一個(gè)安全電平時(shí),器件才能開始工作。

鍵盤是各種CPU不可缺少的輸入工具,通過(guò)他可以輸入程序和數(shù)據(jù),從而實(shí)現(xiàn)人機(jī)對(duì)話。鍵盤的按鍵排成3×4的矩陣形式,I/O口線PC1~PC3為輸入(設(shè)置為0),作為鍵盤的列掃描線;PC4~PC7為輸出(設(shè)置為1),作為鍵盤的行掃描線,并上拉電阻。當(dāng)判別有鍵按下時(shí),延時(shí)去除鍵的機(jī)械抖動(dòng),再次判別閉合鍵的位置,若確實(shí)有鍵按下,計(jì)算鍵值并返回。

ATmega162的PA口的8位和液晶屏的數(shù)據(jù)端相連,把ATmega162的DDRA設(shè)置為0xFF,這樣PA口只能為輸出。而PB口是對(duì)液晶屏的控制,其PB0與RS相連,PB1與RW相連,PB2與復(fù)位端RST相連,PB3與使能端E相連作使能控制,PB4,PB5分別與液晶屏幕的片選CSB,CSA相連。PD口與89C2051的P1口相連,作為溫度數(shù)據(jù)的輸入口,其DDRD也為0x00,同時(shí)PD1和PD2作為串行通信口分別與MAX232的TIN1和TIN2相連接。PE0和PE1口作為控制溫度傳感器檢測(cè)信號(hào)的輸出,PE2作為溫度檢測(cè)完成信號(hào)的檢測(cè),因此DDRE為0x07.

本設(shè)計(jì)中ATmega 162的PA口作為數(shù)據(jù)端與液晶屏的DB0到DB7相連,PB0與RS相連作為寫狀態(tài),PB1與RW相連控制讀狀態(tài),PB2與RST相連作為液晶屏復(fù)位控制,PB3與E相連是用來(lái)控制液晶屏的使能端,當(dāng)數(shù)據(jù)及指令都正確寫入液晶屏,ATmega 162置PB3為高電平時(shí)液晶屏開始執(zhí)行寫入的程序并調(diào)用新寫入的數(shù)據(jù),PB4、PB5和PB6分別與液晶屏的CSA、CSB和CSC相連,他們分別作為中間、左邊和右邊顯示屏的片選,都是低電平有效。當(dāng)需要在中間屏幕寫,如顯示數(shù)據(jù)時(shí),ATmega 162先把PB4置為低電平,再置RS為高電平,接著是拉低RW的電壓,然后把數(shù)據(jù)放在PA口上好讓液晶屏能接收到,最后打開使能端E,這樣一次數(shù)據(jù)傳輸就完成了。進(jìn)行32次循環(huán)輸入,就可以把一個(gè)16×16漢字輸入到液晶屏里了。

值得注意的是,在使用仿真器時(shí)必須先把接AT-mega162的電路板加電后才能給仿真器上電,然后才使用AVR Studio進(jìn)行在線仿真,否則是無(wú)法正確連接的。

在選擇系統(tǒng)時(shí)鐘源時(shí),要正確配置熔絲位,熔絲位決定著系統(tǒng)采用時(shí)鐘源的方式,不能通過(guò)普通的編程在MCU運(yùn)行時(shí)更改,在調(diào)試之前應(yīng)根據(jù)所選時(shí)鐘源形式和喚醒方式,在仿真系統(tǒng)中正確配置熔絲位,使時(shí)鐘源與熔絲位匹配。

3.2 DS18B20溫度傳感器設(shè)計(jì)

DS18B20作溫度檢測(cè)時(shí)使用的是單總線方式來(lái)傳送指令和數(shù)據(jù),這就要求傳送時(shí)要有絕對(duì)精確的頻率,對(duì)于18B20來(lái)說(shuō)指令的精確度要達(dá)到微秒級(jí),而如果AT-mega 162使用C語(yǔ)言來(lái)編寫,程序是達(dá)不到這么精確的,因此本設(shè)計(jì)加入了89C2051,使用匯編語(yǔ)言來(lái)專門編寫18B20的控制程序。兩個(gè)CPU的通信是直接連接的,因?yàn)锳T-mega 162可以設(shè)置端口的工作方向(由DDR值決定)。

89C2051的P1口和ATmega162的PD口連接,用作數(shù)據(jù)交換,89C2051的P3.0和P3.4與ATmega162的PE0和PE1分別相連作為ATmega162對(duì)89C2051進(jìn)行溫度采集的控制。89C2051的P3.7與ATmega162的PE2連接作為89C2051對(duì)ATmega162發(fā)出讀數(shù)據(jù)指令端。在本設(shè)計(jì)中,可以接多個(gè)溫度傳感器,現(xiàn)只連接了兩個(gè),其數(shù)據(jù)端口分別連接到89C2051的P3.1和P3.5.

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 智能儀器
    +關(guān)注

    關(guān)注

    1

    文章

    54

    瀏覽量

    15053
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ATMEL AVR單片機(jī)ATMEGA8L-8AU/ATMEGA8L-8PU/ATMEGA16L-8PU

    88V-10AUATMEGA128-16AUATMEGA128L-8AUATMEGA128A-AU ATMEGA162V-8AIATMEGA162V-8AUATMEGA162-16AUATMEGA169PV-8AUATMEGA169V-8AUATMEGA324PV-10AU AT
    發(fā)表于 02-23 12:11

    ATmega系列單片機(jī)最新報(bào)價(jià)

    16MHZ 64QFN 否 下 載 詢價(jià) ATMEGA162V-8MUR MCU AVR 16KB FLASH 8MHZ 44QFN 否 下 載 詢價(jià) ATMEGA162-16MUR MCU AVR
    發(fā)表于 03-19 17:19

    基于MODBUS的多路電能采集器電路

    求一個(gè)基于MODBUS的多路電能采集器電路。芯片是ATmega162,電能表用PC機(jī)模擬,需要JTAG接口。跪求各位大神賜教??!
    發(fā)表于 04-14 11:33

    求助:ATMEGA162熔絲擴(kuò)展位寫不進(jìn)去

    第一次使用ATmega162,熔絲擴(kuò)展位默認(rèn)為FF,但是一旦燒寫程序或者寫入了其他熔絲位,熔絲擴(kuò)展位全變成0,而且無(wú)法改變,寫入1顯示寫入成功,但是讀出還是0,但是熔絲位高低字節(jié)都可以正常寫入,試了五六片全都是一樣的情況求高手解答如果寫入atmega162的熔絲擴(kuò)展位
    發(fā)表于 11-16 08:13

    ATMEGA162兩串口通信亂碼

    因?yàn)樾枰獌纱?,初次接觸162,才發(fā)現(xiàn)不是想象的那樣順。讓串口接收的數(shù)據(jù)立即讓另一個(gè)發(fā)出去,protues仿真結(jié)果只有80和00,想請(qǐng)高手指點(diǎn)迷津,下面是程序:#include"
    發(fā)表于 08-23 23:15

    請(qǐng)教jtag接頭與MAX232的連接方法

    我畫了一個(gè)基于atmega162單片機(jī)測(cè)量溫濕度的電路圖,但是其中10pin的jtag接頭與MAX232的連接上出現(xiàn)了問(wèn)題,請(qǐng)教大佬,是不是應(yīng)該用10pin的jtag接頭的第一二管腳分別去連接
    發(fā)表于 02-09 15:04

    如何設(shè)計(jì)一款基于ATmega162智能儀器?

    本文通過(guò)基于ATmega162介紹了他的特點(diǎn)和在溫度檢測(cè)中的應(yīng)用實(shí)例,ATmega162具有其他AVR系列大部分產(chǎn)品的功能,又具有獨(dú)特技術(shù),配置全、功能強(qiáng)、可靠性高、速度高、抗干擾性好、低功耗
    發(fā)表于 02-23 07:40

    atmega162.pdf

    The ATmega162 is a low-power CMOS 8-bit microcontroller based on the AVRenhanced RISC architecture.
    發(fā)表于 04-07 15:16 ?172次下載

    基于ATmega162的自重構(gòu)機(jī)器人控制模式

    本文通過(guò)對(duì)自重構(gòu)機(jī)器人的特點(diǎn)和總體結(jié)構(gòu)進(jìn)行分析,提出一種基于ATmega162 的部分主從分布式控制模式,該模式利用ATmega162 的外擴(kuò)存儲(chǔ)器功能實(shí)現(xiàn)擴(kuò)展總線,從而對(duì)自重構(gòu)機(jī)器人上
    發(fā)表于 06-18 10:49 ?39次下載

    基于Lab Windows/CVI的壓力測(cè)量控制系統(tǒng)的設(shè)計(jì)

    設(shè)計(jì)了一個(gè)基于Lab Windows/CVI 的壓力測(cè)量控制系統(tǒng),人機(jī)交互界面友好,大大提高了壓力測(cè)量的有效性和準(zhǔn)確性。系統(tǒng)由上、下位機(jī)兩部分構(gòu)成,下位機(jī)是ATmega162為控制核心的壓力
    發(fā)表于 08-05 11:53 ?32次下載

    基于單片機(jī)的光伏系統(tǒng)人機(jī)界面的設(shè)計(jì)

    針對(duì)光伏并網(wǎng)逆變器系統(tǒng)對(duì)人機(jī)界面的功能要求,設(shè)計(jì)了基于AVR單片機(jī)ATmega162的液晶顯示人機(jī)界面,實(shí)現(xiàn)了按鍵的掃描,LCD顯示、與PC機(jī)和DSP通訊等功能。詳細(xì)介紹了系統(tǒng)的硬件
    發(fā)表于 08-17 09:06 ?24次下載

    AVR芯片替換與移植手冊(cè)

    128 AVR082  Replacing ATmega161 By ATmega162 AVR083  Replacing ATmega16 3By ATm
    發(fā)表于 01-16 10:12 ?70次下載

    自已動(dòng)手制作AVR單片機(jī)仿真器

    JtagICE 是一款經(jīng)典的仿真器。它支持的芯片清單為:ATmega128, ATmega128L,ATmega16, ATmega162, ATm
    的頭像 發(fā)表于 02-16 11:16 ?6257次閱讀

    ATmega162ATmega162V 8位微控制器的數(shù)據(jù)手冊(cè)免費(fèi)下載

    ATMega162是一款基于AVR增強(qiáng)型RISC架構(gòu)的低功耗CMOS 8位微控制器。通過(guò)在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行強(qiáng)大的指令,ATMega162的吞吐量接近每兆赫1英里/秒,使系統(tǒng)設(shè)計(jì)者能夠優(yōu)化功耗與處理速度的關(guān)系。
    發(fā)表于 10-23 08:00 ?7次下載
    <b class='flag-5'>ATmega162</b>和<b class='flag-5'>ATmega162</b>V 8位微控制器的數(shù)據(jù)手冊(cè)免費(fèi)下載

    ATMEGA162的PCB原理圖免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是ATMEGA162的PCB原理圖免費(fèi)下載。
    發(fā)表于 09-25 17:50 ?0次下載
    <b class='flag-5'>ATMEGA162</b>的PCB原理圖免費(fèi)下載