Logo
Перейти на сайтНачалоПомощьПоискВойтиРегистрация
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
12 Декабрь 2017, 16:48:48
Новости: SMF форум только что установлен!

Страниц: [1]
Программа формирования 3-х фазной последовательности для одометра Камаза.  (Прочитано 11638 раз)

Группа: Администратор
Постоялец
*****


Карма: +9/-0
Сообщений: 106


Управление скоростью намотки спидометра КАМАЗА.
Кнопка увеличивает скорость намотки при нажатии на неё.
Программа для MSC-31 серии   ОЭВМ однокристалка семейства 80С31 или любая другая этого.
Для  других MSC-31 нужно изменить порты-выводы (если нужно - например для AT89C2051)




ASM файл текста программы ОДОМЕТР-КАМАЗ)


 

;*******************************************************************************
; Winbond programm for W78E516.
; XTAL = 11,059 MHz
;
;*******************************************************************************
count_key  set   071h      ; счетчик (кнопки)
ledmode      set  072h      ; счетчик мигания
count_main set   06Fh      ; основной счетчик-делитель
mode       set   06Eh      ; этап фазы
count2      set   076h      ; счетчик совпавших элементов ожидаемого заголовка
;**** лампы ********
Fase_A   EQU   P0.5      ; фаза А
Fase_B   EQU   P0.6      ; фаза В
Fase_C   EQU   P0.7      ; фаза С
waitlmp EQU   P1.7      ; лампа
;**** кнопки ******* замыкающие на корпус
P4   set   0D8h
strtkey EQU   P4.3      ; кнопка
;*******************
   ORG   000H   
   LJMP   100H      ; JUMP TO MAIN PROGRAM
;****************************************
;TIMERO SERVICE VECTOR ORG = OBH
;****************************************
   ORG    000BH
   MOV    TL0,R6   ; загрузка счетчика который вызовет сдедующее
   MOV    TH0,R7   ;
;-------таблица фаз в зависимости от перем mode
;   mode=0   A=1 вкл
;   mode=1   C=0 выкл
;   mode=2   B=1 вкл
;   mode=3   A=0 выкл
;   mode=4   C=1 вкл
;   mode=5   B=0 выкл
;-------------------
   inc   mode
   mov   A,mode   
   cjne   A,#6,NoEq_6
   mov   mode,#00h
NoEq_6:   mov   A,mode      
   cjne   A,#0,NoEq_0
   clr   Fase_A      ; вкл фазу А
NoEq_0:   cjne   A,#1,NoEq_1
   setb   Fase_C      ; выкл фазу C
NoEq_1:   cjne   A,#2,NoEq_2
   clr   Fase_B      ; вкл фазу B
NoEq_2:   cjne   A,#3,NoEq_3
   setb   Fase_A      ; выкл фазу A
NoEq_3:   cjne   A,#4,NoEq_4
   clr   Fase_C      ; вкл фазу C
NoEq_4:   cjne   A,#5,NoEq_5
   setb   Fase_B      ; выкл фазу B
NoEq_5:   RETI
;****************************************
; MAIN PROGRAM
;****************************************
   ORG 100H

   MOV    R6,#0FEh    
   MOV    R7,#0FFh

Loop_Main:
   MOV   TMOD,#01H    ; TMOD = 01H, SET TIMERO A 16BIT TIMER   
   MOV    IP,#00H         ; IP = OOH
   MOV    IE,#82H    ; IE = 82H, TIMERO INTERRUPT ENABLED
   MOV    TL0,R6
   MOV    TH0,R7
   setb   TR0      ; пуск таймера T0   


wait:   mov   A,ledmode
   anl   A,#00000001b   ; маска
   jz   NoLed
   clr   waitlmp      ; зажеч ОЖИДАНИЕ СТАРТ
   ajmp   Led
NoLed:   setb   waitlmp      ; погасить ОЖИДАНИЕ СТАРТ
led:   inc   ledmode

   ;*********** пауза начало ***************************
   clr   A                                          ;*
   mov   018h,A                                     ;*
   mov   019h,A                                     ;*
   mov   01Ah,#0FFh   ; пауза=(0,28556*(256-х))сек*
pause:   inc   018h      ; кварц 11,059200 Гц       ;*
   mov   A,018h                                     ;*
   jnz   pause                                      ;*
   inc   019h                                       ;*
   mov   A,019h                                     ;*
   jnz   pause                                      ;*
   inc   01Ah                                       ;*
   mov   A,01Ah                                     ;*
   jnz   pause                                      ;*
   ;*********** пауза конец ****************************

   jb   strtkey,wait   ; ожидание нажатия СТАРТ (нажатие=0)
   ;--------------увеличение скорости (циклическое)
   mov   A,R7
   add   A,#10
   mov   R7,A



   ajmp   Loop_Main
end


-------------------------
« Последнее редактирование: 09 Август 2010, 16:49:46 от KSN »
   
Страниц: [1]


Перейти в:  

Theme © PopularFX | Based on PFX Ideas! | Scripts from iScript4u 12 Декабрь 2017, 16:48:48
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC