;########################################################: ;# Подпрограмма инициализация портов и таймера #: ;########################################################: init: ldr #a,40h ;сегмент источник таймера ldr #b,18h ;сегмент регистров конфигурации портов ldr #c,60h ;сегмент индикация ldr #d,0 ;сегмент порты ;формирование конфигурации порта A movl b1,00111011b ;заполнение регистра управления порта для ;формирования конфигурации порта в ;автоинкрементном режиме movl b1,00000111b ;3-ножки на выход -1 вход -0 movl b1,00000111b ;4-активный выход -1 открытый сток -0 movl b1,00011000b ;5-подключение резисторов -1 movl b1,00010000b ;6-разрешение прерывания от / -1 movl b1,00010000b ;7-разрешение прерывания от \ -1 ;формирование конфигурации порта B movl b2,00011011b ;заполнение регистра управления порта для ;формирования конфигурации порта в ;автоинкрементном режиме movl b2,11111111b ;3-ножки на выход -1 вход -0 movl b2,11111111b ;4-активный выход -1 открытый сток -0 movl b2,0 ;5-подключение резисторов -1 movl b2,0 ;6-разрешение прерывания от / -1 movl b2,0 ;7-разрешение прерывания от \ -1 ;формирование конфигурации таймера movl d4,00010000b ;Работа с Регистром Конфигурации movl d5,01001101b ;0+16 бит + / + внутр. вх.+ пред. + на 64 movl d4,00000000b ;Работа с Мл.Байтом Регистра Интервала movl d5,0 ;значение младшего байта интервала movl d4,00000100b ;Работа со Ст.Байтом Регистра Интервала movl d5,0 ;значение старшего байта регистра интервала ;формирование конфигурации сторжевого таймера movl b5,0aah ;разрешение записи в регистр movl b5,01010110b ;0+старт+0+обнул.+0+такт от проц.+1/16 ;начальная загрузка movl a0,0eah ;2794 movl a1,0ah ;(обороты 820) movl a2,0f3h ;1779 movl a3,06h ;(угол 55) clr a4 ; clr a5 ; clr a6 ; clr a7 ; movl c1,040h ;- movl c2,040h ;- movl c4,040h ;- clr c7 rts