Предыдущая Следующая

76

Глава 3

Листинг 3.1. Окончание

.D3 , content>А, , , , , , ;Код движения против часовой стрелки .org 0 prog2:

.DB , , , , , , content>А, . EXIT

Листинг 3.2. Шестнадцатеричный чод управления шаговым двигателем

:020000020000FC

:1000000013C000000000000000000000000000001D :080010000000000000000000Е8

:100028000000552757BB58BB55275FE057BB5527DE :100038005BBB5ABB5FED5DBF000055274 427 8 8278F :10004800992700272227332766271AD0000064D073 :100058000000A894C8 94 64 3031F0000 05CF40000FB :10006800B4DOOOOOOBC000004FD000007ADOOOOODO :1000780005C0000000Q040D0000 08DD00000DCCF9B :1000880000000000552700005430C8F4882780EC9D :1000980087В94427882745ЕС46В9000000000000СЕ :1000А8000000000000000000000044В185В12 42ЕСВ :1000B800382E4 22C532C642C7 52C5395E4CF0 00019 :1000C800882 4 8 894420D981C4 40D981C4 60D981C51 :1000D8008894969447959694479599248894830D87 :1000E800981C850D981C870D981C88949694879564 :1000F8009694879500000895000051E0851BA894 08 :100108005FEF4 51BA8 940895000053E0851BA89451 :100118005FEF451BA89408950000982F042FA8941A :10012800923009F034F4000 0C894003114F400004F :1001380003C0000064E013C00000982F042FA894A7 :10014 80 0C8 94 91304CF40000A894C8 94063F2 4F45 5 :100158000000000068E003C00000662700000000FF :100168000895000055275AE0BB27A8 94C89400003A :10017800B8304 9F0F4E0E0E0EB0FC8952 02D2 8BB3B :100188002AD0B395F4CF000 0BB27A8945A950AF05B :10019800EECF00000895000055275AE0BB27A89429 :1001A800C8940000B83049F0F4EOEOE4EBOFC895DB :1001B800302D38BB10D0B395F4CF0000BB27A894DE :1001C8005A950AF0EECF0000089500005527573B56 : 1001D80058BB000008950000A89577271: 271ГЕА4В :1001E800803019F471E0780F00000000762E :0СГ>."3 : 1001F800403019F4AlE0A40F00000000A42F0Oi,r_'7 i : 10020800A89500001A95F2F7A894AA95C: F7AS94" ~. : 0 60218007A9569F70895D4 :0804 000 0080A020 6040 5010 9C7 :0 80440000901050406020A0887 :00000001FF

Управление шаговым двигателем

77

В программе не используются прерывания, поэтому вектор прерывания пропускается и работа начинается с метки Reset. В микроконтроллере tiny26, в отличие от других устройство семейства tiny, АЦП содержит только регистры ADSR, ADMUX, ADCH и ADCL. Регистр ADMUX конфигурируется на источник опорного напряжения от вывода напряжения питания. Поскольку питание схемы — не стабилизированное, то с переменного резистора так же снимается нестабилизированное напряжение управления.

Мультиплексор АЦП коммутируется на ADC0 (вывод микроконтроллера РАО). Для нормального преобразования регистр ADSR конфигурируется на деление тактовой частоты 4,194 МГц на 32. Выполняется одиночное преобразование (это необходимо для того, чтобы данные успели пройти вычисления среднего арифметического). В результате четырех считываний и выполнения среднего арифметического получается надежный, взвешенный результат.

В процессе аналого-цифрового преобразования двоичное число D вычисляется по уравнению D = 1 024 * Ubx / Uref. После считывания и обработки аналоговых данных данные необходимо сместить так, чтобы ноль (состояние "Стоп") оказался по середине максимального значения. Для этого максимальные данные делят пополам, и в области половины выделяют значение ±10 единиц АЦП.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz