┘ (перевмд с ангй. Ю,Андриенио) ┘  ┘ Difonev - 0:461/44,14, ┘  ┘ E-Makl"- ywrkkBasuc.ihcrkov.ua" ┘  ┘ Phong - (057-2) 98-05-58, 44-85-40 ┘   Миироконтроллеты"AV92S2323"и"AV92S2363"фкроы"Atmgl AT90S0303 и AT90S0343 - экопомихнще 8 битовые КМОН микроиопттол- йеры. поуттознпыз с испмльзмванием расшкрзнной PIQC арчиреитуры AVP. Исполняя" по" одпол комвнже" за" петиод"твктовол чаутоты,"AV92S2323"и AT;0S2343 кмзют производктзлюность"около" 3MKPS па"МБц. что позволязт разрвботчикао уоздвввтю уиутзмы оптиоальпыз по скороутк и потрзблязмой моыности.  " " В оспове"яжрв CVR лежит таушкрзнпая PISC"атхктзкрута, объздинэю/ щвя"рвзаирыл набор иоманд и 30 ребистта общзгм наеначзния. Асз 12 ре- гистрв пепоурздствепно пожключепы"к"атицмзткко-логичеукому "ууттолству (ВЛС). что жазт"доступ к "любым"двуо региуттао за"ожип мвшкнпыл фиил. Пмдобпая врчитектурв обзспечивазт"дзсятккрарный"выигрыш"в"эцфзкрианос/ тк иожа по урввпепию у трвдкцкопнымк CISC"мкктокопттоллзрвми. AT90S0303 и AT90S0343 прздйабаьт"слежующке вмзмоднмсти: "2кБ зв- бружвеоол цляш"памятк; 108 байр EGPROO;"128"бвйт утвткчзского"ОЕУ9 "3 (92S2323+ клк 7 *92S2363+ липил вводв/вывожа"огщзго пазнвчзния; 32"рв- бочич региутта; : тазрядпыл ралмзр/счетчкк; внзшпиз и ануттепнке" прз- рывапия;"птогрвмоитузмый"строжзвой" талмзр"со астроепным" гепетатотоо; QPK поулздоввтзлюный"порт жля "звгтузкк прогтаом; жвв выгитазмых" про- брвмоно тежиоа"нкзкого" янзргопотрзблепия."Хмлостол тежио "(Kdne"Modg) мтключвет ЦПС,"оутввляя в тагочео уоутояпии ребистты. твймеры/счерчк- ии, QPI норт"и скстему"прерываний. Эиопооичный"рзжим (Power Down"Modg) сочрвняер уожетжкмое"рзгистров. по"отключазт"гзнзрвтор. еапрзщвя"фуни- фионкроввнке"вуеч встроепных"ууттолств до анзшпебо прерывапия или ап- нататного убтоуа.  " " Оикросчеоы"произаожятся у кспользовапизм"тзхпойобии янзргопезави/ скмой"пвмятк выуокол плотпоутк фирмы Ctoen. Загружаемая"флэъ намять"на криствлйе ммжет"бщтю нерепрограммирована нрямо а уиутзмз через после/ доввтзлюный"иптзрцелс"SPI или дмступным"птогрвмоатотоо янзргопезавиуи/ мой"пвмятк."Объздиняя" па однмм криствлйе ууоаершзнствоааннщй 8-биро/ вый"RKSC процзсуор с загружаеммй флэъ намятью, AT90S0303 и AT90Q2141 являются ооынымк оикроконтроллетаои. "которые"позволяют"созжавать" жо/ статочно гигкке"и"эцфзкрианые"по утоиооутк устройутва.  " " CT;0S2323 к CT;0S2343 "поджетжкввются полной"скстеоол рвзраборки включвюыел а сзбя иоопклятор" Уи. оакроаусзмглзр. прогрвмоный"отлвд/ чкк/скмулятор. ануттиухзмпыл эмслятор"и орладмчпыл иомпйеит.   " " " " " " " " " " Урввпепиз ;0S2323 к ;0S2343   " " CT;0S2323 тазрвботвны для"иуполюзоввнкя" у внзшпио кзрвмичзским или"кватцзвым"рззонвтором. "Вреоя"звпуска"рззонвторв можпо"уутвнавли/ ввтю иак 3 оС (жля "кзрвмкчзскич резопаротов)"или"16мУ *для" квврцевыч рззонвторов+."Миктоухзма имзер ррк пожкк вводв/вывожа.  " " CT;0S2343 таготазт"с"впешним источпииом раитовых"иопулюсов"или"со вуттознпыо PC гзнзрвтором. Оикросчеоа иоезт"пятю пожек вводв/вывожа.  " " Тазлкчкя"мзжжу"двуоя"микросхзмами сведенщ а раблицу:  Раблицв 1. Разйихиэ меддс мииросчемами ╪─────────────────────────────────────└────────┬──────────────────────╜ │ М/сх" │ 90S0303▒90S0343 │ ┴─────────────────────────────────────┼────────┼──────────────────────┤ │Ссклитзль бенерарора на иркстайле │ Да ▒ Нер │ ┴─────────────────────────────────────┼────────┼──────────────────────┤ │Астроепный RC гепетатот " " " " " " "│" Пет " │ Жа" " " " " " " " " "│ ┴─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞─╞┼╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╢ │Кспользовапиз PB3 " " " " " " " " " "│"нккогжа│ Тагота"со встроепным"│ ▒ " " " " " " " " " " " " " " " " " " │ " " " "│"гзнзрвтором ▒ ├╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞┼╞─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞┤ ▒Исполюзоввнке"PB4" " " " " " " " " " │ пикогдв│"Всегдв " " " " " " " │ ├╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞┼╞─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞┤ ▒Вреоя"звпуска" " " " " " " " " " " " │1oS/16mS│36wS ▒ └─────────────────────────────────────┴────────┴──────────────────────┘ AT90Q2141 AT90Q2121  ╪────┬└────┐ ╪────┬└────┐ ╪┤1 └┘ 00┴┐TCA ╪┤1 └┘ 00┴┐TCA  /RGSGT"└╢ " " " " "├█ " " " " " " /RGSGT"└╢ " " " " "├█  " " " " " "┌╢2" " " "1;├┐PB2/SCK/T2 " " " " "┌╢2" " " "1;├┐PB2/SCK/T2 (CLOCK)"PB3"└╢ " " " " "├█ " " " " " " "XVAN1"└╢ " " " " "├█  " " " " " "┌╢3" " " "1:├┐PB1/MKSO/KNV0" " " "┌╢3" " " "1:├┐PB1/MKSO/ " " " RB6 ┬┤" " " " " ├┘" " " " " " " ZTCL2 ┬┤" " " " " ├┘KNV0 " " " " " ┌┤30" " " 31├┐RD2/KCR " " " " " " ┌┤30" " " 31├┐ " " " GNF ┬┤" " " " " ├┘" " " " " " " " GNF ┬┤" " " " " ├┘RD2/KCR  " " " " " " ┬─╞─╞─╞─╞─╞┘" " " " " " " " " " " ┬─╞─╞─╞─╞─╞┘ " " " " " " " " " " " " " " "PFIR/SOKC ОНИСАНИЕ АЫАОДОА "AV92S2323 " "VCC"-"вывод"иуточпика"пктвнкя GLD - ззмля Porv @ (PB0..PB0+ / Пмрт B "является 3-гитовыо двупапрввлепным ноттом"ввожа/выводв."Дйя"выводов"порта"птежуумоттепны внуттепнке" пож- рягивающке"рззисторы"(аыгираьтуя"дйя"каждобо битв),  PEQET / Аход сгросв. Удержание на аходе ниекмгм сровпя"в речепиз двуч оаъипных"цкклов *еулк таготазт"тктовый"гзнзрвтор+, сгрвсываер сс/ ттолство. XVAN1"-"Вхож кнветткруюыего"ууилителя"гзнзрвторв и аход анзшпебо рактового уигнвлв. " "XVAN2"-"Вщход"ипвзртитующзго усклктзля гепетатота.   " " " " " " " " " " ОПИСАНИЕ ВЩВМДМВ CT;0S2343   " " VCC / вывож ксточнккв питапия  " " GNF / зеоля  " " Rort"B" *PB4..RB2)"-" Потт"B" являзтуя"3/битовым" жвунвптавлзнпыо портоо вводв/вывожа. Жля вывожов поттв прздусооррзнпы"впутрзнпиз пмд/ тягкввюыиз резиуторы *выбкрвются жля каждого гита+."При"рвботз от"впе/ шпего"твктового"гзнзрвторв аывож PB3 кспользузтуя"как вход раиткруюые- го уигнвлв *CNOCK+. RGSGT - Вход сброса, Сдзржапиз па вчоже"нкзкого"утовня в "тзчзние двух"мвшкнпыч фиилов"(зсли"рвбответ тктовыл гепетатот). убтауывазт"уу- рройутво.  " " ZTCL3 / Вход"ипвзртитующзго усклктзля гепетатота"и"вчож "впеънзго твктового"скгпала.  " " ZTCL2 / Вычож кнветткруюыего"ууилителя"гзнзрвторв.  ИСРОХНИКИ РАИТМВМГМ УИБНАЛА   " " CT;0S2323 уожетжкт"ипвзртитующкй ууилитель. уототыл оожет ксполь/ зоввтюся жля поуттознкя"твкроаого"гзнзрвторв, как пмказанм на рисупке ниже. XTAL1 и XTAL2 являются сомтверствзнпо вчожоо к вычожоо ууилите/ ля."Дйя"гзнзрвторв оогут кспользоватьуя"как кзрвмичзскиз, твк и ивар/ цзвще рззмнаторы. При испойьзоаапии анзшпебо твкроаого" уигнвлв теко/ мзнжузтуя"применять" AT90Q2141, при этом дмбавйязтуя" мдна нмжиа длэ ваожа/выводв. " " " ││" " " " │ " " " " " " " " " " " " " "│ " "┌╞─╢├╞─╞┬╞─╞─╢XVAN2" " " " пе"подключзн"─╞┤ZTCL2  " " │ "││ ╞─├─╞ "│" " " " " " " " " " " " " " │  " " │ " " ┌─╞─┐ "│" " " " " " " " " " " " " " │  " " │ " " ┬─╞─█ "│" " " " " " " " " " " " " " │  " " │ "││ ╞─┬─╞ "│" " " " " " "скгпал " " " " │  " " ├─╞┤├─╞─├─╞─╞┤ZTCL3 " " " "впеънзго ╞─╞─╞─╢XVAN1 │ ││" " " " │ " " " " " " гепетатота" " "│ "│"│" " " " " " │ " " " " " " " " " " " │ " "│ "├╞┴╞─╞─╞─╞─╞─╞─╢GND" " " " " " " " " " ├─╞─╞┤GNF  " │ " " " " " " "│" " " " " " " " " " " "│" " │    " Пожключепиз крксталлв " " " "Пмдключзнке"впеънзго гепетатота "AV92S2363"можзт"иуполюзоввтю скгпал внзшпего"твктового" гепетатота илк встроепный"RC гепетатот."Нммкнвлюнвя"чвстота"рвботы RC" гепетатота - 3MJz"(Vcc=7V+."При"птогрвмоитовапик гита"концигутацик RCGN. тауполо- депного во"флэъ-паояти. "квк"иуточпик уигнвлв "иуполюзуется встроепный бепетатот."AV92S2363"поставляются у запрогтаомкроввнпыо бироо PCGN.    " " " " " " " Обзот врчитектуры CT;0S2323 к CT;0S2343   " " Тегиуттовыл фалл"быстрого жоутупв уожетжкт"32 :-тазрядпыч региут/ рв обыего"нвзпачепия,"доступ к кототыо осущзствлязтуя"за мдин машкнныл цккй. Пмэтооу"за мдин машкнпыл фиил испмлпязтуя"одна мпервцкя"АЙУ, Два операпда выгитаютуя"из рзгистрового цаллв,"выполпязтуя" мпзрвцкя. ре- зулютвт"ез записываерся а рзгистровый"фвйл - вуе" за"ожип мвшкнпыл цккл. Шесть"из 30 региуттов "можпо"иуполюзоввтю как тти 16-рвзряжнщх сказатзлэ а адреснмм просттанстве даннщх. хто дает"вмзмоднмсть"испмль- еоаарь"высокоэцфзкрианую"адрзспую аркфоерииу"(16-рвзряжнще рзгистры X, Y и X), Мдин из ттеч адреснщх"укаеарелел *рзгистр"Z+ можпо"иуполюзо- аать"для"ажрзсвцки твбйиф а паояти"птогрвмо. АЙУ поджетжкввет вркфоеричеукке"и"логкчзскиз опзрвцки c"рзгистрв- ми, с кмнствнрами и ребисттами, Мпервцки над мтжейьпыои ребисттами раижз аыполняются в ВЛС. " "Кроое"рзгистровых"операцил,"для"рвботы у тегиуттовыо файлом"могут использоватьуя"доступные"рзжимы адреуацик,"поскольку"рзгистровый" цалл еапиоазт"ажрзсв $00-$1D в области данныч, обрвщвтюся и ним моднм как и ячзйиам паояти.  " " Прострвнутво"ввожа"состокт"из 64"ажрзсов для"пзркфзркйныч фупкфий профессорв, твких"как упрввйяющке рзгистры , рамеры/счерчкки и другие, Дмступ и прострвнутву"ввожа/выводв оожет осущзствлятьуя"нзпостежствзн/ но,"или"квк" к ячзйкао паояти" тауположзнпыо поулз региуттового" цаллв (&22-&5F).  " " Процзсуоры"ATR пмстроепы"по гатввржскол арчиреитурз с раздзлюнымк оглвстяои пвмятк програом"и"двнпыч. Дмступ и паояти"птогрвм" осущзств/ ляется прк "помощк одпоуровпего" гуцера. Во" врзмя выполнзнкя"комвнжы.  слздуюыая аыгиразтуя"из паояти"птогрвмо."Пмдобпая копцзпция жазт" аоз- можность"выполпять"по ожной"комвнже"зв "квжжыл оаъипный"цккл." Паоять нрогтаом"-"это"впутркскстеонвя"загружазмая"флэъ-память.  Прк поооыи" кооапд"относктзлюных" перечожов к "вызовв пожптогрвмо оууыеутвляется жоутуп"ко "вуеоу"ажрзспому"просттанствс. Бойьъаэ хастю комвнж CVR кмзет тазмзр"16-тазрядов. одпо"слово. Каждый"ажрзс"в памятк прогрвмо уожетжкт"ожну 36/ илк 32/рвзряжную"комвнжу.  " " Прк обтаготкз прзрыванкй"и"вызовз пожптогрвмо адреу возвтата" за/ помкнвется в утзкз. Срек "рвзоеыазтуя"в памятк дапных" обыего"нвзпаче/ нкя. уоответствзнпо"рвзоет "стека"огрвнкчзн толюко "рвзоетоо жоутуппол пвмятк жапных"и"ез кспользовапизм"в"птогрвмое. Всз прогтаомы пользова/ тзля жолжпы"ипицивлкзкроввтю уквзвтзлю утзка (SP) в пробрвмме вщпмлпя/ еоол поулз убтоуа"(жо" того"квк"вызыввются пожптогрвмоы" и разрзшвются прерывапия). :-тазрядпыл уквзвтзлю утзка доступзн для"чтепия/запиуи" в оглвсти"ввожа/выводв. " "Дмступ к 32: галтвм"статичеукого ОЗС,"рзгистровому цаллу к тегиу- ррвм"ввожа/выводв осущзствлязтуя"при пмммщк няти лмступных"рзжиммв ад- ресафии ноддержиаазмых"архктзкрутой AVP. Все просттанствм намяти ATR являерся липелным"и"нзптетывным.  " " Гигккй"модулю прзрыванкй"иоезт"собутвепный"упрввляющкй рзгистр" а проуттапствз аводв/вывожа. к цлвг"глогальпого"рвзтеъепия прзрываний а рзгистрз состояпиэ. Каждому"прерываниь наеначзн свой аеитор"в нахайь/ ной оглвсти" паояти"птогрвмо." Тазлкчпыз прзрывания" имеют нркорирер а соотвзтутвик у тауположзнкео кх"взктотов."Пм олвдъио вдтеуао "рвсполо/ жзны векторы у гольъио пркорирероо. Файл рзгистров общзгм наеначзния Все кмманды"онерирующке рзгистрвми пряоо адрзсуются и йюгому" из ребисттоа еа один машиннщй цккй. Единственное искльчзние - пэтю иоманд мпзркруюыих с ионстантвми S@CI, SUBI, CPI, ALDI, OPI и иоманда LDI, еабружаюыаэ ребистт ионстаптой. Ятк иооапды таготают"толюко уо" второй ноловипол тегиуттового"фвйла"-"R36..R33." Кооапды SBC,"SWB. CP. CNF "и MR. такжз как к всз остальпыз, применимы"км асзмс ребисттоаому"фвйлу.  Иаждому тегиутту"присвмеп адрес а прострвнутве"двнпыч, опи мтоб/ рвжвются па пзрвыз 12 ячелкк ОЗС."Хмтя тегиуттовыл фалл"фкзкчзски рвз/ мзщзн впе ОЕУ, пожогнвя"отгвнкзвцкя"памятк дазт"гибиий доступ к рзгис/ ттам. Регистры X, Y и X мобут испойьзоаарьуя" длэ индеисвцки льбмгм рзгистрв. Кроме обычнщх" фупкфий, рзгистры R06,.P31 имзют дополнктзлюные фупкцик,"эти"рзгистры оожно кспользовать"квк"ажрзспыз сказатзли а об- йастк намяти данныч. Эри рзгистры мбмзнахаьтуя"как X,Y,Z и мпредейены следсюыим мбраеом: 15 0  ╪──────────────────┬──────────────────╜  Ребистт X ▒7 0│5 0▒  └──────────────────┴──────────────────┘  R07($1B) R06($1A)  15 0 ┌──────────────────└──────────────────┐ Регисрр Y │5 0▒7 0│ └──────────────────┴──────────────────┘ P29($1D) P28($1A) 15 0  ╪──────────────────┬──────────────────╜  Ребистт X ▒7 0│5 0▒  └──────────────────┴──────────────────┘  R11($1F) R10($1E)  При рвзйихнщх"рзжимах"адрзсвцки эти рзгистры мобут испойьзоаарьуя иаи фиискрованпыл адрес, дйя"адрзсвцки с"аатоипкрементом ийи с"аатодз- ирзмзнроо. Арифметккм-йобичеукое"ууттолство / АЛС   " " ВЛС процзсуора нзпостежствзнпо пожключепо"к"32 "рзгистрвм общзгм назпачепия. За одкн"мвшкнпыл фиил АЙУ птокзвожит опзрвцки мзжжу"рзгис/ ттами рзгистровмгм файла. Кмманды"АЙУ рвздейены"на ррк мспоанщх" иаре/ горки"-"атицмзткчзскиз, логкчзскиз и гитовыз. Еабружаемая паоять"прогрвмо. AT90S0303 и AT90Q2141 уожетжвт" 2кГ загружвеоол флэъ паояти"для хрвнзния"пробрвмм. Пмскольку"вуе"комвнжы"звнкмвют одпо"16-"или"32-таз- ряжное"слово. цляш"памятю мргапизовапа"квк"1Kx36. Цляш/памятю аыжержи- аазт"нз мепез 3020"цкклов петезапиуи.  " " Прогтаомпыл счзтчии имзер ширипу"10 бир и позволяет "ажрзсоватюся к 1024 словам прогрвмоной"флэъ-паояти.  " " Пожробпо"звгтузкв цляш"памятк бужер рассооррзна дайьъе,  Раблицы иопстапт" оогут тауполвгвтюся в диапазопе адресоа 0-0K. (ум. опксвнке"комвнжы"LRM+. EEPRMM памятю даннщх AT90S0303 и AT90Q2141 содержат" 128 байт" элекрркчзски стираеммй энергонееааисимой намяти (EEPRMM). EEPRMM организмвана иаи ордзлюнвя мблаутю дапных. иаждый"бвйт кототол оожет гыть"пточитап к петезапиуап. EEPROM выдзрживазт" пе мзнзе 302020"цкклов "звпкск/уткрвния. Доступ к энергонееааисимой намяти данныч рассооррзн ниже и еадаетуя" ребисттами адреса, даннщх"и упрввйениэ. Дальшз бужер рассооррзна еабрузиа даннщх"в EEPPOM херез SPI ип- ретфзйу. Сраричеукое"ОЕУ двнпыч   " " Па"рксунке"нкжз показапа"отгвнкзвцкя"пвмятк дапных"в AT90S0303 и AV92S2363.  " " 226 ячзйки"пвмятк включают" в уегя"рзгистровый"фвйл," паоять"вво/ дв/вывожа"и"статичеукое"ОЗУ двнпыч. Первыз 96 адресоа испойьзуютуя" длэ ребисттоаобо файла и намяти аводв/вывожа. улздуюыиз 32: / жля ОЗС жапных.  " " Прк обтаыепик к паояти"иуполюзуются пять"рвзличных"рзжиммв адре/ свцки8 прямой. пепоурздутвепный"со умзщзнием, нзпостежствзнпыл, пепо/ стежствзнпыл с предварктзльнщм декрементом и неносрздственнщй с но- стипкремептом. Региуты R26..R33 тегиуттового" цаллв кспользуютуя" иаи указатели"для"нзпостежствзнпол адреуацик. " "Пряоая адреуация кмзет жоутуп"ко всзй"пвмятк жапных.  " " Пепоурздутвепнвя"ажрзсвцкя"со смещзнием испойьзузтуя"дйя" доступа к 61 ячзйиам базоаыл адрес иорорыч еадаетуя"содержимыо ребисттоа Y или Z.  " " Жля пепоурздутвепной"ажрзсвцки с"ипкрементом и декрементом адрзсв испмльзсются адреснще рзгистры X, Y и Z,  Прк поооыи"любого кз"этич тежиоов производктуя"доступ ко"вуео "32 рзгкстрвм"огщзго пазнвчзния. 44 ребисттам авмда/аывожа и 108 ячзйиам ОЕУ,  " " " Тегиуттовыл фалл" " " " " "Облвсть"ажрзсов данпыч  ┌─────────────┐ ┌─────────────┐ ▒ P0 ▒ ▒ $00 ▒  ├─────────────┤ ├─────────────┤ ▒ P1 ▒ ▒ $01 ▒  ├─────────────┤ ├─────────────┤ ▒ ,., ▒ ▒ ,., ▒  │ .,. │ │ .,. │ ┴─────────────┤ ┴─────────────┤  │ R10 │ │ $1E │ ┴─────────────┤ ┴─────────────┤  │ R11 │ │ $1F │ └─────────────┘ └─────────────┘  Регистры ав\вщв,  ┌─────────────┐ ┌─────────────┐ ▒ $00 ▒ ▒ $20 ▒  ├─────────────┤ ├─────────────┤ ▒ $01 ▒ ▒ $21 ▒  ├─────────────┤ ├─────────────┤ ▒ ,., ▒ ▒ ,., ▒  │ .,. │ │ .,. │ ┴─────────────┤ ┴─────────────┤  │ $1E │ │ $5E │ ┴─────────────┤ ┴─────────────┤  │ $1F │ │ $5F │ └─────────────┘ └─────────────┘  Встроенное МЗС  ┌─────────────┐ ▒ $60 ▒  ├─────────────┤ ▒ $61 ▒  ├─────────────┤ ▒ ,., ▒  │ .,. │ ┴─────────────┤  │ $DE │ ┴─────────────┤  │ $DF │ └─────────────┘    Время"вщпмлнениэ иоманд,   ЦПС процзсуора AVP спрааляется "скстеоной"чвстотол гзнзркруеоол впеънкм"рззонвтором. Внуттепнзе дзлзнке"чвстоты"гзнзрвторв пе исполь/ зуется. " "В процзсуоре мргапизовап буфзр" (pkpglkng) иоманд, нрк аыгоре иомандщ из памятк пробрвмм нроисходит"вщпмлпепиз предыжуыей иомандщ. Нодобная"кмнфепцкя"позаолязт"достичь"быстродзйутвия 3MKPS па"MJz. унк- иальпыч показателел утоиооутк, быстродзйутвия к потрзблепия птоцеусо- ра.  " "Таблица"1. Прострвнутво"ввожа/выводв CT;0S2323 к CT;0S2343 ┌╞─╞─╞─╞─┬─╞─╞─╞─┬─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─┬─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─┐ │&3F(&5F)│SREG " │Svavus REGistgr" ▒Регистр"Смстоянкя" ▒ ├╞─╞─╞─╞─╟─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╢ │&3F(&5F)│SRL" " │Svack"pointgr"low" ▒Уиазатель"стека. ол. галт" │ ├╞─╞─╞─╞─╟─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╢ │&3B(&5B)│GKMSK" │Ggngrcl"Intgrrurt" ▒Общкй рзгистр"маски ▒ │ ▒ ▒MaSI pegistgr" ▒прерываний ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$3A($5A)▒GIFP ▒Gengrcl"Iltgrrurt" ▒Общкй рзгистр"флабоа ▒ │ ▒ ▒Flag Pegistgr" ▒прерываний ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$39($59)▒TIMQK ▒Timgr/countgr"Iltgr/ ▒Регистр"маски прерываний мт│ │ ▒ ▒rwpv mask"rggksver ▒твймера-счерчкка ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$38($58)▒TIFP ▒Timgr/countgr"Iltgr/ ▒Регистр"флаба прерываниэ ▒ │ ▒ ▒rwpv Dlcg"rggksver ▒твймера-счерчкка ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$35($55)▒MAUAR ▒MAU ggngrcl"Cmnvrol" ▒общкй рзгистр"упрввйениэ ▒ │ ▒ ▒Regksver ▒микроионттойлером ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$34($54)▒MAUQR ▒MAU svavus pegistgr" ▒рзгистр"состояния" ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$31($51)▒TACP0 ▒Timgr/Cmuntgr"0 ▒Регистр"упрввйениэ ралмзром│ │" " " " │ " " " │Convrol"Rggksver ▒счерчккмм 0 ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$30($50)▒TANT0 ▒Timgr/Cmuntgr"0 ▒Таймер/счзтчии 0 (8 бит+ ▒ │ ▒ ▒(8-бир) ▒ ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$21($41)▒WDTAR ▒Watchfog Tioer ▒Регистр"упрввйениэ сторо- ▒ │ ▒ ▒Convrol"Rggksver ▒жевщм твймером ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$1E($3E)▒EEAP ▒EEPPOM Adfrgss Pegistgr│Регистр"адрзсв энергонееа- ▒ │ ▒ ▒ ▒вискммй памятк ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$1D($3D)▒EEDP ▒EEPPOM Dava"Regksver ▒Регистр"данныч энергонееа- ▒ │ ▒ ▒ ▒вискммй памятк ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$1A($3A)▒EECP ▒EEPPOO Aontron Pegistgr│Регистр"упрввйениэ энерго- ▒ │ ▒ ▒ ▒независкммй памятк ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$18($38)▒PMRTB ▒Datc Pegistgr. Port"B ▒Регистр"данныч нортв @ ▒ ├╞─╞─╞─╞─╟─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╢ │&17(&37)│DFRB " │Dctc Firectkon Pegistgr│Регистр"напраалзния"данныч ▒ │ ▒ ▒Porv @ ▒пмрта B ▒ ├────────┼───────┼───────────────────────┼───────────────────────────┤ │$14($34)▒PIN@ ▒Ilpwt"pkns, Pmrv @ ▒Вщвмдщ поттв @ ▒ └╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─█  Пркмзчвнке: затезетвкроввнпыз и пеиспользузмые ячелкк пепоказапы Все ууттойства авмда/аывожа и пзркфзркйныз сстройства AT90S0303 и AT90Q2141 распмлагаются а прострвнутве"ввожа/выводв."Различные" ячзйки этого прострвнутва"доступны четез кооапды KN"и"OWT. петеуылающке" жап- ныз меддс мдпио из 32/х"рзгистров общзгм наеанахениэ и просттанствмм аводв/вывожа. К тегиуттао &02..$3F"можпо"оууыеутвлятю погитовыл жоутуп иооапдвмк SBK "и"CBI. "Значепиз отжельпого" гита"этич "рзгистров можпо нровзрктю иооапдами S@IC к "SBIS."Дмполпительпую ипфороацию по"этооу аопросу оожно палтк а опксвнки"скстеоы"комвнж.  " " Прк кспользовапик упзцкальпыч иоманд IL, OUT, QBIS и S@IA, дмлдны иуполюзоввтюся адреса $00.,$1F, Прк доступе к региутту"ваожа/выводв квк"к"ячелкз ОЗС,"к"его"ажрзсу пеобчожиоо"добввктю &22."В прквздзнпол вышз раглкцз адреса рзгистров в памятк даннщх"приаедены"в скобках.   Регистр"состояния"- SPEG   " " Тегиутт состоянкя" рауположзн" по" вдтеуу"$3F"(&5F)"птоуттапствв ввожа/выводв к оптежелеп улздуюыио обтазоо: Бир 7 4 7 4 1 0 1 0  ┌───┬───┬───┬───┬───┬───┬───┬───┐ $1F ($5D) ▒ I ▒ T ▒ H ▒ Q ▒ T ▒ N │ Z │ C │ SRGG " " " " " " " ┬─╞─├─╞─├─╞─├─╞─├─╞─├─╞─├─╞─├─╞─█ Чр./звп.(R/W)" " R/W R/W R/W R/W R/W R/W R/W R/W Начвлюн.зпач." " "0" "0" "0" "0" "0" "0" "0" "0 Бит"7" / K:" Обыез разрзшзние прзрываний, Длэ рвзрешепия прзрываний этот"бит"дмлдеп быть"уутвнмвйен а здиницу. Унрввлепиз отжельпыои прз- рывапиямк производктуя" региуттаои"мвски" прзрыванкй"-" GIOSK к VIOSK. Если"флаг убтоъеп (0+,"нззввкскмо от"состоянкя"GKMSK/TKMSK" прзрыванкя еапрзщзнщ. Бит"I охищаетуя"анпарвтпо носле ахода а прзрывание и аос- ствнавйиаазтуя" иомандмй PETI, дйя" раерзшзния"обрвбмтки пмследующкх нрзрываний,  Бир 4 / V:" Чрвнзнке"копкруеоого"бктв."Кммвнжы"копкроввнкя"бктов" BLF (Biv NocD+ к BSV *Bkt"SVore+ используют"этот гит как ксточнкк"и"птизм/ нкк"огрвбвтыввеоого" гита. Гит "из тегиутта" тегиуттового"фвйла" оожет бытю укопкроввн"в"T" кооапдой"BST. гит V "можзт"бытю скопкроввн"в" гит рзгкстрового цаллв кооапдой"BND.  Гит 7 / J:"Фйаг половипного петепоуа. Ятот"флаг кнжицитузт"пзрзнмс"из млажшзй половкны галтв при нзкоторых"арифмзткчзскич операциях. Голез подтогно об"этоо оожно прочктвтю а мписвнии скстемы"кмманд. Бит"4 - S8 бир знаиа, Q = L XOP V, Бир S всзгжа"рввзн" ксключвюыему ИЛИ меддс флагами L (орркцвтзльнщй рззсльтвт+ и T (перзпмлнение доной- нениэ до дауч), Бойее нодробпо об этом ммжно прочирарь"в опиуапик уиу- реоы"комвнж. Бит"3 - V8 Флаг пзрзпмлпепия жополнзнкя"до жвух. Ятот"флаг "поджетжк- аазт"атицмзткку у "дополпепизм"до жвух. "Бмлзе"подтогно об" ятом"можпо нрочктвтю а мписвнии скстемы"кмманд. Бит"2 - N8 Флаг орркцвтзльнмгм результара. Ятот"флаг кнжицитузт"оррк- фарельпыл результар рвзличных"атицмзткчзскич и лмгичзскич операцил. Болез пожробпо"ог ятом"можпо"пточитать"в"опиуапик уиутзмы кооапд.  Гит 3 / Z:"Фйаг пулевого"рззулютвтв. Эрор цлвг"ипдкцкрует пулевол те/ зулютвт"рвзличных"арицмзткчзскич и йогичеуккх"операцил."Бмлзе"подтогно ог ятом"можпо"пточитать"в"опиуапик уиутзмы кооапд.  Гит 2 / C:"Фйаг петепоуа. Ятот"флаг кнжицитузт"пзрзнмс"в арифметкчзс/ ких"и лмгичзскич мпзрвцкяч. Бмлзе пожробпо"ог ятом"можпо"пточитать" в опиуапик уиутзмы кооапд.   " " " " " " " " " " " " Уквзвтзлю утзка SPN   " " Ятот"8/рвзряжный региутт у адрзсом $1D ($5D) хрвнит" сказатзль стеиа профессорв. 8-ми раерядмв дмстарочно,"для"ажрзсвцки ОЕУ в преде- лах"$40/$DF,  Бит" 7 6 5 4 1 2 1 0 ╪──────┬──────└──────┬──────└──────┬──────└──────┬──────╜ $1D ($5D) │ SP7 ▒ QP4 │ SP5 ▒ QP4 │ SP3 ▒ QP0 │ SP1 ▒ QP0 │SPN  " " " " "└╞─╞─╞─├─╞─╞─╞┴╞─╞─╞─├─╞─╞─╞┴╞─╞─╞─├─╞─╞─╞┴╞─╞─╞─├─╞─╞─╞┘ Хт./зап." " R/W " "R/W" " R/W " "R/W" " R/W " "R/W" " R/W " "R/W Нач.знвч. " "0" " " 2 " " "0" " " 2 " " "0" " " 2 " " "0" " " 2  " "Уиазатель"стека"указывазт"нв облаутю паояти"в"которой" тауположзн стзк вызовв пожптогрвмо к прзрвапил." Облаутю утзка а МЗС жолжпа гыть еажапа до того"квк"птокзойжет люгол вызов пожптогрвмоы"или"будут" таз- реъепы"прерывапия. Уиазатель"стека"уоепьъазтуя"на 1 нрк еаниси даннщх а стзк кммандой PUQH и уоеньъаетуя"на 0 нрк аызоае пмдпрограомы кооап- дол CANL"или"огрвботке"птетывапия."Уиазатель"стека"увеличивазтуя"на 1 нрк аыгоре данныч из стеиа кммандой PMP и увеличивазтуя"на 0 прк вы- нолнзнки"комвнж "возврвтв кз" пожптогрвмоы"или" обтаготчккв прзрывания (RET ийи RETI),   Сброс"и обрвбмтка прерываний. В AT90S0303 и AT90Q2141 прздссооррзнщ 10 источников прерывапил. Этк прзрывания"и сгрос"имеьт" раеличпыз аеиторы а мбйастк паояти" про- брвмо."Кажжооу"из прзрываний присвмен мтжельпыл бир раерзшвюыий даннме нрзрывание при уутвнмвие битв а 1, если бир I ребистта состояния" рае- решает"общзе обслужиаапиз прзрываний,  Самыз младшие алреса памэтк нрограмм онрзделенщ иаи аеиторы сбро/ св и прзрываний, Aписок взкророа прзрываний приаедеп а раглкцз 0. Эрот спиуок оптежелязт"и"приорктзт"рвзйичных"прерывапил. Менюшке адрзсв со- орвзтутвуют"болзе высокому уровпю"птиорктзтв. Самщй вщсокий утоаепь" с сгросв, следующкй примрктзт"у"ILT0 - внешнегм еанросв прзрывания"0 и т.д.  " " Пиже" прквздзнв "ткпкчпая прогрвмоа обтаготкк убтоуа"и"взктотов птетывапияй:   Cdfrgss Labens" Cmdg Cmmoents  $000 rjmr PEQET ; Обрвбмтка сгросв  $001 rjmr EXT_INT0 ; Обрвбмтка IPQ0  $002 rjmr TIM_MVD0 ; Обрвбмтка перзпмлнениэ раймерв 0  $003 MAIL: xzx" ; Начвлм мспоанмй пробрвммы _ ] ] ]   Раблицв 0. Сброс"и векроры"прерываний. ╪─────────────└──────┬──────────────└────────────────────────────────┐ ▒Нммер"векрора▒ Адрес│Источник ▒ Мписвние прерываниэ │ ┴─────────────┼──────┼──────────────┼────────────────────────────────┤ ▒ 1 ▒ $000 │PEQET ▒ Нодка сброса и сгрос"ор сторо- │ ▒ ▒ │ ▒ деаобо твймера │ ┴─────────────┼──────┼──────────────┼────────────────────────────────┤ ▒ 0 ▒ $001 │INT0 ▒ Анешпее нрзрывание 0 │ ┴─────────────┼──────┼──────────────┼────────────────────────────────┤ ▒ 1 ▒ $006 │TIMEP0 OTF0 ▒ Нереполнзнке"твйоета/счетчккв 2│ └─╞─╞─╞─╞─╞─╞─├─╞─╞─╞┴╞─╞─╞─╞─╞─╞─╞─├─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞┘ ИСРОХНИКИ СБРОСА AT90S0303 и AT90S0343 имеьт"тти источпииа сгросв. * Сброс"пм аключепию пктвнкя. Процзсуор сбрасываетуя"при нодахе нирапия па выводы VCC к GNF. " "*"Внеънкй"сгрос. Процзсуор сбрасываетуя"при пмдачз ниекмгм сровпя на вщвмд RGSGT на арзмя болез жвух"пзркожов тактовой"чвстоты.  " " * Убтоу от"стотожевого"твйоета. Процзсуор сбрасываетуя"пм мкмнча/ нкю"втеоепи"отрвботки"стотожевого"твйоета. зсли"рвзтеъепа его"рвботв.  " " Во"втеоя"сгросв асз рзгистры авмда/аывожа уутвнавйиааьтуя"в на- чвльнще знахениэ, нрограмма нахинает" аыпойнятюся с адрзсв $000, пм этооу"адрзсу дойжна бщтю еанисана кмманда RHMP - мтпосирейьпыл нереход на нрограммс мбраборки сброса, Если в пробрвмме не раерзшвются преры/ вания"и векроры" нрзрываний не испойьзуютуя. в первыч адресах памэтк можзт"бытю запиуапа прогрвмоа.  " " CT;0S2323 кмзет прогтаомкруеооз врзмя убтоуа. Прк прогрвмоитова/ нки"бктв FSVR"втеоя"сгросв смзнюшверся. Микросхзмщ ностввляютуя"с" не- запробрвммироааннщм битом,  Арзмя запуукв жля CT;0S2343 цикскроввно. СБРМС ПМ АКЙЮХЕНИЬ ПИРАНИЭ   " " Цепь"сгросв пм аключепию "пктвнкя"огеупзчкваер запрер аключепия птоцеусорв жо"тзх"пор. пока"нвптяжепиз питапия пе"достигнзт"бззопвспо/ го уровпя. Поулз того. как папряжзнке"пктвнкя"достигнзт"утовня включе/ нкя. процзсуор не вильчверся до тзх"пмр. ноиа всттознпыл ралмзр"нз мб/ рвбответ пеуколюко тагочич пзркожов уторожзвого талмзрв. Обыез арзмя сгросв уоутоит кз"сумоы"втеоепи"Tror к врзмзнк Vowt"(ум. таглкцы пиже+   " " " " " " Таглкцв 3."Харвктетиутккк убтоуа.(Vcc=7.2V+ ┌╞─╞─╞─┬─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─┬─╞─╞─╞┬╞─╞─╞─╞┬╞─╞─╞─╞┬╞─╞─┐ │" " " │ " " " " " " " " " " " " " " " " │ Oin "│"T{p" │ Max" │ ▒ ├╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╢ │Vpor" │Наптяжепиз урвбвтыванкя"сгросв по│ 3.3 │"1.3" "│"1.5" "│"V" │ │" " " │включзнкю"пктвнкя" ▒ │ │ │ ▒ ├──────┼─────────────────────────────────┼──────┼───────┼───────┼────┤ │Trst" ▒Напряжение срвбатывания"сгросв ▒ │ 0,6Tcc│ │ V ▒ │ ▒пм аывожу"RGSGT ▒ │ │ │ ▒ ├──────┼─────────────────────────────────┼──────┼───────┼───────┼────┤ │Ttouv ▒Задержка на оррвбмтку"сгросв ▒ 11 │ 14 │ 21 │ mS ▒ │ ▒FQTPT нззапрогрвмоироаап (90S0303│ │ │ │ ▒ ├╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╢ │Vtouv │Задзржкв па"отрвботку"сгросв ▒ 1.0 │ 1,1 │ 1,2 │ mS ▒ │ ▒FQTPT запрогрвмоироаап ;0S2323 │ " " "│" " " "│" " " "│" " │ ├╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╢ │Vtouv │Задзржкв па"отрвботку"сгросв ▒ 11 │ 14 │ 21 │ uS ▒ │ ▒дйя"AT90S0343 ▒ │ │ │ ▒ └──────┴─────────────────────────────────┴──────┴───────┴───────┴────┘   Раблицв 4. Харвкреристкки сброса,(Tcc=1.0V) ┌╞─╞─╞─┬─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─┬─╞─╞─╞┬╞─╞─╞─╞┬╞─╞─╞─╞┬╞─╞─┐ │" " " │ " " " " " " " " " " " " " " " " │ Oin "│"T{p" │ Max" │ ▒ ├╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╢ │Vpor" │Наптяжепиз урвбвтыввнкя"сгросв по│ 3.3 │"1.3" "│"1.5" "│"V" │ │" " " │включзнкю"пктвнкя" ▒ │ │ │ ▒ ├──────┼─────────────────────────────────┼──────┼───────┼───────┼────┤ │Trst" ▒Напряжение срвбатывания"сгросв ▒ │ 0,6Tcc│ │ V ▒ │ ▒пм аывожу"RGSGT ▒ │ │ │ ▒ ├──────┼─────────────────────────────────┼──────┼───────┼───────┼────┤ │Ttouv ▒Задержка на оррвбмтку"сгросв ▒ 02 │ 30 │ 40 │ mS ▒ │ ▒FQTPT нззапрогрвмоитовап *92S2323│ " " "│" " " "│" " " "│" " │ ├╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╢ │Vtouv │Задзржкв па"отрвботку"сгросв ▒ 0.0 │ 2,2 │ 2,4 │ mS ▒ │" │FSTRT" "звптогрвмоитовап ;0S2323 │ " " "│" " " "│" " " "│" " │ ├╞─╞─╞─╟─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╟─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╞─╞┼╞─╞─╢ │Vtouv │Задзржкв па"отрвботку"сгросв ▒ 02 │ 30 │ 40 │ uS ▒ │" " " │для"AV92S2363" " " " " " " " " " │ " " "│" " " "│" " " "│" " │ └╞─╞─╞─├─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─╞─├─╞─╞─╞┴╞─╞─╞─╞┴╞─╞─╞─╞┴╞─╞─█  Если"к"птоцеусору пожключеп кетаоичеуккй"рззонвтор"или"дтугол,"огеупз- хивающкй"быстрое"включзнке. жля умзнюшзния"времени сброса можно запро- граммировать бит-перемычку FSTRT. Поскольку к выводу RESET подключен подтягивающий резистор, этот вывод может оставаться неподключенным, если не требуется внешний сброс. Подключение вывода RESET к напряжению питания дает тот же эффект. Время включения после подачи питания может быть увеличено удержанием вывода сброса на низком уровне. ВНЕШНИЙ СБРОС Внешний сброс обрабатывается по низкому уровню на выводе RESET. Вывод должен удерживаться в низком состоянии по крайней мере два периода тактовой частоты. После достижения напряжения Vrst запускается таймер задержки, через промежуток времени Tout процессор запускается. СБРОС ПО СТОРОЖЕВОМУ ТАЙМЕРУ После отработки цикла сторожевого таймера, он вырабатывает короткий импульс сброса. По спадающему фронту этого импульса запускается внутренний счетчик, отсчитывающий время Tout. РЕГИСТР СОСТОЯНИЯ ПРОЦЕССОРА - MCUSR Этот регистр содержит информацию о том, что явилось причиной сброса процессора. Бит 7 6 5 4 3 2 1 0 ┌───┬───┬───┬───┬───┬───┬─────┬────┐ $34($54) │ - │ - │ - │ - │ - │ - │EXTRF│PORF│ MCUSR └───┴───┴───┴───┴───┴───┴─────┴────┘ Чт./зап.(R/W) R R R R R R R/W R/W Начальн.знач. 0 0 0 0 0 0 x x Биты 7..2 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Бит 1 - EXTRF - после сброса по включению питания состояние этого бита неопределено. Он устанавливается при внешнем сбросе. Сброс по сторожевому таймеру этот бит не меняет. Бит 0 - PORF - этот бит устанавливается при сбросе по включению пи- тания, при сбросе от других источников бит не изменяется. В следующей таблице показаны значения даух бит регистр MCUSR для трех режимов сброса. Таблица 5. Значение битов PORF и EXTRF после сброса ┌─────────────────────┬───────────────┬─────────────┐ │Источник сброса │ PORF │ EXTRF │ ├─────────────────────┼───────────────┼─────────────┤ │включение питания │ 1 │ неопределен │ ├─────────────────────┼───────────────┼─────────────┤ │внешний сброс │ неизменяется │ 1 │ ├─────────────────────┼───────────────┼─────────────┤ │сторожев.таймер │ неизменяется │ неизменяется│ └─────────────────────┴───────────────┴─────────────┘ Чтобы определить при помощи этих битов условия сброса, программа пользователя как можно раньше должна сбросить оба бита. Проверка PORF и EXTRF производится до очистки битов. Если эти биты сброшены до того как произойдет сброс от сторожевого таймера или внешний сброс, источ- ник сброса можно определить по следующей таблице: Таблица 6. Определение источника сброса. ┌───────┬────────┬───────────────────┐ │ PORF │ EXTRF │ Источник сброса │ ├───────┼────────┼───────────────────┤ │ 0 │ 0 │ Сторожевой таймер │ ├───────┼────────┼───────────────────┤ │ 0 │ 1 │ Внешний сброс │ ├───────┼────────┼───────────────────┤ │ 1 │ 0 │ Сброс по питанию │ ├───────┼────────┼───────────────────┤ │ 1 │ 1 │ Сброс по питанию │ └───────┴────────┴───────────────────┘ ОБРАБОТКА ПРЕРЫВАНИЙ AT90S2323 и AT90S2343 имеют два регистра маски прерываний GIMSK - общий регистр маски прерываний и TIMSK - регистр маски прерываний от таймера/счетчика. Когда возникает прерывание бит глобального разрешения прерываний I сбрасывается (ноль) и все прерывания запрещаются. Программа пользователя может установить этот бит для разрешения прерываний. Флаг разрешения прерываний I устанавливается в 1 при выполнении команды выхода из прерывания - RETI. Когда программный счетчик устанавливается на текущий вектор пре- рывания, флаг, вызвавший обработку этого прерывания аппаратно сбрасы- вается. Некоторые из флагов прерываний могут сбрасываться записью в них логической единицы. ОБЩИЙ РЕГИСТР МАСКИ ПРЕРЫВАНИЙ GIMSK Бит 7 6 5 4 3 2 1 0 ┌───┬────┬───┬───┬───┬───┬───┬───┐ $3B($5B) │ - │INT0│ - │ - │ - │ - │ - │ - │ GIMSK └───┴────┴───┴───┴───┴───┴───┴───┘ Чт./зап.(R/W) R R/W R R R R R R Начальн.знач. 0 0 0 0 0 0 0 0 Бит 7 - зарезервирован. В AT90S2323 и AT90S2343 этот бит зарезерви- рован и всегда читается как 0. Бит 6 - INT0: Запрос внешнего прерывания 0 разрешен. Когда этот бит установлен, а также установлен бит I регистра состояния, разрешается прерывание от внешнего вывода. Биты управления запуском прерывания (ISC01 и ISC00) в регистре управления микроконтроллером (MCUCR) опре- деляют по какому событию отрабатывается прерывание - по спадающему или нарастающему фронту или же по уровню. Активность на выводе приводит к возникновению прерываний даже если вывод сконфигурирован как выход. При возникновении прерывания выполняется программа, начинающаяся с адреса $001 в памяти программ. (см. также "Внешние прерывания"). Биты 5..0 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. ОБЩИЙ РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ Бит 7 6 5 4 3 2 1 0 ┌─────┬─────┬───┬───┬───┬───┬───┬───┐ $3B($5B) │ - │INTF0│ - │ - │ - │ - │ - │ - │ GIFR └─────┴─────┴───┴───┴───┴───┴───┴───┘ Чт./зап.(R/W) R R/W R R R R R R Начальн.знач. 0 0 0 0 0 0 0 0 Бит 7 - зарезервирован. В AT90S2323 и AT90S2343 этот бит зарезерви- рован и всегда читается как 0. Бит 6 - INTF0: Флаг внешнего прерывания 0: При возникновении на вы- воде INT0 события вызывающего прерывание, INTF0 устанавливается в "1". Если установлены бит I регистра SREG и бит INT0 в GIMSK, происходит переход на вектор прерывания по адресу $001. Флаг очищается после вы- полнения обработчика прерывания. Кроме того, флаг можно очистить, за- писав в него логическую единицу. Биты 5..0 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. РЕГИСТР МАСКИ ПРЕРЫВАНИЯ ОТ ТАЙМЕРА/СЧЕТЧИКА - TIMSK Бит 7 6 5 4 3 2 1 0 ┌─────┬──────┬─────┬─────┬──────┬─────┬─────┬─────┐ $39($59) │ - │ - │ - │ - │ - │ - │TOIE0│ - │TIMSK └─────┴──────┴─────┴─────┴──────┴─────┴─────┴─────┘ Чт./зап. R R R R R R R/W R Нач.знач. 0 0 0 0 0 0 0 0 Биты 7..2 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Бит 1 - TOIE0: Разрешение прерывания по переполнению таймера/счетчи- ка 0. Если этот бит установлен в 1, и бит I в регистре состояния уста- новлен в 1, разрешены прерывания по переполнению таймера/счетчика 0. При возникновении переполнения выполняется соответствующий вектор пре- рывания ($006). Флаг переполнения (TOV0) регистре флагов прерываний (TIFR) таймера/счетчика устанавливается в 1. Бит 7 - зарезервирован. В AT90S2323 и AT90S2343 этот бит зарезерви- рован и всегда читается как 0. РЕГИСТР ФЛАГОВ ПРЕРЫВАНИЙ ОТ ТАЙМЕРА/СЧЕТЧИКА - TIFR Бит 7 6 5 4 3 2 1 0 ┌─────┬──────┬─────┬─────┬──────┬─────┬─────┬─────┐ $38($58) │ - │ - │ - │ - │ - │ - │TOV0 │ - │TIFR └─────┴──────┴─────┴─────┴──────┴─────┴─────┴─────┘ Чт./зап. R R R R R R R/W R Нач.знач. 0 0 0 0 0 0 0 0 Биты 7..2 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Бит 1 - TOV0: Флаг переполнения таймера счетчика 1: Флаг TOV0 уста- навливается ("1") при переполнении таймера/счетчика 0. Флаг сбрасыва- ется аппаратно при выполнении соответствующего вектора прерывания. Кроме того, флаг можно очистить записав в него логическую единицу. Ес- ли установлены бит I в SREG и бит TOIE0 в TIMSK, при установке бита TOV0 выполняется прерывание по переполнению твймера/счетчика 0. Бит 7 - зарезервирован. В AT90S2323 и AT90S2343 этот бит зарезерви- рован и всегда читается как 0. ВНЕШНИЕ ПРЕРЫВАНИЯ Внешние прерывания управляются выводом INT0. Заметим, что преры- вания обрабатываются даже когда вывод сконфигурирован как выход. Это позволяет генерировать программные прерывания. Внешние прерывания мо- гут возникать по спадающему или нарастающему фронту, а также по низко- му уровню. Это устанавливается в регистре управления процессором MCUCR. Если внешние прерывания разрешены и сконфигурированы на отрабо- тку по уровню, прерывание будет вырабатываться до тех пор, пока вывод удерживается в низком состоянии. Управление работой внешних прерываний рассмотрено при описании регистра управления процессором MCUCR. ВРЕМЯ РЕАКЦИИ НА ПРЕРЫВАНИЕ Минимальное время реакции на любое из предусмотренных в процессо- ре прерываний - 4 периода тактовой частоты. После четырех циклов вы- зывается программный вектор обрабатывающий данное прерывание. За эти 4 цикла программный счетчик записывается в стек, указатель стека уменьшается на 2. Программный вектор представляет собой относительный переход на подпрограмму обслуживания прерывания и этот переход занима- ет 2 периода тактовой частоты. Если прерывание происходит во время вы- полнения команды длящейся несколько циклов, перед вызовом прерывания завершается выполнение этой команды. Выход из программы обслуживания прерывания занимает 4 периода так- товой частоты. За эти 4 периода из стека восстанавливается программный счетчик. После выхода из прерывания процессор всегда выполняет еще од- ну команду прежде чем обслужить любое отложенное прерывание. Заметим, что регистр состояния SREG аппаратно не обрабатывается процессором, как при вызове подпрограмм, так и при обслуживании преры- ваний. Если программа требует сохранения SREG, оно должно произво- диться программой пользователя. РЕГИСТР УПРАВЛЕНИЯ МИКРОКОНТРОЛЛЕРОМ - MCUCR Этот регистр содержит биты общего управления микроконтроллером. Бит 7 6 5 4 3 2 1 0 ┌───┬───┬────┬────┬─────┬──────┬─────┬───────┐ $35($55) │ - │ - │ SE │ SM │ - │ - │ISC01│ ISC00 │ MCUCR └───┴───┴────┴────┴─────┴──────┴─────┴───────┘ Чт./зап.(R/W) R R R/W R/W R R R/W R/W Начальн.знач. 0 0 0 0 0 0 0 0 Биты 7..6 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Бит 5 - SE: Разрешение режима Sleep: Этот бит должен быть установлен в 1, чтобы при выполнении команды SLEEP процессор переходил в режим пониженного энергопотребления. Этот бит должен быть устанавлен в 1 до исполнения команды SLEEP. Бит 4 - SM: Режим Sleep: Этот бит выбирает один из двух режимов по- ниженного энергопотребления. Если бит сброшен (0), в качестве режима Sleep выбирается холостой режим (Idle mode). Если бит установлен, - выбирается экономичный режим (Power down). Особенности каждого из ре- жимов будут рассмотрены ниже. Биты 3..2 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Биты 1,0 - ISC01, ISC00: биты управления срабатыванием прерывания 0: Внешнее прерывание активируется выводом INT0 если установлен флаг I регистра состояния SREG и установлена соответствующая маска в регистре GIMSK. В таблице 7 приведена установка битов для задания срабатывания по уровню и фронтам. Таблица 7. Управление срабатыванием прерывания 0. ┌─────┬─────┬────────────────────────────────────────────────────────┐ │ISC01│ISC00│Описание │ ├─────┼─────┼────────────────────────────────────────────────────────┤ │0 │0 │Запрос на прерыв.генерир-ся по низк.уровню на входе INT0│ ├─────┼─────┼────────────────────────────────────────────────────────┤ │0 │1 │Зарезервировано │ ├─────┼─────┼────────────────────────────────────────────────────────┤ │1 │0 │Запрос на прерывание по спадающему фронту на входе INT0 │ ├─────┼─────┼────────────────────────────────────────────────────────┤ │1 │1 │Запрос на прерывание по нарастающ. фронту на входе INT0 │ └─────┴─────┴────────────────────────────────────────────────────────┘ ПРИМЕЧАНИЕ: При изменении битов ISC01 и ISC00, прерывания по входу INT0 должны быть запрещены сбросом бита разрешения прерывания в регис- тре GIMSK. Иначе прерывание может произойти при изменении значения би- тов. РЕЖИМЫ ПОНИЖЕННОГО ЭНЕРГОПОТРЕБЛЕНИЯ. Для запуска режима пониженного энергопотребления должен быть ус- тановлен (1) бит SE регистра MCUCR, и должна быть исполнена команда SLEEP. Если во время нахождения в режиме пониженного потребления про- исходит одно из разрешенных прерываний, процессор начинает работать, исполняет подпрограмму обработки прерывания и продолжает выполнение программы с команды следующей за SLEEP. Содержимое регистрового файла и памяти ввода/вывода не изменяется. Если в режиме пониженного потреб- ления происходит сброс, процессор начинает выполнение программы с век- тора сброса. Если для вывода из экономичного режима используется прерывание по уровню, низкий уровень должен удерживаться на время достаточное для запуска генератора тактовых импульсов - 16 mS. Иначе флаг прерывания может вернуться в 0 до того как процессор начнет работу. Режим холостого хода. Когда бит SM сброшен (0), команда SLEEP переводит процессор в ре- жим холостого хода (Idle mode). ЦПУ останавливается, но Таймеры/Счет- чики, сторожевой таймер и система прерываний продолжают работать. Это позволяет процессору возобновлять работу как от внешних прерываний, так и по переполнению таймеров/счетчиков или по сбросу от сторожевого таймера. Экономичный режим. Когда бит SM установлен (1), команда SLEEP переводит процессор в экономичный режим (Power Down Mode). В этом режиме останавливается внешний генератор тактовых импульсов. Пользователь может разрешить ра- боту сторожевого таймера в этом режиме. Если сторожевой таймер разре- шен, процессор выходит из экономичного режима после отработки периода сторожевого таймера. Если сторожевой таймер запрещен, выход из эконо- мичного режима может произойти только по внешнему сбросу или внешнему прерыванию по уровню. ТАЙМЕР/СЧЕТЧИК В AT90S2323 и AT90S2343 предусмотрен 8-разрядный таймер/счетчик общего назначения. Таймер/счетчик получает импульсы от 10-битового предварительного делителя. Таймер/Счетчик можно исспользовать как тай- мер, с внутренним источником импульсов или как счетчик, управляемый внешними счетными импульсами. 8-разрядный таймер/счетчик может получать импульсы тактовой час- тоты - CK, импульсы с предварительного делителя (CK/8, CK/64, CK/256 или CK/1024), импульсы с внешнего вывода или быть остановлен соответ- ствующими установками регистра TCCR0. Флаг переполнения таймера нахо- дится в регистре TIFR. Биты управления таймером расположены в регистре TCCR0. Разрешение и запрещение прерываний от таймера управляется реги- стром TIMSK. При работе таймера/счетчика от внешнего сигнала, внешний сигнал синхронизируется с тактовым генератором ЦПУ. Для правильной обработки внешнего сигнала, минимальное время между соседними импульсами должно превышать период тактовой частоты процессора. Сигнал внешнего источни- ка обрабатывается по спадающему фронту тактовой частоты процессора. 8-разрядный таймер/счетчик можно использовать как счетчик с высо- ким разрешением, так и для точных применений с низким коэффициентом деления тактовой частоты. Более высокие коэффициенты деления можно ис- пользовать для медленных функций или измерения временных интервалов между редкими событиями. РЕГИСТР УПРАВЛЕНИЯ ТАЙМЕРОМ/СЧЕТЧИКОМ 0 - TCCR0 Бит 7 6 5 4 3 2 1 0 ┌───┬───┬───┬───┬───┬────┬────┬────┐ $33 │ - │ - │ - │ - │ - │CS02│CS01│CS00│ TCCR0 └───┴───┴───┴───┴───┴────┴────┴────┘ Чт./зап.(R/W) R R R R R R/W R/W R/W Начальн.знач. 0 0 0 0 0 0 0 0 Биты 7..3 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Биты 2,1,0 - CS02, CS01, CS00 - выбор тактовой частоты. Эти биты за- дают коэффициент деления предварительного делителя. Таблица 8. Выбор коэффициента предварительного деления ┌────┬────┬────┬─────────────────────────────────────────────────────┐ │CS02│CS01│CS00│Описание │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │0 │0 │0 │Таймер/счетчик остановлен │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │0 │0 │1 │CK │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │0 │1 │0 │CK/8 │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │0 │1 │1 │CK/64 │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │1 │0 │0 │CK/256 │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │1 │0 │1 │CK/1024 │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │1 │1 │0 │Внешний вывод T0, нарастающий фронт │ ├────┼────┼────┼─────────────────────────────────────────────────────┤ │1 │1 │1 │Внешний вывод T0, спадающий фронт │ └────┴────┴────┴─────────────────────────────────────────────────────┘ Условие Stop запрещает/разрешает функционирование таймера/счетчика. В режимах деления частота берется непосредственно от тактовых импульсов. При использовании работы от внешнего вывода предварительно должен быть установлен вывод регистра направления данных (0 - включает ножку на ввод). ТАЙМЕР/СЧЕТЧИК 0 - TCNT0. Бит 7 6 5 4 3 2 1 0 ┌───┬───┬───┬───┬───┬───┬───┬───┐ $32 │MSB│ - │ - │ - │ - │ - │ - │LSB│ TCNT0 └───┴───┴───┴───┴───┴───┴───┴───┘ Чт./зап.(R/W) R/W R/W R/W R/W R/W R/W R/W R/W Начальн.знач. 0 0 0 0 0 0 0 0 Таймер/счетчик реализован как нарастающий счетчик с возможностью чтения и записи. При записи таймера/счетчика, если присутствуют такто- вые импульсы, таймер/счетчик продолжает счет в цикле следующем за опе- рацией записи. СТОРОЖЕВОЙ ТАЙМЕР Сторожевой таймер работает от отдельного встроенного генератора работающего на частоте 1 MHz (это типовое значение частоты для питания 5В). Управляя предварительным делителем сторожевого таймера можно за- давать интервал сброса таймера от 16 до 2048 mS. Команда WDR сбрасыва- ет сторожевой таймер. Для работы сторожевого таймера можно выбрать од- но из 8-ми значений частоты, что позволяет в широких пределах изменять время между исполнением команды WDR и сбросом процессора. При отработ- ке периода работы сторожевого таймера, если не поступила команда WDR, процессор сбрасывается, выполнение программы продолжается с вектора сброса. Для предотвращения нежелательного отключения сторожевого таймера, для его запрещения должна выполняться определеннвя последовательность, которая описана при рассмотрении регистра WDTCR. РЕГИСТР УПРАВЛЕНИЯ СТОРОЖЕВЫМ ТАЙМЕРОМ - WDTCR Бит 7 6 5 4 3 2 1 0 ┌───┬───┬───┬─────┬───┬────┬────┬────┐ $21($41) │ - │ - │ - │WDTOE│WDE│WDP2│WDP1│WDP0│ WDTCR └───┴───┴───┴─────┴───┴────┴────┴────┘ Чт./зап.(R/W) R R R R/W R/W R/W R/W R/W Начальн.знач. 0 0 0 0 0 0 0 0 Биты 7..5 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Бит 4 - WDTOE - разрешение выключения сторожевого таймера. При очис- тке бита WDE этот бит должен быть установлен (1). Иначе, работа сторо- жевого таймера не прекращается. Через четыре такта после установки этого бита, он аппаратно сбрасывается. Бит 3 - WDE- разрешение сторожевого таймера. Если бит установлен (1), работа сторожевого таймера разрешена, если бит сброшен - запреще- на. Сброс бита производится только в том случае, если бит WDTOE уста- новлен в 1. Для запрещения включенного сторожевого таймера должна ис- полняться слудующая процедура: 1. Одной командой записать 1 в WDTOE и WDE. Единица в WDE должна записываться даже в том случае если этот бит был установлен пе- ред началом процедуры остановки таймера 2. В течение следующих четырех тактов процессора необходимо запи- сать в WDE логический 0, при этом работа сторожевого таймера запрещается. Биты 2..0 - WDP2..0 - Биты предварительного делителя сторожевого таймера. Если работа сторожевого таймера разрешена, эти биты определя- ют предварительный коэффициент деления для сторожевого таймера. В таб- лице 13 приведены различные значения установок предварительного дели- теля и соответствующие им временные интервалы для напряжения питания Vcc=5V. Таблица 9. Установки предварительного делителя сторожевого таймера ┌────┬────┬────┬──────────────┐ ┌────┬────┬────┬──────────────┐ │WDP2│WDP1│WDP0│Период времени│ │WDP2│WDP1│WDP0│Период времени│ ├────┼────┼────┼──────────────┤ ├────┼────┼────┼──────────────┤ │0 │0 │0 │16 mS │ │1 │0 │0 │256 mS │ ├────┼────┼────┼──────────────┤ ├────┼────┼────┼──────────────┤ │0 │0 │1 │32 mS │ │1 │0 │1 │512 mS │ ├────┼────┼────┼──────────────┤ ├────┼────┼────┼──────────────┤ │0 │1 │0 │64 mS │ │1 │1 │0 │1024 mS │ ├────┼────┼────┼──────────────┤ ├────┼────┼────┼──────────────┤ │0 │1 │1 │128 mS │ │1 │1 │1 │2048 mS │ └─────────────────────────────┘ └────┴────┴────┴──────────────┘ ЧТЕНИЕ И ЗАПИСЬ ЭНЕРГОНЕЗАВИСИМОЙ ПАМЯТИ Регисты доступа к энергонезависимой памяти (EEPROM) расположены в пространстве ввода/вывода. Время записи лежит в диапазоне 2.5-4 mS и зависит от напряжения питания. Это самотактируемая функция которая, однако, позволяет поль- зователю определить, можно ли записывать следующий байт. Если програм- ма пользователя производит запись в энергонезависимую память, должны быть предприняты некоторые меры предосторожности. При использовании в источнике питания конденсаторов большой емкости, напряжение питания нарастает и спадает достоточно медленно. Это приводит к тому, что про- цессор некоторое время работает при напряжении питания ниже минимума достаточного для нормальной работы схем тактирования. При этом ЦПУ мо- жет совершать нежелательные переходы, попадая на части программы, про- изводящие запись в EEPROM. В таких случаях, для защиты содержимого EEPROM, необходимо использовать внешние схемы формирующие сигнал сбро- са при уменьшении напряжения питания. Для защиты от нежелательной записи в EEPROM необходимо следовать некоторым правилам, которые будут рассмотрены ниже, при описании уп- равляющего регистра энергонезависимой памяти. При записи или чтении EEPROM процессор приостанавливается на 2 машинных цикла до начала выполнения следующей команды. РЕГИСТР АДРЕСА EEPROM - EEAR Бит 7 6 5 4 3 2 1 0 ┌───┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ $1E ($3E) │ - │EEAR6│EEAR5│EEAR4│EEAR3│EEAR2│EEAR1│EEAR0│ EEAR └───┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ Чт./зап.(R/W) R R/W R/W R/W R/W R/W R/W R/W Начальн.знач. 0 0 0 0 0 0 0 0 Бит 7 - зарезервирован. В AT90S2323 и AT90S2343 этот бит зарезерви- рован и всегда читается как 0. Биты 6..0 - EEAR6..0 - Адрес EEPROM. Адресный регистр EEPROM задает адрес в 128-байтном пространстве EEPROM. Байты данных EEPROM адресуют- ся линейно в диапазоне 0..127. РЕГИСТР ДАННЫХ EEPROM - EEDR Бит 7 6 5 4 3 2 1 0 ┌───┬───┬───┬───┬───┬───┬───┬───┐ $1D ($3D) │MSB│ - │ - │ - │ - │ - │ - │LSB│ EEDR └───┴───┴───┴───┴───┴───┴───┴───┘ Чт./зап.(R/W) R/W R/W R/W R/W R/W R/W R/W R/W Начальн.знач. 0 0 0 0 0 0 0 0 Биты 7..0 - EEDR7..0 - Данные EEPROM. При записи регистр EEDR содер- жит данные, которые записываются в EEPROM по адресу в регистре EEAR. Для операции чтения в этот регистр читаются данные прочитанные из EEPROM по адресу заданному в регистре EEAR. РЕГИСТР УПРАВЛЕНИЯ EEPROM - EECR Бит 7 6 5 4 3 2 1 0 ┌───┬───┬───┬───┬───┬─────┬────┬────┐ $1C ($3C) │ - │ - │ - │ - │ - │EEMWE│EEWE│EERE│ EEDR └───┴───┴───┴───┴───┴─────┴────┴────┘ Чт./зап.(R/W) R R R R R R/W R/W R/W Начальн.знач. 0 0 0 0 0 0 0 0 Биты 7..3 - зарезервированы. В AT90S2323 и AT90S2343 эти биты заре- зервированы и всегда читаются как 0. Бит 2 - EEMWE - Управление разрешением записи. Этот бит определяет, будут ли записаны данные при установке EEWE. Если бит EEMWE установ- лен, при установке EEWE данные записываются по выбранному адресу EEPROM. Если этот бит сброшен, установка EEWE не имеет эффекта. После программной установки этот бит сбарасывается аппаратно через четыре такта процессора. Бит 1 - EEWE - Разрешение записи в EEPROM. Сигнал EEWE является стробом записи в EEPROM. После установки правильных адреса и данных для записи в EEPROM необходимо установить бит EEWE. При записи "1" в бит EEWE должен быть установлен бит EEMWE, тогда происходит запись в EEPROM. Для записи в EEPROM должна соблюдаться следующая последовательность: 1. Ждем обнуления EEWE 2. Записываем адрес в EEAR (не обязательно) 3. Записываем данные в EEDR (не обязательно) 4. Устанавливаем в 1 бит EEMWE 5. Не позже чем через 4 такта после установки EEMWE устанавливаем EEWE После того как время записи истечет (типично 2.5 mS для Vcc=5V и 4mS для Vcc=2.7), бит EEWE очищается аппаратно. Пользователь может от- слеживать этот бит и ожидать его установки в ноль, перед тем как запи- сывать следующий байт. При установке EEWE, ЦПУ останавливается на два цикла перед исполнением следующей команды. Бит 0 - EERE - разрешение чтения из EEPROM. Сигнал EERE является стробом чтения из EEPROM. После установки нужного адреса в регистре EEAR, необходимо установить бит EERE. После того как бит EERE будет аппаратно очищен, в регистре EEDR. Чтение EEPROM занимает одну команду и не требует отслеживания бита EERE. При установке бита EERE, ЦПУ ос- танавливается на два цикла перед тем как будет выполнена следующая команда. Перед чтением пользователь должен проверять состояние бита EEWE, если регистры данных или адреса изменяются во время операции записи, запись в ячейку прервывается и результат операции записи ста- новится неопределенным. ПОРТ ВВОДА/ВЫВОДА Порт B является двунапрвленным портом ввода/вывода, для AT90S2323 он 3-разрядный, для AT90S2343 - 5-разрядный. В тексте ниже описание битов 3 и 4 для PORTB, DDRB и PINB не при- мениемо к AT90S2323, для него эти биты доступны только для чтения и всегда ситаются как 0. Для обслуживания порта отведено три регистра: регистр данных PORTB ($18, $38), регистр направления данных - DDRB ($17, $37) и ножки порта B ($16, $36). Адрес ножек порта B предназначен только для чте- ния, в то время как регистр данных и регистр направления данных - для чтения/записи. Все выводы порта имеют отдельно подключаемые подтягивающие резис- торы. Выходы порта B могут поглощать ток до 20 mA и непосредственно управлять светодиодными индикаторами. Если выводы порта используются как входы и замыкаются на землю, если включены внутренние подтягиваю- щие резисторы, выводы являются источниками тока (Iil). Дополнительные функции выводов порта B приведены в таблице 10. Таблица 10. Альтернативные функции выводов порта B ┌────────┬──────────────────────────────────────────────────────────┐ │Вывод │ Альтернативная функция │ ├────────┼──────────────────────────────────────────────────────────┤ │PB0 │ MOSI (Вход данных для загрузки памяти) │ ├────────┼──────────────────────────────────────────────────────────┤ │PB1 │ MISO (Выход данных для чтения памяти) │ │ │ INT0 (Вход внешнего прерывания 0) │ ├────────┼──────────────────────────────────────────────────────────┤ │PB2 │ SCK (Вход тактовых импульсов последовательного обмена) │ │ │ T0 (Тактовый вход таймера/счетчика 0) │ ├────────┼──────────────────────────────────────────────────────────┤ │PB3 │ CLOCK (Вход тактирования пр-ра, только AT90S2343) │ └────────┴──────────────────────────────────────────────────────────┘ При использовании альтернативных функций выводов. регистры DDRB и PORTB должны быть установлены в соответствии с описанием альтернатив- ных функций. РЕГИСТР ДАННЫХ ПОРТА B - PORTB Бит 7 6 5 4 3 2 1 0 ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐ $18 ($38) │ - │ - │ - │PORTB4│PORTB3│PORTB2│PORTB1│PORTB0│ └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘ Чт./зап. R R R R/W R/W R/W R/W R/W Нач.знач. 0 0 0 0 0 0 0 0 РЕГИСТР НАПРАВЛЕНИЯ ДАННЫХ ПОРТА B - DDRB Бит ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐ $17 ($37) │ - │ - │ - │ DDB4 │ DDB3 │ DDB2 │ DDB1 │ DDB0 │ └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘ Чт./зап. R R R R/W R/W R/W R/W R/W Нач.знач. 0 0 0 0 0 0 0 0 ВЫВОДЫ ПОРТА B - PINB Бит ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐ $16 ($36) │ - │ - │ - │PINB4 │PINB3 │PINB2 │PINB1 │PINB0 │ └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘ Чт./зап. R R R R R R R R Нач.знач. 0 0 0 Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z PINB не является регистром, по этому адресу осуществляется доступ к физическим значениям каждого из выводов порта B. При чтении PORTB, читаются данные из регистра-защелки, при чтении PINB читаются логичес- кие значения присутствующие на выводах порта. ПОРТ B, КАК ПОРТ ВВОДА/ВЫВОДА ОБЩЕГО НАЗНАЧЕНИЯ Все биты порта B при использовании для ввода/вывода одинаковы. Бит DDBn регистра DDRB выбирает направление передачи данных. Если бит установлен (1), вывод сконфигурирован как выход. Если бит сброшен (0) - вывод сконфигурирован как вход. Если PORTBn установлен и вывод сконфигурирован как вход, включается КМОП подтягивающий резистор. Для отключения резистора, PORTBn должен быть сброшен (0) или вывод должен быть сконфигурирован как выход. Таблица 17. Влияние DDBn на выводы порта B ┌────┬──────┬───────┬───────────┬───────────────────────────────────┐ │DDBn│PORTBn│Вх/Вых │Подт.резист│Комментарий │ ├────┼──────┼───────┼───────────┼───────────────────────────────────┤ │0 │0 │Вход │Нет │Третье состояние (Hi-Z) │ ├────┼──────┼───────┼───────────┼───────────────────────────────────┤ │0 │1 │Вход │Да │PBn источник тока Iil, если извне │ │ │ │ │ │соединен с землей │ ├────┼──────┼───────┼───────────┼───────────────────────────────────┤ │1 │0 │Выход │Нет │Выход установлен в 0 │ ├────┼──────┼───────┼───────────┼───────────────────────────────────┤ │1 │1 │Выход │Нет │Выход установлен в 1 │ └────┴──────┴───────┴───────────┴───────────────────────────────────┘ n = 4,3...0 - номер вывода АЛЬТЕРНАТИВНЫЕ ФУНКЦИИ PORTB CLOCK - PORTB, бит 3 - Вход тактирования процесора (только для AT90S2343). Если запрограммирована бит RCEN и процессор работает со встроенным RC генератором, эта ножка используется для ввода/вывода об- щего назначения. Если бит RCEN незапрограммирован, нв этот вывод долж- ны подаваться тактттовые импульсы для процессора. SCK/T0 - PORTB, бит 2 - В режиме последовательного программирования этот вывод используется как внешний источник тактовых импульсов SCK. При нормальной работе процессора этот вывод может работать как вход для встроенного таймера/счетчика (см. описание таймера/счетчика). Если выбрано внешнее тактирование таймера/счетчика, этот вывод управляет счетчиком даже если сконфигурирован как выход. MISO/INT0 - PORTB, бит 1 - В режиме последовательного программирова- ния этот вывод работает как выход последовательных данных, MISO. При нормальной работе процессора этот вывод обслуживает внешнее прерыва- ние. (см. описание прерываний). Изменение уровня на этом выводе может управлять прерываниями даже если этот вывод сконфигурирован как выход. MOSI - PORTB, бит 0 - В режиме последовательного программирования этот вывод работает как вход последовательных данных. ПРОГРАММИРОВАНИЕ ПАМЯТИ Программирование битов блокировки памяти Микроконтроллеры AT90S2323 и AT90S2343 имеют два бита блокировки, которые могут быть оставлены незапрограммированными (1) или программи- роваться (0), при этом достигаются свойства приведенные в таблице 12. Таблица 12. Режимы защиты и биты блокировки ┌───────────────────┬──────────────────────────────────────────┐ │ Биты блокировки │ Тип защиты │ ├──────┬───┬────────┼──────────────────────────────────────────┤ │ Режим│LB1│LB2 │ │ ├──────┼───┼────────┼──────────────────────────────────────────┤ │ 1 │1 │1 │ защита не установлена │ ├──────┼───┼────────┼──────────────────────────────────────────┤ │ 2 │0 │1 │ дальнейшее программирование флэш памяти│ │ │ │ │ и EEPROM запрещено │ ├──────┼───┼────────┼──────────────────────────────────────────┤ │ 3 │0 │0 │ как режим 2, но запрещено и чтение │ └──────┴───┴────────┴──────────────────────────────────────────┘ Примечание: биты блокировки стираются только при полном стирании памяти Биты конфигурации (Fuse bits) AT90S2343 имеет два бита блокировки SPIEN и RCEN, AT90S2323 - то- лько один - SPIEN * Если бит SPIEN запрограммирован (0), разрешается последователь- ная загрузка программ. По умолчанию этот бит запрограммирован (0). Этот бит недоступен при последовательном программировании. * Если запрограммирован (0) бит RCEN в качестве источника такто- вых сигналов процессора выбирается встроенный RC генератор. По умолча- нию этот бит запрограммирован. Если этот бит изменяется при последова- тельном программировании, изменения вступают в силу при слудующем сбросе по питанию. Эти биты не стираются при стирании памяти микросхемы. Код устройства Все микроконтроллеры фирмы Atmel имеют 3-байтовый сигнатурный код, по которому идентифицируется устройство. Эти три байта размещены в отдельном адресном пространстве, для AT90S233 и AT90S2343 они имеют следующие значения: 1. $000: $1E - код производителя - Atmel 2. $001: $91 - 2 кБ флэш памяти 3. $002: $03 или $04 - при $01=$91, $02=03 - м/сх AT90S2343 при $01=$91, $02=04 - м/сх AT90S2323 Если запрограммированы оба бита блокировки, байты сигнатуры в по- следовательном режиме не читаются. В этом случае можно использовать специальный режим +12V. Программирование флэш памяти и EEPROM AT90S2323 и AT90S2343 имеют по 2кБ перепрограммируемой флэш памя- ти программ и 128 байт энергонезависимой памяти данных. При поставке AT90S2323 и AT90S2343 флэш память и память данных стерты (содержат $FF) и готовы к программированию. Эта микросхемы под- держивают низковольтный режим последовательного программирования. Этот режим предусмеатривает внутрисистемное программирование микросхем. Память программ и память данных в AT90S2323 и AT90S2343 програм- мируются байт за байтом в предусмотренных режимах программирования. Для энергонезависимой памяти предусмотрен режим автоматического стира- ния при последовательном программировании. Некоторые функции недоступны при последовательном программирова- нии и требуют специального режима с подачей +12В. Напряжение +12В ис- пользуется только для разрешения программирования, по цепи подачи вы- сокого капряжения процессор практически не потребляет тока. Специальный режим программирования +12В Этот режим используется для обслуживания функций недоступных при последовательном программировании: * чтение кода устройства при запрограммированных бита блокировки; * программирование стирание бита SPIEN. Во всех операциях сдвига первым передается старший бит, для так- тирования используется вывод CLOCK/XTAL1. Включение специального режима программирования. 1. Приложить напряжение 4.5-5.5В между выводами VCC и GND. 2. Установить RESET и PB0 в "0". 3. По крайней мере 8 раз переключить уровень на выводе CLOCK/XTAL1 и оставить на выводе "0". 4. Подождать 100нС 5. Подать 12В на вывод RESET и выждать 100нС. Чтение кода устройства 1. Подать положительный импульс на CLOCK. 2. Последовательно подать на PB0 и PB1 следующие числа (старший байт посылается первым, для тактирования сдвига используется CLOCK) PB0: 0000 1000 PB1: 0100 1100 3. Подать 3 положительных импульса на CLOCK/XTAL1 4. Последовательно подать на PB0 и PB1: PB0: 0000 0000 (адрес байта сигнатуры 0) PB1: 0000 1100 5. Подать три положительных импульса на CLOCK/XTAL1 6. Выдать на PB1 число 0110 1000 7. Подать два положительных импульса на CLOCK/XTAL1 8. Прочитать байт кода устройства с вывода PB2 9. Подать 4 положительных импульса на CLOCK/XTAL1 10. Выдать на PB1 0110 1100 11. Повторить шаги 3-10 используя адрес 0000 0001 и 0000 0010 для двух следующих байт кода устройства. 12. Подать положительный импульс на CLOCK/XTAL1 Программирование битов конфигурации 1. Подать положительный импульс на CLOCK. 2. Последовательно подать на PB0 и PB1 следующие числа PB0: 0100 0000 PB1: 0100 1100 3. Подать 3 положительных импульса на CLOCK/XTAL1 4. Последовательно подать на PB0 и PB1: PB0: 00S0 000R (S/R=1 биты стерты, S/R=0 - запрограммированы) PB1: 0010 1100 5. Подать три положительных импульса на CLOCK/XTAL1 6. Выдать на PB1 число 0110 1000 7. Подать два положительных импульса на CLOCK/XTAL1 8. Подождать 1 мС 9. Подать положительный импульс на CLOCK/XTAL1 10. Выдать на PB1 0110 1100 11. Подать два положительных импульса на CLOCK/XTAL1 Чтение битов конфигурации и блокировки 1. Подать положительный импульс на CLOCK. 2. Последовательно подать на PB0 и PB1 следующие числа PB0: 0000 1000 PB1: 0100 1100 3. Подать 3 положительных импульса на CLOCK/XTAL1 4. Выдать на PB1 число 0111 1000 5. Подать два положительных импульса на CLOCK/XTAL1 6. Прочитать байт данных с вывода PB2. Значение прочитанных бит следующее: бит 7 - бит блокировки 1 (0 - запрограммирован) бит 6 - бит блокировки 2 (0 - запрограммирован) бит 5 - бит SPIEN (0 - запрограммирован) бит 0 - бит RCEN (0 - запрограммирован) 7. Подать 4 положительных импульса на CLOCK/XTAL1 8. Выдать на PB1 0111 1100 9. Подать два положительных импульса на CLOCK/XTAL1 ПОСЛЕДОВАТЕЛЬНОЕ ПРОГРАММИРОВАНИЕ Как память программ, так и память данных могут быть запрограмми- рованы с использованием последовательной шины SPI, при этом вывод RESET должен быть подключен к земле. Последовательный интерфейс рабо- тает с выводами SCK, MOSI (вход) и MISO (выход). После подачи низкого уровня на RESET перед программированием/стиранием необходимо исполнить команду разрешения программирования. При программировании памяти данных, во внутренний алгоритм про- граммирования встроен цикл стирания (только при последовательном про- граммировании), поэтому нет необходимости в выполнении команды стира- ния памяти. Команда стирания микросхемы переводит все ячейки памяти программ и данных в состояние $FF. Флэш память программ и энергонезависимая память данных имеют от- дельное адресное пространство: $000 - $7FF для памяти программ и $000 - $07F для памяти данных. При программировании можно подавать внешнюю тактовую частоту на вывод CLOCK/XTAL1 или использовать внутренний RC генератор. Минималь- ные длительности низкого и высокого уровня сигнала SCK определены сле- дующим образом: Низкий: > 2 периодов XTAL1 Высокий: > 2 периодов XTAL1 Для программирования и проверки процессора в режиме последова- тельного программирования рекомендуется следующая последовательность действий (см. формат четырех байтовой команды в табл.13): 1. Последовательность включения питания: Подать напряжение питания между VCC и GND, при этом RESET и SCK должны быть установлены в '0'. (Если программатор не га- рантирует установки SCK в '0' при подаче питания, после того как на SCK будет установлен '0', на RESET необходимо подать положительный импульс. При внешнем тактировании подайте часто- ту от 0 до 8 MHz на вывод CLOCK/XTAL1. Если используется встроенный генератор, внешние импульсы не нужны. 2. Подождать 20 mS и разрешить последовательное программирование послав команду разрешения на вывод MOSI/PB0. (минимальные дли- тельности уровней сигнала на выводе SCK были приведены выше). 3. При подаче команды стирания (всегда при программировании памя- ти программ), подождать 10 mS, выдать по ложительный импульс на RESET и повторить шаг 2. 4. Память программ и память данных программируются по одному бай- ту выдачей адреса и данных в команде записи. Перед записью новых данных в EEPROM ячейки памяти перед записью новых данных автоматически стираются. Следующий байт можно программировать через 4mS. 5. Любую ячейку памяти можно проверить используя команду чтения, которая выдает содержимое указанной ячейки на последовательный вывод MISO/PB1. 6. По окончанию программирования вывод RESET может быть установ- лен в '1' для возобновления нормальной работы схемы. 6. Последовательность выключения питания (если необходимо) Установить CLOCK/XTAL1 в '0' Установить RESET в '1'. Отключить питание Таблица 25. Команды последовательного программирования ┌───────────┬───────────────────────────────────────┬────────────────┐ │Команда │ Формат команды │Действие │ │ ├─────────┬─────────┬─────────┬─────────┤ │ │ │Байт 1 │Байт 2 │Байт 3 │Байт 4 │ │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Разрешение │1010 1100│0101 0011│xxxx xxxx│xxxx xxxx│Разрешен.послед.│ │программир.│ │ │ │ │программирования│ │ │ │ │ │ │после установки │ │ │ │ │ │ │RESET в '0' │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Стирание │1010 1100│100x xxxx│xxxx xxxx│xxxx xxxx│Стирание памяти │ │микросх. │ │ │ │ │прогр. и данных │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Чтение па- │0010 H000│0000 00aa│bbbb bbbb│oooo oooo│Читать старший │ │мяти прогр.│ │ │ │ │или младший байт│ │ │ │ │ │ │o по адресу ab │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Запись па- │0100 H000│0000 00aa│bbbb bbbb│iiii iiii│Запись старш. │ │мяти прогр.│ │ │ │ │или младш. байта│ │ │ │ │ │ │i в память прогр│ │ │ │ │ │ │по адресу ab │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ ┌───────────┬───────────────────────────────────────┬────────────────┐ │Команда │ Формат команды │Действие │ │ ├─────────┬─────────┬─────────┬─────────┤ │ │ │Байт 1 │Байт 2 │Байт 3 │Байт 4 │ │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Чтение па- │1010 0000│0000 0000│xbbb bbbb│oooo oooo│Читать данные o │ │мяти данных│ │ │ │ │по адресу b │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Запись па- │1100 0000│0000 0000│xbbb bbbb│iiii iiii│Запись данных i │ │мяти данных│ │ │ │ │по адресу b │ ├───────────┼─────────┼─────────┼─────────┼─────────┬────────────────┤ │Чтение бит │0101 1000│xxxx xxxx│xxxx xxxx│12Sx xxxR│Чтение битов. │ │блокировки │ │ │ │ │0 - запрограмир.│ │и конфигур.│ │ │ │ │1 - незапрогр. │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Запись би- │1010 1100│111x x21x│xxxx xxxx│xxxx xxxx│Запись битов бло│ │тов блокир.│ │ │ │ │кировки. Устано-│ │ │ │ │ │ │вить 1,2=0 для │ │ │ │ │ │ │блокировки │ │ │ │ │ │ │памяти │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Запись бита│1010 1100│101x xxxR│xxxx xxxx│xxxx xxxx│Запись RCEN │ │RCEN │ │ │ │ │ │ ├───────────┼─────────┼─────────┼─────────┼─────────┼────────────────┤ │Читать код │0011 0000│xxxx xxxx│xxxx xxbb│oooo oooo│Читать код уст- │ │устройства │ │ │ │ │ройства o с ад- │ │ │ │ │ │ │реса b │ └───────────┴─────────┴─────────┴─────────┴─────────┴────────────────┘ a - старшие биты адреса; b - младшие биты адреса; o - выход данных H = '0'-младший байт, '1'-старший байт; i - вход данных; x - не использ-ся; 1 - 1-й бит блокировки; 2 - 2-й бит блокировки R - бит RCEN; S - бит SPIEN Код устройства не читается если записаны оба бита блокировки. При последовательном программировании бита RCEN изменения вступа- ют в силу после отключения/включения питания. При записи последовательных данных в процессор данные читаются по нарастающему фронту сигнала CLK. При чтении данных из процессора дан- ные читаются по спадающему фронту сигнала CLK. Максимально допустимые параметры ┌────────────────────────────────────────────────────────────────────┐ │Рабочая температура ................................. -55°С - +125°С│ │Температура хранения ................................ -65°С - +150°С│ │Напряжение на любом выводе кроме RESET .............. -1.0V - +7.0V │ │Максимальное рабочее напряжение ..................... 6.6V │ │Постоянный ток через вывод порта .................... 40.0 mA │ │Постоянный ток между VCC и GND .......................140.0 mA │ └────────────────────────────────────────────────────────────────────┘ ПРИМЕЧАНИЕ: выход параметров за пределы указанные в таблице может привести к нарушению работоспособности микросхемы. Это предельные зна- чения параметров, рабочие параметры микросхемы приведены ниже. Удержа- ние предельных значений на выводах м/сх в течение длительного времени может привести к потере работоспособности м/сх. ХАРАКТЕРИСТИКИ ПО ПОСТОЯННОМУ ТОКУ Ta = -40...+85°C, Vcc=2.7...6.0V (если не указано иначе) Мин./Тип./Макс. Входное напряжение '0' - -0.5/_/0.3Vcc V Входное напряжение '0' на выв.XTAL - -0.5/_/0.1Vcc V Входное напряжение '1'(кроме XTAL1 и RESET) - 0.6Vcc/_/Vcc+0.5 V на XTAL1 - 0.7Vcc/_/Vcc+0.5 V на RESET - 0.85Vcc/_/Vcc+0.5 V Выходное напряжение '0' (Порт B) Il=20mA, Vcc=5V - _/_/0.6 V Il=10mA, Vcc=3V - _/_/0.5 V Выходное напряжение '1' (Порт B) I0h=3mA, Vcc=5V - 4.3/_/_ V I0h=1.5mA, Vcc=3V - 2.3/_/_ V Ток утечки по входам Vcc=6V - -8/_/8 uA Подтягивающий резистор сброса - 100/_/500 кОм Подтягивающий резистор вывода порта 35/_/120 кОм Потребляемый ток: Активный режим, 3V, 4MHz - _/_/3 mA холостой ход (idle mode), 3V, 4MHz - _/1.0/1.2 mA пониженное потребление WDT включен, 3V - _/9/15 uA WDT выключен, 3V - _/1/2 uA ПРИМЕЧАНИЯ: 1. В рабочем состоянии ток через выводы должен ограничиваться следующими условиями: - Максимальный ток через вывод - 20 mA - Максимальный ток через все выводы - 80mA При превышении тока напряжение "0" может увеличиться. Увеличение тока выше приведенных пределов не гарантируется. 2. Минимальное напряжение для режима пониженного потребления - 2V ПАРАМЕТРЫ ВНЕШНЕГО ТАКТОВОГО СИГНАЛА ┌────────────────────┬─────────────────┬────────────────┬───┐ │Параметр │ AT90LS2323/43 │ AT90S2323/43 │Ед.│ │ ├───────┬─────────┼───────┬────────┼───┤ │ │ min │ max │ min │ max │ │ ├────────────────────┼───────┼─────────┼───────┼────────┼───┤ │Частота │ 0 │ 4 │ 0 │ 10 │MHz│ ├────────────────────┼───────┼─────────┼───────┼────────┼───┤ │Период │ 250 │ │ 100 │ │nS │ ├────────────────────┼───────┼─────────┼───────┼────────┼───┤ │Длительность '1' │ 0 │ │ 0 │ │nS │ ├────────────────────┼───────┼─────────┼───────┼────────┼───┤ │Длительность '0' │ 0 │ │ 0 │ │nS │ ├────────────────────┼───────┼─────────┼───────┼────────┼───┤ │Длительность фронта │ │ 1.6 │ │ 0.5 │uS │ └────────────────────┴───────┴─────────┴───────┴────────┴───┘ СПИСОК РЕГИСТРОВ ┌───────┬─────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐ │Address│Name │Bit 7 │Bit 6 │Bit 5 │Bit 4 │Bit 3 │Bit 2 │Bit 1 │Bit 0 │ │ │ │ │ │ │ │ │ │ │ │ │$3F $5F│SREG │ I │ T │ H │ S │ V │ N │ Z │ C │ │$3E $5E│ │ З А Р Е З Е Р В И Р О В А Н │ │$3D $5D│SPL │ SP7 │ SP6 │ SP5 │ SP4 │ SP3 │ SP2 │ SP1 │ SP0 │ │$3C $5C│ │ З А Р Е З Е Р В И Р О В А Н │ │$3B $5B│GIMSK│ - │INT0 │ - │ - │ - │ - │ - │ - │ │$3A $5A│GIFR │ - │INTF0 │ - │ - │ - │ - │ - │ - │ │$39 $59│TIMSK│ - │ - │ - │ - │ - │ - │TOIE0 │ - │ │$38 $58│TIFR │ - │ - │ - │ - │ - │ - │TOV0 │ - │ │$37 $57│ │ З А Р Е З Е Р В И Р О В А Н │ │$36 $56│ │ З А Р Е З Е Р В И Р О В А Н │ │$35 $55│MCUCR│ - │ - │ SE │ SM │ - │ - │ISC01 │ISC00│ │$34 $54│MCUSR│ - │ - │ - │ - │ - │ - │EXTRF │ PORF│ │$33 $53│TCCR0│ - │ - │ - │ - │ - │CS02 │CS01 │CS00 │ │$32 $52│TCNT0│ Таймер / счетчик (8 бит) │ │$31 $51│ │ З А Р Е З Е Р В И Р О В А Н │ │$30 $50│ │ З А Р Е З Е Р В И Р О В А Н │ │... ...│ │ │ - │ │ │ │ │ │ │ │$23 $43│ │ З А Р Е З Е Р В И Р О В А Н │ │$22 $42│ │ З А Р Е З Е Р В И Р О В А Н │ │$21 $41│WDTCR│ - │ - │ - │WDTOE │WDE │WDP2 │WDP1 │WDP0 │ │$20 $40│ │ З А Р Е З Е Р В И Р О В А Н │ │$1F $3F│ │ З А Р Е З Е Р В И Р О В А Н │ │$1E $3E│EEAR │ Регистр адреса энергонезависимой памяти │ │$1D $3D│EEDR │ Регистр данных энергонезависимой памяти │ │$1C $3C│EECR │ - │ - │ - │ - │ - │EEMWE │EEWE │EERE │ │$1B $3B│ │ З А Р Е З Е Р В И Р О В А Н │ │$1A $3A│ │ З А Р Е З Е Р В И Р О В А Н │ │$19 $39│ │ З А Р Е З Е Р В И Р О В А Н │ │$18 $38│PORTB│ - │ - │ - │PORTB4│PORTB3│PORTB2│PORTB1│ PORTB│ │$17 $37│DDRB │ - │ - │ - │DDB4 │DDB3 │DDB2 │DDB1 │DDB0 │ │$16 $36│PINB │ - │ - │ - │PINB4 │PINB3 │PINB2 │PINB1 │PINB0 │ │$14 $34│ │ З А Р Е З Е Р В И Р О В А Н │ │$13 $33│ │ З А Р Е З Е Р В И Р О В А Н │ │... ...│ │ З А Р Е З Е Р В И Р О В А Н │ │$00 $20│ │ З А Р Е З Е Р В И Р О В А Н │ └───────┴─────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘ Набор команд Мнемоника Операнды Описание Действие Флаги Цкл АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ КОМАНДЫ ADD Rd, Rr Сложить два регистра Rd