




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
特AVRRISC89條指 大多數(shù)為單指令周32個8位通用工作寄存12MHz12MIPS的性能數(shù)據(jù)和非易失性程序內(nèi)存1K字節(jié)的可編程FLASH擦除次數(shù)1000次64字節(jié)可編程EEPROM 程序加密位Peripheral特點一個可預(yù)分頻Prescale的8位定時器/計數(shù)器片內(nèi)模擬比較器可編程的看門狗定時器由片內(nèi)振蕩器生成用于程序的SPI口特別的MCU低功耗空閑和掉電模式內(nèi)外部中斷源可選的片內(nèi)RC振蕩器規(guī)范Specification低功耗CMOS工藝全靜態(tài)工作4MHz3V25條件下的功耗工作模式2.0mA空閑模式1I/O和封裝15個可編程的I/O20PDIPSOIC封裝工作電壓2.7V-6.0VAT90S1200-44.0V-6.0VAT90S1200-12速描 AT90S12001MIPS/MHzAVR32ALU算邏單元直接相連允許在一個時鐘周期內(nèi)執(zhí)行的單條指令同時兩個獨立的寄存器這種結(jié)構(gòu)提高了代碼效率使AVR得到了比普通CISC單片機高將近10倍的性能圖 AT90S1200結(jié)構(gòu)方框這種結(jié)構(gòu)可以有效地支持高級語言編程同時保持代碼密度緊湊AT90S1200具有以下特點1K字節(jié)FLASH64字節(jié)EEPROM15個通用I/0口32個通用工作寄存器內(nèi)外中斷源可編程的看門狗定時器程序用的SPI口以及兩種可通過軟件選擇的省電模式工作于空閑模式時CPU將停止運行而寄存器 定時器/計數(shù)器看門狗和中斷系統(tǒng)繼續(xù)工作掉電模式時振蕩器停止工作所有功能都被 而寄存器內(nèi)容得到保留只有外部中斷或硬件復(fù)位才可以退出此ATMELFLASH允許多次編程通過將增強的RISC8位CPU與FLASH集成在一個內(nèi)1200為許多嵌入式控制應(yīng)用提供了靈活A(yù)T90S1200具有一整套的編程和系統(tǒng)開發(fā)工具宏匯編調(diào)試/仿真 仿真器和評估管腳配置管腳定義 GNDB口B8I/O口每一個管腳都有內(nèi)部上拉電阻可單獨選擇PB0PB1還可作為片內(nèi)模擬比較器的正AIN0負AIN1輸入端B口的輸出緩沖器能夠吸收20mA的電LED復(fù)位過程中B口為三態(tài)即使此時時鐘還未起振D口D7I/O20mA的電流當作為輸入時如果外部被拉低由于上拉電阻的存在管腳將輸出電流在復(fù)位過程中D口為三態(tài) 復(fù)位輸入超過50ns的低電平將引起系統(tǒng)復(fù)位50nsXTAL1振蕩器放大器的輸入端XTAL2振蕩器放大器的輸出端晶體振蕩器XTAL1XTAL2使用外部時鐘時XTAL2應(yīng)懸空圖 振蕩器連注若要利用MCU的振蕩器作為器件的時鐘應(yīng)該如上圖一樣連接一個HC緩沖圖 外部時鐘驅(qū)動配RC振蕩器可以選擇片內(nèi)的RC振蕩器頻率為1M作為MCU的時鐘從而AT90S1200可以在零的情況下工作當RCEN位編程為 時RC振蕩器即成為MCU時鐘RCEN位只能并行編程模式下改變所以如果要利用RC振蕩器來進行串行的話首先要并行改變?yōu)榱丝蛻舴奖闫鹨夾T90S1200ARCEN結(jié)構(gòu)縱覽4AT90S1200AVRRISC快速寄存器堆包含32個8位可單周期的通用寄存器這意味著在一個時鐘周期內(nèi)ALU可以完成一次如下操作寄存器堆中的兩個操作數(shù)執(zhí)行操作將結(jié)果存回到寄存器堆ALU支持兩個寄存器之間寄存器和常數(shù)之間的算術(shù)和邏輯操作以及單寄存器的操作AVR采用了HARVARD結(jié)構(gòu)程序和數(shù)據(jù)總線分離程序內(nèi)存通過兩段式的管道Pipeline進行當CPU相對跳轉(zhuǎn)和相對調(diào)用指令可以直接512個地址空間所有的AVR指令都為16位長也就是說每一個程序內(nèi)存地址都包含一條16位的指令當執(zhí)行中斷和子程序調(diào)用時返回地址于堆棧中1200的堆棧為3級硬件堆棧I/O內(nèi)存空間包含64個CPU的地址如控制寄存器T/CA/D等AVR結(jié)構(gòu)的內(nèi)存空間是線性的中斷模塊由I/O空間中的控制寄存器和狀態(tài)寄存器中的全局中斷使能位組成每個中斷都具有一個中斷向量由中斷向量組成的中斷向量表位于程序區(qū)的最前面中斷向量地址低的中斷通用工作寄存器堆……圖……所有的寄存器操作指令都可以單指令的形式直接所有的寄存器例外情況為5條涉及常數(shù)操作的指令SBCI CPIANDI和ORI這些指令只能通用寄存器堆的后半部分R16到R31AVRALU與32個通用工作寄存器直接相連ALU操作分為3類算 邏輯和位操可編程AT90S12001KFLASH16位寬故爾FLASH51216FLASH的擦除次數(shù)至少為1000次AT90S1200的程序計數(shù)器PC為9位寬可以尋址到512個字的FLASH程序程序和數(shù)據(jù)尋址模式單寄存器直接尋址單寄存器間接尋址雙寄存器直接尋址I/O直接尋址程序相對尋址子程序和中斷硬件堆棧AT90S12003級硬件堆棧9RCALLPC001RETI0PC將出棧12如果有多于3個的子程序或中斷連續(xù)嵌套發(fā)生則第一個進棧的內(nèi)容將丟 其寫為100000次具體操作見后續(xù)章指令操作時序AVRCPU由系統(tǒng)時鐘驅(qū) 此時外部晶體直接產(chǎn)表 地址16進名 T/CT/C0T/C08DDAVR1200的所有I/O和都被放置在I/O空間IN和OUT指令用來不同的I/O地址位尋址而SIBCSIBS則用來檢查單個位置位與否為了與后續(xù)產(chǎn)品兼容保留未用的位應(yīng) 0而保留的I/O寄存器則不應(yīng)一些狀態(tài)標志位的清除是通過寫1 來實現(xiàn)的CBI和SBI指令已置位的標志位時會回寫1因此會清除這些標志位I/O寄存器和控制寄存器在后續(xù)章節(jié)介76543210ITHSVN76543210ITHSVNZC00000000 全局中斷使能置位時使能全局中斷單獨的中斷使能由個獨立控制寄存器控制如果I 中斷標志置位與否都不會產(chǎn)生中斷I在復(fù)位時 RETI指令執(zhí)行后置位TBLDBST利用T作為目的或源地址BST把寄存器的某一位拷貝到TH半加標志位S符號位 二進制補碼溢出標志位N負數(shù)標志位Z零標志位C進位標志位狀態(tài)寄存器在進入中斷和退出中斷時并不自動進行和恢復(fù)這項工作由軟件完復(fù)位和中斷處理AT90S120033個中斷事件有自己的使能位當使能位置位且I也置位的情況下中斷可以發(fā)生2在中斷向量表中處于低地址的中斷具有高的優(yōu)先級所以RESET具有最高的優(yōu)先級表 復(fù)位與中斷向向量號程序地址來中斷定義1硬件管 上電復(fù)位和看門狗復(fù)23 T/C04PT0P<指令復(fù)位源上電復(fù) 外部復(fù) 當/RESET引腳上的低電平超過50ns時MCU復(fù)看門狗復(fù) I/O$000開始執(zhí)行$000地址中放置的指令必須為RJMP相對跳轉(zhuǎn)指令跳轉(zhuǎn)到復(fù)位處理例程若程序不需中斷則中斷向量就可放置通常的程序代碼圖13為復(fù)位電路的邏輯圖表3定義了復(fù)位電路的時序和電參數(shù)圖 復(fù)位邏表 復(fù)位電參 VCC=符參最小值典型值最大值單上電復(fù)位電壓門限上V上電復(fù)位電壓門限下V--V234復(fù)位延遲周期等于16K個WDT鐘注1.VPOT上電復(fù)位上電復(fù)位POR 保證器件在上電時正確復(fù)位如圖13所示在電源電壓達到VPOT后片內(nèi)定圖 MCU啟動/RESET與VCC相如果內(nèi)置于片內(nèi)的啟動時間足夠的話/RESETVCC直接相連或是外接上拉電阻如果在加上VCC的同時保持/RESET15外部復(fù)位外部復(fù)位由外加于/RESET引腳的低電平產(chǎn)生大于50ns的復(fù)位脈沖將造成復(fù)位施加VRST上升沿時tTOUT延時周期開始然后MCU啟動圖 工作期間的外部復(fù)看門狗復(fù)位1XTAL圖 工作期間的看門狗復(fù)中斷處理AT90S1200有2個中斷 控制寄存器GIMSK通用中斷 寄存器和TIMSKT/C中斷屏一個中斷產(chǎn)生后全局中斷使能位I將 后續(xù)中斷 用戶可以在中斷例程里I置位從而開放中斷RETII當程序計數(shù)器指向?qū)嶋H中斷向量開始執(zhí)行相應(yīng)的中斷例程時硬件清除對應(yīng)的中斷標志一些中斷標志位也可以通過軟件寫1 當一個符合條件的中斷發(fā)生后如果相應(yīng)的中斷使能位為0則中斷標志位置位并一直保持到中斷執(zhí)行或者被軟件清除如果全局中斷標志 則所有的中斷都不會被執(zhí) 直到I置注意外部電平中斷沒有中斷標志位因此當電平變?yōu)榉侵袛嚯娖胶笾袛鄺l件即終止進入中斷和退出中斷時MCU不會自動保存或恢復(fù)狀態(tài)寄存器故爾需由軟件處理通用中斷寄存器76543210-------讀/RRRRRRR00000000位 INT00請求使能當INT0和I都為1時 外部引腳中斷使能MCU通用控制寄存器MCUCR中的中斷檢測控制位1/0ISC01和ISC00定義中斷0是上升沿中斷還是下降沿中斷或者是低電平中斷即使管腳被定義為輸出中斷仍可產(chǎn)生T/C中斷寄存器76543210-------讀/RRRRRRR000000000TOIE0T/C0溢出中斷使能TOIE0和I都為1時T/C0溢出中斷使能當T/C0溢出或TIFRTOV0位置位時中斷例程$002得到執(zhí)行T/C中斷標志寄存器76543210-------讀/RRRRRRR00000000 TOV0T/C0溢出中斷標志位當T/C0溢出時TOV0置位執(zhí)行相應(yīng)的中斷例程后此位硬件 此外TOV0也可以通過寫1 當SREG中的位ITOIE0和TOV0一同置位時中斷例程得到執(zhí)行外部中斷外部中斷由INT0引腳觸發(fā)觸發(fā)方式可以為上升 下降沿或低電 這些設(shè)置由MCUCRINT0設(shè)置為低電平觸發(fā)時只要電平為低中斷就一直掛起即使INT0配置為輸出中斷也會發(fā)生這種特性可以用來實現(xiàn)軟件中斷用戶不能直接中斷標志位如果懷疑有一個邊沿觸發(fā)中斷被掛起則標志位可以通過如置位 重新使能外部中中斷響應(yīng)時間AVR4個時鐘周期在這4個時鐘期間PC自動入棧在通常情況下2個時鐘周期如果中斷在一個多周期指令執(zhí)行期間發(fā)生則在此多周期指令執(zhí)行完后MCU才會執(zhí)行中斷程序中斷返回亦需4個時鐘在此期間PC將被彈出棧SREGI被置位如果在中斷期間AVRAT90S1200333個返回地址得到保留其他的將丟失MCU控制寄存器76543210----讀/RRRR00000000位 SESLEEPSEMCUMCU進入休眠建議與SLEEP指令相連使用SM此位用于選擇休眠模式SM 時為閑置模式SM為 ISC01ISC00INT0中斷的邊沿或電平表 中斷0檢測控00011011注意改變ISC01/ISC00時首先要INT0清除GIMSK的INT0位否則可能不必要INT0引腳的電平在檢測邊沿之前采樣如果邊沿中斷使能則大于一個MCU時鐘的脈沖將觸發(fā)中斷如果選擇了低電平觸發(fā)則此電平必須保持到當前執(zhí)行的指令結(jié)束休眠模式進入休眠模式的條件是SE為1然后執(zhí)行SLEEP指令使能的中斷將喚醒MCU完成中斷例程后MCUSLEEPI/O內(nèi)存的內(nèi)容不會丟失如果在休眠模式下復(fù)位則MCU從RESET向量$000處開始運行閑置模式SM為0時SLEEPMCU進入閑置模式在此模式下CPU停止運行而定時器/計數(shù)器看門狗和中斷系統(tǒng)繼續(xù)工作內(nèi)外部中斷都可以喚醒MCU如果不需要從模擬比較器中斷喚醒MCU為了減少功耗可以切斷比較器的電源方法是置位ACSRACD掉電模式SM為1時SLEEPMCU進入掉電模式在此模式下外部晶振停振而外部中斷及看門狗在使能的前提下繼續(xù)工作只有外部復(fù)位看門狗復(fù)位和外部電平中斷INT0可以使MCU脫離掉電模式定時器/計數(shù)器 T/C0AT90S12008位的通用定時器/計數(shù)器T/C010位的預(yù)分頻定時器取得預(yù)分頻的時鐘T/C0既可用作使用片內(nèi)時鐘的定時器也可用作對外部觸發(fā)信號記數(shù)的計數(shù)器圖 T/C0的預(yù)分頻4種可選的預(yù)分頻時鐘為 CK/64CK/256和 CK為振蕩器時鐘對于T/C0CK外部時鐘
19T/C0T/C0T/C0CPU對信號的正確采樣要保證外部信號的轉(zhuǎn)換時間至少為一個CPU時鐘周期MCU在內(nèi)部CPU時鐘的上升沿對外部信號進行采樣在低預(yù)分頻條件下T/C0具有高分辨率和高精度的特點而在高預(yù)分頻條件 T/C0非T/C0控制寄存器 6543210 ----讀/ RRRR初始 00000007…3CS02CS01CS00時鐘選擇表 T/C0預(yù)分頻選描000001010011100101110外部引腳 下降111外部引腳 上升當T/C0由外部引腳T0驅(qū)動時即使PD4T0配置為輸出管腳上的信號變化照樣可以使計數(shù)器發(fā)生相應(yīng)的變化這就為用戶提供了一個軟件控制的方法765476543210讀/00000000T/C0是可以進行讀/寫的向上計數(shù)器只要有時鐘輸入 看門狗定時器看門狗定時器由片內(nèi)獨立的振蕩器驅(qū)動在VCC=5V1MHz通過調(diào)整定時器的預(yù)分頻因數(shù)8種可以改變看門狗復(fù)位時間間隔看門狗復(fù)位指令是WDT如果定時時間已經(jīng)到而且沒有執(zhí)行WDTMCUMCU從復(fù)位地址重新圖 看門狗定時看門狗定時器控制寄存器76543210----讀/RRRR000000007…4WDE看門狗使能WDE為1時看門狗使能WDP2…0預(yù)分頻器表 看門狗定時器預(yù)分頻選振蕩周期典型溢出時間典型溢出時間000001010011100101110111注看門狗的振蕩頻率于電壓有關(guān)WDT應(yīng)該在看門狗使能之前執(zhí)行一次如果看門狗在復(fù)位之前使能則看門狗定時器有可能不是從0開始記數(shù)EEP的時間與電壓有關(guān)大概在2.5~4ms之間自定時功能可以讓用戶監(jiān)測何時開始寫下EEPROM應(yīng)當注意如下問題在電源濾波時間常數(shù)比較大的電路中上電/VCC上升/MCU將工作于低于晶振所要求的電源電壓在這種情況下程序指針有可能跑飛并執(zhí)行EEP寫指令為了保證EEP的數(shù)據(jù)完整性建議使用低電壓復(fù)EEPROM執(zhí)行EEPROM讀/寫操作時CPU會停止工作2個周期然后再執(zhí)行后續(xù)指令EEPROM地址寄存器 543210 -讀/ R初始 0XXXXXX7…676543210讀/00000000對于EEPROMEEDR是需要寫到DDAREEDR 6543210 -----讀/ RRRRR 00000007…2當EEP數(shù)據(jù)和地址設(shè)置好之 需置位EEWE以便將數(shù)據(jù)寫入 經(jīng)過寫時VCC=2.7V時為4ms左右VCC=5V時為2.5ms左右之后EEWE硬件 判斷寫時序是否已經(jīng)完成EEWE置位后CPU要停止2個周期當EEP地址設(shè)置好之后需置位EERE以便將數(shù)據(jù)讀入EEDREERE表示EEPROM的數(shù)據(jù)已經(jīng)讀入 EEPROM數(shù)據(jù)的只需要一條指令且無需等待EERE置位后注意當一個EEPROM的中斷例程被另一個EEPROM的中斷例程中斷時EEAR和EEDREEROMI在整個中斷例程中都為0防止EEPROM數(shù)據(jù)毀壞由于電源電壓過低CPUEEPROMEEPROM數(shù)據(jù)的毀壞這種情況在使用獨立的EEPROM器件時也會遇到EEPROMEEPROM寫操作所需要的最低電壓二是CPU本身已經(jīng)無法正常工作當電壓過低時保持/RESET信號為低這可以通過外加復(fù)位電路 Brown-outDetection來完成有些AVR產(chǎn)品本身就內(nèi)含BOD電路看有當VCC過低時使AVR內(nèi)核處于掉電休眠狀態(tài)這可以防止CPU對程序和執(zhí)行代碼有效防止對EEPROM的誤操作模擬比較器模擬比較器比較正輸入端PB0AIN0和負輸入端PB1AIN1的值 如果PB0AIN0的電壓高于PB1AIN1的值比較器的輸出ACO將置位此輸出可用來觸發(fā)模擬比較器中斷上升沿下降沿或電平變換其框圖如圖21所示21模擬比較器控制和狀態(tài)寄存器 543210--讀/RRR00000000位 ACD模擬比較器當ACD為1 時模擬比較器的電源將切斷可以在任何時候?qū)ζ渲梦灰躁P(guān)閉模擬比較器這樣可以減少器件的功耗改變ACD時要注意模擬比較器的中斷否則有可能不必要ACO模擬比較器輸出 模擬比較器中斷標志位ACIACIS1ACIS0決定如果ACII都為1則CPU執(zhí)行比較器中斷例程進入中斷例程后ACI被硬件此外ACI也可以通過對此位寫1來達到的目的要注意的是如果ACSR的另一些位被SBI或CBI指令修改時ACI亦被ACIE模擬比較器中斷使能ACIE為 ACIS1ACIS0模擬比較器中斷模式選擇表 中斷模式00 0110ACO下降沿中斷11ACO上升沿中斷注意改變ACIS1/ACIS0時要注意模擬比較器的中斷否則有可能不必要的中所有的AVRI/O端口都正的讀-修改-寫功能這意味著用SBI或CBI指令改變某些管腳的方向值/使能上拉時不會無意地改變其他管腳的方向值/使能上拉BB8I/OB口有3個I/O地址數(shù)據(jù)寄存器PORTB$18數(shù)據(jù)方向寄存器DDRB$17和輸入引腳PINB$16PORTB和DDRB可讀可寫PINB只可讀所有的管腳都可以單獨選擇上拉電阻引腳緩沖器可以吸收20mA的電流 當管腳被拉低時如果上拉電阻已經(jīng)激活則引腳會輸出電流表 B口第二功管第二功能AIN0模擬比較器正輸入AIN1模擬比較器負輸入MOSI程 MISO程 SCK串行時B口的第二功能時DDRBPORTBB口數(shù)據(jù)寄存器 543210讀/00000000B口數(shù)據(jù)方向寄存器 543210讀/ 初始 0000000765432176543210讀/RRRRRRRRPINB不是一個寄存器這個地址用來B口的物理值PORTB時讀到的是B口鎖存的數(shù)據(jù)而PINB時讀到的是施加于引腳上的邏輯數(shù)值B口用作通用數(shù)字I/O時B8PBn通用I/O引腳DDRB中的DDBn選擇引腳的方向如果DDBn為1則PBn為輸出腳如果DDBn為0則PBn為輸入腳在復(fù)位期間B口為三態(tài)口表 B口的配上注00N三態(tài)高01Y10N011N1n76…0B口的第二功能SCK 當配置為輸入DDB1=0PB1=0時 當配置為輸入DDB0=0PB0=0時B口示意圖圖 B口示意圖PB0和PB1圖 B口示意圖 PB3和PB4圖 B口示意圖PB7DD口有3個I/O地址數(shù)據(jù)寄存器PORTD$12數(shù)據(jù)方向寄存器DDRD$11和輸入引腳PIND$10PORTD和DDRD可讀可寫PIND只可讀D口有7個帶上拉電阻的雙向I/O管腳PD6~PD0 引腳緩沖器可以吸收20mA的電流能夠直接驅(qū)動LED當管腳被拉低時如果上拉電阻已經(jīng)激活則引腳會輸出電流表 D口第二功管第二功能INT0外部中斷0輸T0T/C0的外部輸D口數(shù)據(jù)寄存器76543210-讀/R00000000D口數(shù)據(jù)方D口數(shù)據(jù)方76543210-讀/R00000000D口輸入引腳地址 543210-讀/RRRRRRRR0PIND不是一個寄存器這個地址用來D口的物理值PORTD時讀到的是D口鎖存的數(shù)據(jù)而PIND時讀到的是施加于引腳上的邏輯數(shù)值D口用作通用數(shù)字1PDnI/O引腳DDRDDDDnDDDn為出腳如果DDDn為0則PDn為輸入腳在復(fù)位期間D口為三態(tài)口1表 D口的配
PDn上注00N三態(tài)高01Y10N011N1n6…0D口的第二功能 T/C0 D口示意圖圖 D口示意圖 PD5和PD6圖 D口示意圖程序編程程序和數(shù)據(jù)鎖定位AT90S1200具有兩個鎖定位如表12表 鎖定保護模程序鎖定位保護類型模111201300注1在并行編程模式下熔斷位編程也 要先編程熔斷位然后編程鎖定熔斷位AT90S1200有兩個熔斷位SPIENSPIEN編程 0 串行程序使能缺省值 0RCEN編程為0后MCU以內(nèi)部RC振蕩器為時鐘缺省值為1 以訂購缺省值為0 串 不 熔斷位只能在并 程序 擦除命令不影響熔斷廠所有的Atmel微處理器都有3字節(jié)的廠標用以識別器件此代碼在串行或并行模式下都可 $1E表明是Atmel生產(chǎn)的 $901K字節(jié)的 $01當$01地址為$90 器件為1200注3有效時廠標不能以串行模式讀出其返回值將為$00$01和FLASHAT90S12001KFLASH64EEPROM在出廠時已經(jīng)被擦除為1器件支持+12V高壓并行編程和低壓串行編程+12V只用來使能高壓編程不會有明顯在兩種編程模式下FLASH是以字節(jié)的形式寫入的而對于EEPROM片內(nèi)集成了自擦和自定時除功能在編程時要注意電源電壓要滿足要求13型串行編程并行編程2.7V–4.5V–并行編程圖 并行編信號命名AT90S1200XA1/XA0XTAL1引腳當驅(qū)動/WE或/OE時執(zhí)行加載表 管腳命編程時的信號名稱管 O 器件忙 可以接受新命I輸出使能低電I寫脈沖低電I字節(jié)選擇0低字 1高字II雙向數(shù)據(jù)總線/OE為低時輸出表 XA1和XA0編XTAL1給正脈沖后的操作00加載FLASH或EEPROM的地址BS決定是地址還是低位地址01加載數(shù)據(jù)BS決定 1011表 命令字節(jié)編命令字節(jié)執(zhí)行100001000010000100010000000000000000進入編程模式拉低/RESET和 等待至少給/RESET11.5~12.5VBS在/RESET加上+12V100ns之內(nèi)發(fā)生動作將導(dǎo)致器件無法進入編程模式擦FLASHEEPROMFLASHEEPROM完全擦除之前FLASHEEPROM重新編程之前加載擦 命設(shè)置 XA0為 使能命令加BS為0設(shè)置DATA為1000 擦除命XTAL1一個正脈沖給/WEtWLWH_CERDY/BSY設(shè)置 XA0為 使能命令加BS為0設(shè)置DATA為0001 XTAL1一個正脈沖加載地設(shè)置 XA0為 使能地址加設(shè)置BS為 選擇地址的字設(shè)置DATA=地址的字節(jié)由于只有1K字節(jié)故為$00或$01給XTAL1一個正脈沖加載地址的字設(shè)置 XA0為 使能地址加設(shè)置BS為 選擇地址的低位字設(shè)置DATA=地址的低位字節(jié)$00~$FFXTAL1一個正脈沖設(shè)置 XA0為 使能數(shù)據(jù)加 設(shè)置DATA=數(shù)據(jù)的低位字節(jié)$00~$FF XTAL1一個正脈沖設(shè)置BS為 選擇低位數(shù)給/WR一個負脈沖開始編程數(shù) RDY/BSY變高然后開始編程下一字節(jié)波形見圖31加載數(shù)據(jù)的字設(shè)置 XA0為 使能數(shù)據(jù)加設(shè)置DATA=數(shù)據(jù)的字節(jié)$00~$FFXTAL1一個正脈沖寫數(shù)據(jù)的字設(shè)置BS為 選擇數(shù)給/WR一個負脈沖開始編程數(shù) RDY/BSY變高然后開始編程下一字節(jié)波形見圖32器件在編程時保存加載令和地址為了有效地進行編 請注意以下幾.當寫讀多個內(nèi)存地址 命令只需加載一.僅在編程新的頁256字節(jié)時才需要加載地址字.因為擦除之后所有的FLASH和EEPROM的內(nèi)容都為1故數(shù)據(jù)為$FF時可以跳過編EEPROM的編程FLASHEEPROM3132 A加載命令0000B加載地址的字節(jié)$00~$01 加載地址的低位字節(jié)$00~$FF設(shè)置BS為1此時可以讀FLASH數(shù)據(jù)的字設(shè)置/OE為1 A加載命令0001B加載地址的低位字節(jié)$00~$3F 加載數(shù)據(jù)的低位字節(jié)$00~$FF A加載命令0000B加載地址的低位字節(jié)$00~$3F設(shè)置/OE和BS為0此時可以從DATA總線數(shù)據(jù)的低位字設(shè)置/OE為1編程熔斷位 A加載命令0100 加載數(shù)據(jù)的低位字 Bitn 代表要編 代表要擦Bit5=SPIENBit0 Bit7-6,4-1 1這些位是保留給/WRtWLWH_PFBRDY/BSY編程鎖定位 A加載命令0010 加載數(shù)據(jù)的低位字 Bitn 代表要編Bit2=LockBit2Bit1=LockBit1Bit7-3,0 1這些位是保留 鎖定位只能在擦除上時清讀熔斷位和鎖定位 A加載命令0000設(shè)置/OE為0BS為1此時可以從DATA總線數(shù)Bit7=LockBit1Bit6=LockBit2Bit5=SPIENBit0=RCEN設(shè)置/OE為1讀廠標 A加載命令0000 加載數(shù)據(jù)的低位字節(jié)$00~$02設(shè)置/OE為0BS為0 設(shè)置/OE為1并行編程特性圖 并行編程時表 并行編程特性TA= VCC=5V符參最小值典型值最大值單VAData&ControlSetupbeforeXTAL1XTAL1Lowto/WRXTAL1Lowto/OE/WRPulseWidthLowforChip5B/WRPulseWidthLowforProgrammingFuse注1在擦除時使用tWLWH_CE而在編程鎖定位是使用2tWLWHtWLRH長則看不見RDY/BSY串行當/RESET拉到地時FLASH和EEPROM可以利用SPI總線進行串 串行接口包SCKMOSI和 /RESET拉低后在進行編程/擦除之前首先要執(zhí)行編程使能指圖 串行編程和校EEPROM將使FLASH和EEPROM的內(nèi)容全部變?yōu)?FFFLASH和EEPROM的地址是分離的FLASH的范圍是 EEPROM的范圍XTAL1XTAL1XTAL2SCK脈沖的最小高低電低>1XTAL1時鐘高4XTAL1串行編程算法進行串行編程時數(shù)據(jù)在SCKAT90S1200SCK的下降沿輸出至少等待 然后在MOSIPB5串行輸入編程使能指如果此時執(zhí)行了擦除指 則須等待 然后在/RESET上施加正脈沖回到第二FLASHEEPROMtWD_PROG的時間對于擦除過的器件數(shù)據(jù)$FF就用不著再寫了任意一個內(nèi)存地址都可以用讀指令在MISOPB6讀編程結(jié)束后可以把/RESET拉高進入正常工作模式下電過程如果需要的話將XTAL1拉低如果沒有用外部晶振或者用的是內(nèi)部RC振蕩器把/RESET拉高EEPROM數(shù)據(jù)檢測EEPROMP1自擦除過程結(jié)束后器件則返回P2P1和P2的定義見表18當寫過程結(jié)束后的數(shù)據(jù)則為寫入的數(shù)據(jù)用這種方法可以確定何時可以寫入新數(shù)據(jù)但是對于特定的數(shù)據(jù)P1P2就不可以用這種方法了此時應(yīng)當在編程新數(shù)據(jù)之前至少等待tWD_PROG的時間如果在編程EEPROM之前已經(jīng)進行 擦除則數(shù)據(jù)$FF就可以不用再編程表 EEPROM數(shù)據(jù)檢測返回型FLASH數(shù)據(jù)檢測寫FLASH時如果內(nèi)部寫過程沒有結(jié)束則正在寫的地址時會得到返回值$FF否則讀$FFtWD_PROG的時間如果在編程FLASH之前已經(jīng)進行過擦除則數(shù)據(jù)$FF就可以不用再編程了35表 AT90S1200的串行編程指指指令格式操10100101xxxxxxxx1010100xxxxxxxxx00100000oooo從字地址a:b高或低字節(jié)o01000000iiii寫H高或低字10100000oooo11000000iiii1010xxxxxxxx0011xxxxxxxxoooo注意a=b=H0低地址1o=輸出數(shù)據(jù)i=輸入數(shù)據(jù)x=任意1=Lock2=Lock注意3串行編程電特性36表20串行編程電特性TA=- 到 VCC=2.7V–符參最小值典型值最大值單1/振蕩頻 VCC=2.7V–04振蕩周 VCC=2.7V–1/振蕩頻 VCC=4.0V–0振蕩周 VCC=4.0V–4MOSISetuptoSCK1.252.521符22符直流特性TA=- 到 VCC=2.7V–符參條最小值典型值最大值單0.3VCCV0.1V0.6VCCV0.7VCCV0.85VCCV3BDIOL=20mAVCC=IOL V4BDIOH=20mAVCC=5VIOH=10mAVCC=V流I/O腳VCC=6VpinA VCC=6Vpin流I/OkI/Ok工作狀態(tài)VCC3V閑置狀態(tài)VCC3VWDT使能VCC9A A輸入流注 最大值代表保證可以0時的最高電最小值代表保證可以1時的最低電D0–D5和ZTAL2的IOL之和過100mAB0–B7和D6的IOL之和過100mAD0–D5和ZTAL2的IOH之和過100mAB0–B7和D6的IOH之和過100mA外部時鐘驅(qū)動波形圖 外部時外部時鐘符參單最小值最大值最小值最大值1/040ss典型特性100%的測試功耗測量的條件為所有I/O引腳配置為輸入有上拉正弦波發(fā)生器作為時鐘器件功耗受以下因素影響工作電壓工作頻率I/O口的加載I/O口變換頻率執(zhí)行的代碼以及工作溫度主要因素是工作電壓和頻率容性負載的功耗可由CL*VCC*f進行計算式中CL為負載電容VCC=工作電壓器件曲線標度高于測試的極限使用時一定要按照訂購器件的指標來使用工作于掉電模式時看門狗使能及兩條曲線之差即表示了看門狗的功耗圖 工作電流與頻率的關(guān)圖 工作電流與電壓的關(guān)圖 工作電流與電壓的關(guān) 內(nèi)部振蕩圖 工作電流與頻率的關(guān) 閑置模圖 工作電流與電壓的關(guān) 閑置模圖 工作電流與電壓的關(guān)系閑置模 內(nèi)部振蕩圖 工作電流與電壓的關(guān)系掉電模 看門狗圖 工作電流與電壓的關(guān)系掉電模 看門狗使圖 片內(nèi)RC振蕩器頻率與電壓的關(guān)圖 模擬比較器電流與電壓的關(guān)圖 模擬比較器偏置電壓與共模電壓的關(guān) 圖 模擬比較器偏置電壓與共模電壓的關(guān)50圖 上拉電阻電流與輸入電壓的關(guān)圖 上拉電阻電流與輸入電壓的關(guān)圖 I/O引腳吸入電流與輸出電壓的關(guān)圖 I/O引腳輸出電流與輸出電壓的關(guān)圖 I/O引腳吸入電流與輸出電壓的關(guān)圖 I/O引
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新解讀《CB-T 521-1999莫氏燈電鍵》新解讀
- 照明工程接地裝置安裝方案
- 2025年中式烹調(diào)師(藥膳制作師)職業(yè)技能等級考核試題
- 2025年春耕生產(chǎn)物資公路貨運數(shù)字化報告
- 不同熱處理方式對AlSi10Mg 3D打印件的力學(xué)性能影響研究
- 培訓(xùn)機構(gòu)特色管理制度
- 國際工程造價管理制度
- 商業(yè)公司信用管理制度
- 介紹學(xué)校英語活動方案
- 中考地理復(fù)習(xí)教案第2課時 地球儀
- MOOC 電工電子學(xué)-浙江大學(xué) 中國大學(xué)慕課答案
- 醫(yī)院總值班培訓(xùn)課件
- 非肌層浸潤性膀胱癌診治中的幾個問題
- 軸類零件加工工藝涂裝與噴涂技術(shù)要點
- 民法典第七編醫(yī)療損害責(zé)任
- 陪玩內(nèi)部管理制度
- 直播話術(shù)完整版范本
- NB-T 11076-2023 高壓交流故障電流限制器通用技術(shù)規(guī)范
- 政府專職消防員(文職雇員)應(yīng)聘登記表
- 23秋國家開放大學(xué)《小學(xué)語文教學(xué)研究》形考任務(wù)1-5參考答案
- 攪拌站調(diào)度日常巡查記錄表范本
評論
0/150
提交評論