Как да създадете lіchilnik impulsív z електронна година. Електрически импулси. Лица с паралелни трансфери

Личник импулсив- последователност цифров прикачен файл, което ще осигури избора на думата информация и микрооперацията на рахунка над нея, което ще промени стойността на числото в личника с 1. Основният параметър на lichnik е модулът rahunka. Tse максимален бройединични сигнали, които могат да бъдат защитени с личник. Личниците са посочени чрез ST (на английски брояч).

Импулсните личники класифицират

● зад модула rahunku:
. двойни десетки;
. двойно;
. с достатъчна рахунка след модул;
. zі zminnym модул rahunka;
. за посоки rahunka:
. subsumuuyuchi;
. виж;
. обратими;
● според метода на формоване на вътрешните връзки:
. с последващи преводи;
. с паралелни прехвърляния;
. с комбинирани трансфери;
. Кильцев.

Обобщавайки lichilnik impulsiv

Вижте обобщения личник (фиг. 3.67, но). Такъв будител на някои JK джапанки, сякаш за присъствие и на двата входа на логическия сигнал “1”, се смесва в момента, в който се появят отрицателни спадове на напрежението на входовете за синхронизация.

Timchasovі диаграми, scho іlustruyut работа lichilnik, посочи фиг. 3,67, б. Чрез K сі се задава модулът на рахунка (коефициентът на рахунка на импулсите). Лагерът на левия спусък се дава на най-младия ранг от двете числа, а десният - на старшия ранг. На изходната станция логическите нули се задават на всички тригери. Спусъкът на кожата променя собственото си състояние само ако има отрицателен спад на напрежението.

В този ред целият личник реализира сумата от входните импулси. От часовите диаграми може да се види, че честотата на импулса за кожно настъпление е по-ниска, по-ниска отпред, така че скин тригерът разделя честотата на входния сигнал на две, което печели над честотните интервали.

Трицифрен личилник, който можете да видите, с последващо прехвърляне

Нека да разгледаме триредовия личилник с последните прехвърляния, схемата и часовниковите диаграми на робота и неговото ръководство на фиг. 3.68.
(xtypo_quote) За брояча са налични три JK-тригера, които могат да се използват в режим T-тригер (задействане с произволен вход).(/xtypo_quote)

Логиката 1 се прилага към входа J i Преди скин тригера, пристигането на задния фронт на импулса, който се подава към входа за синхронизация, скин тригерът променя предния кадър. Първият тригер сигнализира на изходите на всички тригери, равни на 1. Причината за запазване на последните две числа 111 или десетото число 7. След края на първия импулс F първият тригер се променя: сигналът Q 1 става равен на 0 и Q 1 - 1.

Други тригери не се променят, когато обърнете лагера си. След завършване на друг импулс за синхронизация, първият тригер сменя отново своя лагер, преминавайки към лагер 1 (Q x = 0). Ще се погрижа за промяната на завоя на друг тригер (друг тригер ще промени завоя със закъснение след края на друг импулс за синхронизация, така че е необходим час за смяната, така че е време да използвате първия тригер) .

След първия импулс F личникът спасява лагера 11O. Далеч от смяната, ще стана личник, по същия начин, преди последния. Когато стана 000, личникът ще се трансформира отново в станция 111.

Трицифрен личилник с последващо прехвърляне, което се самозаписва.

Ясно е, че се вижда трицифреният самозаписващ се личник, с последващо прехвърляне (фиг. 3.69).

След преминаването на грамофона 000 на изходите на всички тригери се генерира логически 0 сигнал, който се подава през логическия елемент на ABO към входовете J i До първия тригер, след което целият тригер влиза в T- режим на задействане и спира да реагира на импулси F.

Трицифрен обратим личилник от последните прехвърляния

Нека да разгледаме триредовия обратен личник от последните прехвърляния (фиг. 3.70).

В режим на наблюдение входните сигнали се изпращат на входа на T st. Когато това се случи, към вход T s се прилага сигнал логически 0. Нека всички тригери са в станция 111. Ако вторият тригер на обратния вход предизвика сигнал логически 1. Когато друг импулс пристигне на входа T, на входа на друг тригер ще се появи логическа 1, тогава другият тригер ще промени състоянието си (първият тригер също ще се промени състоянието му, когато пристигне друг импулс). Навън, ще се променя по същия начин. В режим на сгъване личникът работи подобно на 4-цифрения субсум личник. Когато този сигнал се приложи към входа T s. На входа T се прилага логическа 0.
Като пример, нека разгледаме микросхемите на обратими драйвери (фиг. 3.71) с паралелно прехвърлената серия 155 (TTL):
● ІЕ6 - двудесети обратим личник;
● ІЕ7 — двоен реверсивен личник.

Директно му се приписва рахунка, като висновок (5 или 4) се подават импулси. Входовете 1, 9, 10, 15 са информационни, а вход 11 е избран за запис напред. Броят от 5 входа ви позволява да направите въвеждане напред с lichinik (нулиране). За когото е необходимо да се подадат допълнителни данни за въвеждане на информация и след това да се подаде импулс за въвеждане на ниско ниво за запис 11 и служителят ще запомни номера. Вход 14 - вход на Pro инсталацията при подаване на високо напрежение. За да насърчат личниците в по-голям брой редици, використите излизат от преки повтарящ се пренос(Visnovki 12 и 13 vіdpovіdno). От външен вид 12 сигналът се изпраща към входа на директната рачунка на офанзивната каскада, а от 13 до входа на обратната каскада.

Четецът на микроконтролера е лесен за повторение и избор на популярния MK PIC16F628A с дисплей на 4 седемсегментни светлинни индикатора. Има два контролни входа: +1 и -1, както и бутон Reset. Управлението на схемата на новия личник е реализирано по такъв начин, че щом бутонът за вход не бъде натиснат дълго време, акаунтът няма да може да продължи, докато не бъде разрешен да влезе. Максимален брой nadіyshli impulsіv i vіdpovіdno pokazynnya ALS - 9999 обратен реддо стойност 0000. Дисплеят на личника се записва в паметта на контролера и при включено захранване, така че данните се записват при прекъсване на тока.

Схематична диаграмареверсивен грамофон на микроконтролер PIC16F628A:

Skidannya lichilnik на дисплея и веднага ще стана памет 0 zdіysnyuєtsya бутон "Нулиране". Имайте предвид, че първият път, когато превключвателят за заден ход на микроконтролера бъде включен, индикаторът ALS може да покаже непредадена информация. Ale, с първия натиск върху бутоните информацията се нормализира. Де и як можете да спечелите схемата - да депозирате за специфични нужди, например, да я инсталирате в магазина или офиса за работник за ликвидация или като индикатор за навиването на верста. Мисля, че този личник на микроконтролера ще донесе пакости на някого.

Ако някой няма под ръка необходимия индикатор за ALS, но ако има още един (или сложи 4 други индикатора), готов съм да помогна за преправяне на другия и възстановяване на фърмуера. В архивите във форума има диаграма, платка и фърмуер за индикатори с горещ анод и горещ катод. Ръчно изработената дъска е показана на малката снимка по-долу:

Є също Нова версияфърмуер за lichnik на микроконтролера PIC16F628A. в този случай схемата и плащането на личилника са пропуснати извън количеството, но разпознаването на бутоните е променено: бутон 1 - входни импулси (например тръстиков превключвател), 2 бутон включва монитора за вход импулси, когато индикаторът светне вляво - дясната точка, бутон 3 точка. Бутон 4 - плъзгане. В този вариант схемата lichnik за микроконтролера може лесно да се постави на машината за навиване. Точно преди да навиете или навиете завоите, натиснете бутона "+" или "-" на гърба. Да живее личилник под формата на стабилизиран джерел с напрежение 5V и ток 50mA. За консумация можете да живеете на батерии. Корпусът трябва да пада в съответствие с вашето подобие и способности. Схема за налягане - Самопалкин

Електрически импулсни генератори

Личникът се нарича цифрово устройство, което осигурява броя на електрическите импулси. Коефициентът на pererakhunka на lichilnik е по-висок от минималния брой импулси, които се очакваха на вход на личник, след като застанат на изхода на личилника, започват да се повтарят. Личникът се нарича subsumuovuychim, сякаш след импулса на дермалния овъглен, цифровият код на изхода на lichnik се увеличава с единица. При личника, както виждате, след скин-импулса на входа на личника, цифровият код на изхода се променя на единица. Личниците, при които е възможно да се премине от режима на сумиране към режима на бдителност, се наричат ​​обратими.

Lіchilniki може да бъде с преден монтаж. В такива личники информацията от входовете на предната инсталация се предава към изхода на личникасигнал на специалния вход на предната инсталация. Според структурата си личниците се подразделят на последователности, паралели и паралелни поредици. Последният двоен lichnik на утвържденията в lansy последователно включваше lichilnyh тригери. При паралелните lіchilnі lіchlіnі импулсите се подават един час на входа всички чинове на личилника. Паралелните личници може да имат повече shvidkodiya в двойка с последните. Паралелно-poslіdovnі lichniki mayut високо shvidkodіyu, че голямо значение. nya coefіtsієnta pererakhunku.

Електрическите импулсни генератори се използват в TTL и в CMOS серия. Като дупе на TTL личник разглеждаме микросхемата K155ІE5. Функционалната схема на лампата K155ІE5 е насочена към малко 1,51, a, як умствено знаниена важни диаграми, малка 1,51, б. K155ІE5 всъщност може да има два личника: с коефициент на препълване две (вход C0 и изход Q 0) и с коефициент на препълване vіsim (вход C1 и изход Q 1, Q 2, Q 3). Лесно е да влезете в личник с коефициент от шестнадесет перепахунка, така че да свържете изхода Q 0 с входа C1 и да подадете импулси към входа C0. Диаграмата на Тимчасов за работата на такъв личник е насочена към малко 1,52.

На малкия 1.53 е въведена схема на свързване, която променя коефициента на смяна на личника K155ІE5. Оставете личника Q0, Q1, Q2, Q3 в зависимост от вашите коефициенти 1, 2, 4, 8. Излезте Q 1 Q 2 На малката 1.53 b е показана схема на свързване за премахване на коефициента на перерахунка десет, а на малката 153 c - дванадесет. Въпреки това, в схемите, насочени към най-малките 1.53, a - c, е възможно да се инсталират lichilniks в нулевия лагер.

На фигури 1.54, а б, личниците са показани с коефициентите на изместване на течността и сим, в които се прехвърля входът на личилната инсталация към нулевия лагер. Анализ роботизирани схеми, завъртане на фигури 1.53 - 1.54, показва, че за да се премахне дадения коефициент, препълването трябва да се превключи от входовете логически елементІ tі излезе от lichilnik, vagovі koefіtsієnti yakіh u sumі, за да даде nebhіdniy kofіtsієnt pererakhunka.

В таблица 1.3 на изходите на личника е поставена станция с коефициент на перерахунка десет след подаването на импулса на кожния червей, освен това личникът е поставен пред нулевия лагер.

Нека да разгледаме действията на серията CMOS. На малкия 1.55 беше въведено умственото обозначение на микросхемата K561ІE8, десетият рекордер с декодер. Микросхема има вход на инсталацията към нулева мелница R, вход за подаване на импулси с положителен полярност CP и вход доставка на медицински импулси с отрицателна полярност CN.

Реверберацията на личника се дължи на спадовете на импулсите с положителна полярност на входа CP, докато логическата единица е виновна за CN входа. Peremikannya на lichnik ще зависи от спадовете на импулсите с отрицателна полярност на входа CN и логическата нула на входа CP. На един от десетте изхода на личника има логична самота. Настройването на lichnik на нула се взема предвид при подаване на R логическа единица към входа. При настройване на личника в нулево състояние, на изхода "0" ще бъде зададена логическа единица, но в други изходи - логическа нула. Микросхемите K561ІE8 могат да се вмъкнат в разрядника на батерията с последното прехвърляне, след прехвърлянето на предната микросхема с CN входа на предната. На малкия 1.56 беше посочена диаграма на личник-багатор-разрядник на микросхеми K561ІE10.

Promislovistu пуска личници за електронния годишник. Нека разгледаме делата им. На малката 1.57 се индуцира умственото обозначение на микросхемата K176ІE3, а на малката 1.58 - на микросхемата K176ІE4. На микросхемите външният вид на микросхемите е показан за стандартната стойност на сегментите на индикатора, индуцирана от микросхемата 1.59. Чип вериги се тестват един по един коефициент pererakhunka. Коефициентът на прегряване на микросхемата K176IE3 е по-висок от шест, а коефициентът на прегряване на микросхемата K176IE4 е по-висок от десет. Задаване на нула lichilnikov zdiisnyuєtsya чрез прилагане на сигнал с логическо единство към входа R. Спусъкът за превключване на личника се задейства от спадането на положителните импулси на вход C. Спадът на напрежението на този изход се формира в момента на преминаване на превключването от станция 9 към станция 0. Необходимо е за нулиране на отчитането на годината за 24 години.

Когато към входа S се приложи логически нулев сигнал, логическите на изходите на lichnik ще бъдат на тези сегменти, тъй като той отразява броя на импулсите, изпратени към входа lichnik. Когато към входа се приложи логическа S единица, полярността на изходните сигнали се променя. Възможността за промяна на полярността на изходните сигнали ви позволява просто да промените веригата за свързване на цифрови индикатори.

На малкия 1.60 се индуцира верига за свързване на луминесцентен индикатор към изходите на микросхемата K176ІE4. Свързването на индикатора към изходите на микросхемата K176IE3 ще бъде подобно.

Схемите за свързване на светлинни индикатори към изходите на микросхемата 176IE4 са показани на фигури 1.61 и 1.61, б. На вход S се задава логическа нула за индикатори със светещ катод и логическа за индикатори със светещ анод.

Описание на микросхемите K176ІE5, K176IE12, K176IE13, K176IE17, K176IE18, K176ID2, K176ID3 и тяхното записване в електронната година можете да намерите в. Микросхемите K176IE12, K176IE13, K176IE17, K176IE18 позволяват напрежение от 3 до 15 St.

ЧИЛТЪР НА МИКРОКОНТРОЛЕРА

В богатите стопански постройки на техниката и автоматизацията все още се монтират механични светлини. Вонята vvazhayut kіlkіst vіdvіduvаchіv, продукти на konveєrі, намотки на стрели в ликвидация verstas тънко. Не е лесно да познавате такова механично предно стъкло наведнъж и е невъзможно да го поправите чрез доставка на резервни части. Препоръчвам да смените механичния превключвател с електронното табло на микроконтролера PIC16F628A.

Електронният личник може също да се сгъва, сякаш е йога на микросхеми от серията K176, K561. особено при необходимост реверсивна сметка. Освен това можете да насърчите клиента да използва само една микросхема - универсалния микроконтролер PIC16F628A, който можете да имате в собствен склад периферни стопански постройкии сграда виришува широк колозадачи.

Axis наскоро ме помоли човек да вдигне lіchilnik impulziv за много разряди. Погледнах светлинните индикатори, защото вонята заема много място и пести много енергия. За това, след като внедрите LCD веригата. Измервателят на микроконтролера може да замрази входните импулси до 15 знака. Две първи изхвърляния с точка. EEPROM не беше победоносен, така че не беше необходимо да си спомняме лагера на личника. Това е и функцията на връщащата рахунка - обратна. Основна диаграма на обикновен личилник на микроконтролер:

Lіchilnik zіbrany за двама други дъскиіz фолио sclotextolіtu. Креслото е насочено към малкия.

На една от платките е инсталиран LCD индикатор, на другата - 4 бутона, контролер и други детайли на личника, както и за жизнения блок. Интересувате се от плащането на тази схема lichnik Lay формат, както и фърмуер на микроконтролера може да се намери във форума. Преса материал Самопалкин.

Често, когато работите с добавка за микроконтролер, е необходимо да добавите „антропоморфен“ час - колко често свети секунда и светлина, максималният интервал за час с двойно щракване е твърде тънък. , hvilini и navit годината (страхувам се да кажа за добро...).
В същото време при микроконтролерите често се налага по един час с майката вдясно с микросекунди - периоди на импулси, анти-мозъчно изчистване и т.н.
А също и прикачени файлове, като работа без прекъсване за дълго време и navit dobu - авиационна техника, автомобили, разширения на Свердловин (може да се намери някога за непрекъсната работа от няколко дни). В тези случаи е неприемливо да се пренареждат таймери и 8-битови промени.
Бих искал да комбинирам всичко в един тониран универсално решение- майките zasіb vimiryuvannya часа s с точност до микросекунда, така че броят на дните да не се повтаря.
Защо b i n i? Дълго страдах и родих решение за 8-битови AVR микроконтролери. За когото съм задал 8-битов таймер и 4-байтова промяна. Не използвам PIC и AT89 едновременно и не съм приятел с други вградени платформи. Vtіm, yakshcho читателите ще помогнат, аз ще растат и за тях.
Perevagi - код за повторения (вече работя по него); простота в работата (няма промени за клиентската част от работата); клиентската част на кода е психически независима от платформата; за възкресяване - една операция на субсумиране (ale, честно казано, за 4-байтова стойност); не Ще построя нова сграда- Таймер за реални часове.
Nedolіk знам един - зает един такъв кратък и редовен таймер.
Статията ще бъде цикава за нас пред Pochatkivtsy - аз не виждам Америка тук.

теория

Също така мога да поръчам прикачени файлове на базата на Atmega16A с 12MHz кварц. Вземете йога таймер-lichilnik 0. Tse осем-битов таймер - трябва да зашием. Защо? Моля те:
  1. вземете 12 MHz за кварц и вземете коефициента на заместване с 8 - вземаме честотата от 1500 KHz;
  2. вземаме режима CTC (изключване при превключване на по-ниска предавка) и задаваме превключването на по-ниска предавка от 150 - изваждаме честотата на операцията за превключване до 10 KHz;
  3. в същото време се променя постепенно (нарастване на кожата с 0,1 милисекунди);
  4. ако е 32-битова стойност без знак, тогава тя няма да бъде обърната приблизително след това
    • 429496729.6 милисекунди;
    • 42949,7 секунди;
    • 7158.3 квилин;
    • 119,3 години;
    • 4,97 деб.
С други думи, по този начин създавам таймер с точност до 0,1 милисекунди на (mayzhe) 5 dB (задължително тук, вярно е, безопасно е да се каже, че истинският кварц може да ви убие - около tsedali). Освен това, за да се анализира стойността на таймер 0 в прозореца - увеличава кожата с 2/3 микросекунди - е възможно да се получи таймер с точност до 0,67 микросекунди.
Приключвам? Мени - за очите. Vykoristovuyuchi lichilnik за 0,1 милисекунди, имам в моите проекти:
  • Уважавам тривалността на светлината и паузите между тях на светлината;
  • vrakhovy timeouts pid час на работа от UART, USB;
  • Поставих всички ситуации в тестово притежание - сгъване на комбинации пространство-часовник;
  • видимо задаване на интервала за часа и часа за ADC и други сензори;
  • Проверявам си компютъра за час (ще добавя) роботи и от даден интервал предавам информация;
  • с подобрен контрол срещу отскачане до микросекунди при натискане на клавиши, анализ на импулсите в дълги опашки.
Всичко е лесно да влезете в ЕДИН ATmega16 КОНТРОЛЕР! И защо не Assembler, а кросплатформен Ci! І zhovnіshny lichnik истински час!
Не е лошо, нали?

Монтаж за AVR

Как работи всичко в AVR?
Nasampered, започваме да извикаме промяната, както аз наричам "DeciMilliSecond":
// main.h typedef unsigned long dword; // 32-битово цяло число без знак extern volatile dword dmsec; // 0.1msec // в main.c volatile dword dmsec;
Като правилно напомняне за @no-smoking, той може да бъде променен да бъде променлив, така че компилаторът да не се опитва да оптимизира.
Работя по инициализирането на промяната на функцията:
dmsec=0;
След това настроих режима на робота на таймера на 0:
//. таймер 0 - 0.1msec Timer0_Mode (TIMER_Mode_CTC | TIMER0_Clk_8); Таймер0_Cntr(149); Timer_Int(Timer0_Cmp);
Когато отида на MCU_init.h, ще разкрия всичко, което е необходимо:
// mcu_init.h #include //. TIMSK #define Timer0_Cmp(1<< 1) // совпадение таймера 0 // . TCCRn #define WGM1 (1 << 3) #define CS1 (1 << 1) // . источник сигнала для таймера 0 #define TIMER0_Clk_8 CS1 // предделитель 8 // . режим работы таймера #define TIMER_Mode_CTC WGM1 // CTC (сброс при совпадении) // . настройка таймера #define Timer_Int(Mode) TIMSK = (Mode) #define Timer0_Mode(Mode) TCCR0 = (Mode) #define Timer0_Cntr(Cntr) OCR0 = (Cntr)
Е, тогава, ако е възможно, ви позволявам да възкръснете:
#asm("SEI")
Изгубен, за да опиша възкресението. Това е по-просто, долни мустаци отпред:
#включи прекъсване Timer0_Compare (void) (++dmsec;)
Това е, таймерът на описания, налащвания и изстрелвания!

Подходящ за PIC

Axis, който ми казаха PIComani, бутва:

При пикове е лесно да се повтори след допълнителния модул Timer2. Самата в новото е подобна на функцията за обръщане за голямото.

PR2 = 75 - стойност, когато таймерът се нулира и генерира рестартиране
T2CON.T2CKPS = 2 - прескалер 1:16
T2CON.T2OUTPS = 0 - няма постскалер
T2CON.TMR2ON = вкл. - таймер за включване

IPR1.TMR2IP = 1 - отмяна на висок приоритет
PIR1.TMR2IF = изключено - нулиране на флага
PIE1.TMR2IE = включено -- активиране на повторния опит след TMR2 и PR2 усилване
INTCON.GIE = ​​on -- активиране на повторната обработка

Както можете да видите, прескалерът тук е по-голям, PR2 е по-малък от него.
Данните за настройка ще генерират прекъсване с честота от 10 kHz при системна честота 48 MHz (на таймера с Fosc/4) - стандартната честота за USB Full Speed.

Vikoristannya

Кодът за клиента на този таймер трябва да бъде междуплатформен (така че не натискайте стойността на таймера на 0 в AVR).
Размяна на код на фрагмент на ос през USB:
#include "main.h" // Променете dmsec тук, next_USB_timeout #include "FT245R.h" // Ето функциите на USB модула #include "..\Protocol.h" // Ето протокол за обмен на микроконтролер - компютър / / * * // ** Анализ на USB пакети // ** void AnalyzeUSB (void) ( #define RECEIVE_BYTE(B) докато (!FT245R_IsToRead)\ ( if (dmsec > end_analyze) return; )\ B = FT245_ReadByte (); #define RECEIVE_WORD (W) // подобно за 2 байта #define RECEIVE_DWORD(W) // подобно за 4 байта dword end_analyze, d;NewAnalyze: if (!FT245R_IsToRead) // няма пакети? // изчакване за глобален обмен RECEIVE_BYTE (b) // превключвател на заглавката на пакета (b) ( случай SetFullState: RECEIVE_DWORD (d); // четене на думата is_initialized = 1; // ; прекъсване; ) // превключвател (пакет) отидете на NewAnalyze; #undef RECEIVE_BYTE // по избор #define #undef RECEIVE_WORD
Функциите на макроса RECEIVE_BYTE, RECEIVE_WORD, RECEIVE_DWORD изпълняват процедури за четене с фиксирани часове за дадена фаза на обмен. В резултат на това, ако виси от друга страна, микроконтролерът не преминава в хибернация. Вземете уважението си - WatchDog няма нужда от него! І всички завдяки промяна/константа max_USB_timeout, така че времето за изчакване е зададено с точност до 0,1 милисекунди.
Ето как се реализира анализът на „тишината в ефир“ на промененото next_USB_timeout. Това позволява на микроконтролера 1) да разпознае, че компютърът е знаел нещо, 2) сякаш иска да го сигнализира (имам леко „простете“ в ума си). Константата/промяната MaxSilence_PC_DEV ви позволява да променяте значението на "тишина" в най-широките диапазони - от част от милисекунда до няколко deb.
По същия начин се реализират всички останали моменти.
Ако трябва да промените броя на микросекунди, тогава има функция за съвпадение:
#define GetUSec(A,B) ( #asm ("CLI"); A = dmsec; B = TCNT0; #asm ("SEI"); ) // ** // ** 2/3usec // ** dword Разлика (dword prev_dmsec, byte prev_usec) (dword cur_dmsec; byte cur_usec; ​​dword dif; // . Проверка на текущия час GetUSec (cur_dmsec, cur_usec); // Изчислете разликата dif = cur_dms<<= 8; if (cur_usec < prev_usec) dif += 255 + (dword) cur_usec - prev_usec; else dif += cur_usec - prev_usec; return dif; }
Функциите се предават напред час - напред стойност на dmsec и таймер 0.
На гърба на макроса GetUSec стойността на dmsec не беше запазена по време на копирането. Копирам текущия час.
Дадохме почасовата разлика на формата от 2/3 микросекунди с фиксирано пренареждане.
Този завой около час.
И ние го обърнахме към страхотния if, за да контролираме анти-отскок и други записи. Просто не забравяйте да рестартирате, когато текущото време е настроено на час - или по-скоро използвайте макроса GetUSec.

Резултати

Целият таймер ми се стори като прекомерно решение. Мисля, че ще ти трябва вино. И аз застосувам йога в такива проекти:
  • Табло за оградни ситуации. Това е солидно плащане за pidlog за pvmeter с три контролера - ATmega128 като централен и ATmega64 като два допълнителни (дясно и отляво). Между трите контролера и техните компоненти няма галванична връзка - живеене на базата на йонни истории, комуникация чрез връзки на оптрони. Централният контролер зарежда групи от някои йонистори и живее междувременно, нарушавайки страните на други йонистори. Тук беше възможно да се създаде богат алгоритъм за превключване на всичко за тях, за да се сведе до минимум взаимното свързване. Zokrema, има 8 релета за благословения робот - тук използват таймери за 3.3ms (гарантиране на час активиране на релето). Е, добре е, нарушителите да управляват 10 релета също са от петстотин мултиплексора. Цялото състояние работи с точно зададени характеристики на часовника (точност до 1 ms, максимално време - 6 секунди). Е, съжалявам, банално изтичане на USB, UART.
  • Сензор за дълбочина. Тук се кълна още една задача (проект при робота). Има два проводника (багатометри), които задават положението "надолу с 1 см" и "надолу с 1 см". Методи за насочване на безличното. При кожни случаи комбинации от импулси. За помощта на този таймер назначавам лента, доблестта на постоянен импулс. От компютъра се задава максимално допустимия час за бъркотията (тук 10 микросекунди, започва), изчистване против запояване, минимална/максимална продължителност на импулса. Ами и є режимът на зареждане - сензорът се превръща в логически анализатор. Tse ви позволява да регулирате работата на линията и да коригирате коефициентите. Е, ще подновя таймаута, светлодиоди.
  • Сензор за аналогов сигнал. Банален 8-канален ADC. Тук използвам таймер за використ за показване на необходимите паузи.
Съвременните хабраползувачи от други платформи могат да променят кода за инициализация на първоначалния таймер, както и правилата за достъп до новия - ще го добавя тук. Възможно е за други платформи да се наложи добавяне на други часове. Но във всеки случай може да бъде на границите на няколко микросекунди за самия таймер и кратно на 100 микросекунди за чейнджъра. Бо, както изглеждаше, понякога една милисекунда не се появява. Операционни системи (ОС)