Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
IMP_GEN-2Дата добавления: 2014-11-10; просмотров: 694
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Підпрограма генератора імпульсів скважністю 2. ; Вхід: ; Вихід: світлова сигналізація на лінійці світлодіодів. ;Прапори: не використовуються ;Використані регістри: IE, IP, TCON, TMOD, А, DPTR ;Вимагає вільних байт в стеку: 2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE data 0A8h ;регістр дозволу перериваньIP data 0B8h ;регістр пріоритетів перериваньTCON data 088h ;регістр контролю перериваньTMOD data 089h ; регістр налаштування таймерів TR1 bit TCON.6 ;адресація біта TR1 регістра TCONTF1 bit TCON.7 ;адресація біта TF1 регістра TCONTL1 data 8Bh ;адреса регістра Т/С1 (молодші біти) TH1 data 8Dh ;адреса регістра Т/С1 (старші біти) ORG 0 ;стартова адреса підпрограми Jmp startstart: mov IE, #000000000b ;заборона усіх видів переривань mov IP, #000001000b ;встановлення найвищого пріоритету ;для переривань від ТС1 mov TMOD, #000010000b ;налаштування Т/С1 в режим ;16-бітного таймера mov R1, #0 mov R0, #0 ;R0 лічильник переповненьloop: setb TR1 ;запуск таймера loop1: іnc A mov DPTR,#0A001h movx @DPTR,A jb TF1,mit1 ;перехід на mit1 при переповненні Т/С1 jmp loop1mit1: clr TF1 ;очистка біта переповнення clr TR1 ;зупинка роботи Т/С1 inc R0 cjne R0,#010,loop ;перехід на startloop якщо к-сть ;переповнень дорівнює 10 jmp startloopstartloop: mov R0,#00 ;очищення регістра R0 cjne R1,#01, mit2 ; mov A,#0255 ;підпрограма формування на ЦАП mov DPTR,#0F000h ;напруги високого рівня і засвічення movx @DPTR,A ;діодів mov DPTR, #0A006h ; movx @DPTR, A ; mov R1, #0 ;запис у R1 нуля jmp loopmit2: mov A, #0 mov DPTR, #0F000h movx @DPTR, A mov DPTR, #0A006h movx @DPTR, A mov R1, #01 jmp loopEND Рис. 2.35. Підпрограма IMP_GEN-2 генератора імпульсів скважністю 2. 2.9.3. Підготовка до роботи 1) Вивчити принцип роботи таймерів/лічильників OMK MCS-51. 2) Вивчити призначення регістрів для керування та ініціалізації таймерів/лічильників. 3) Ознайомитись з принциповою електричною схемою плати розширення. 4) Розробити БСА підпрограми (Рис.2.35.) 5) Розробити БСА виконання індивідуального завдання з номером Вашої бригади (Табл.2.19). Табл.2.19. Варіанти індивідуальних завдань
|