Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Цифровий реєстратор аварійних процесів

Реферат Цифровий реєстратор аварійних процесів





rr: Reset Buf_cntr: Reset Buf_err_entr: Reset Buf2_full: Reset Buf_cntr

очистка змінних=Second2: Minute=Minute2: Hour=Hour2: Dat=Dat2: Dat_weak=Dat_weak2: Month=Month2: Year=Year2: Leap=Leap2:

- завантаження значення часу з незалежної пам'яті.

Dat_inc=Dat_inc2: Hour_inc=Hour_inc2: _dec=Dat_dec2: Hour_dec=Hour_dec2=Year Or 2000: Month=Month Or 1:=Dat Or 1: Dat=Dat Or 1: Leap=Leap And 1Year gt; 2 099 Then: Set Rs_time_err: Year=2000: End If: Month gt; 12 Then: Set Rs_time_err: Month=0: End IfDat gt; 32 Then: Set Rs_time_err: Dat=0: End If: Hour gt; 23 Then: Set Rs_time_err: Hour=23: End IfMinute gt; 59 Then: Set Rs_time_err: Minute=59: If: If Dat_weak gt; 7 Then: Dat_weak=0: Set Rs_time_err: End If_num=Osc_num2: P_num=P_num2: Fl_err_cntr=Fl_err_cntr2

- перевірка значення часу незалежній пам'яті і установка оптимального значення у разі помилки.

Lcd_size=Lcd_size2

завантаження розміру РКІ з незалежної пам'яті

Config Timer0=Timer, Async=On, Prescale=32

- ініціалізація таймера-лічильника 0 в режимі Тамера, асинхронний режим, коефіцієнт Поділу=32.

Config Com1=115200, Synchrone=0, Parity=Even, Stopbits=1, Databits=8, Clockpol=0

- ініціалізація УСАПП на швидкість 115200 біт сек, з бітом контролю парності передачі даних.

Config Lcdpin=Pin, Db4=Porta.2, Db5=Porta.3, Db6=Porta.4, Db7=Porta.5, E=Porta.1, Rs=Porta.0

ініціалізація шини РКІ діплея.Minute; ; Hour; ; Dat; ; Month; ; Year; ; Rs_time_err

- друк значення годин і біта контролю помилки.

Config Pind.0=Input: Set Portd.0 -настройка виводу порту.

On Int0 Int0_int: Enable Int0 - включення зовнішнього переривання

Enable Interrupts: - глобальне дозвіл переривань

Config Watchdog=512: Start Watchdog: -ініціалізація сторожового таймера

On Urxc Rec_isr: Enable Urxc- включення зовнішнього переривання УСАПП.

Select Case Lcd_size1: Config Lcd=8 * 22: Config Lcd=12 * 13: Config Lcd=12 * 24: Config Lcd=16 * 15: Config Lcd=16 * 26: Config Lcd=16 * 47: Config Lcd=20 * 28: Config Lcd=20 * 49: Config Lcd=24 * 210: 'Config Lcd=24 * 411: Config Lcd=40 * 212: Config Lcd=40 * 4Else: Config Lcd=16 * 2 Select:

Ініціалізазація розміру РКІ.

Do -початок основного (головного) циклу програми

If Wdr_ovr=1 Then: Set Cycle_err: Print Ip; ; 128; ; 5; Cycle_err If: Set Wdr_ovr- відправлення звіту по УСАПП про помилку виконання програми

If Buf2_full=1 ThenCase Rs_buf01: Goto Set_time2: Goto Read_time10: Goto Config_lcd14: Goto Osc_commElse: Ip; ; Chr (139); ; 3; Comnd_not_supp -отчёт про непідтримуваної программеSelect:

- Цикл розгалуження виконання підпрограм залежно від номера.

:

Reset Buf2_full- якщо команда виконана, то скинути біт.

End ifNew_sec=1 Then: If New_min=1 Then: Print Minute; Raquo; ; Hour; Raquo; ; Dat; " ; Dat_weak; ; Month; "; Year -ежемінутная друк дати і времені.New_sec: Reset New_min: End If: End If_out=Pwm_out + 1: If Pwm_out gt; 230 Then: Pwm_out=10: End If Compare1a=A Compare1b=A Pwm1a=A Pwm1b=A: - регулювання шпаруватості ШІМ по Пилкоподібні закону_intr=Tifr: Tim2_intr=Tim2_intr And 1 - перевірка прапорів переполненіяTim2_intr=0 Then: Goto 2: Else: Tifr=Tifr Or 1: End IfTactTact gt; 3 Then=0: Incr Second: Second2=Second: Set New_secSecond lt; 60 Then: Goto 2: Else=0: Incr Minute: Minute2=Minute: Set New_minMinute gt; 59 Then=0: Incr Hour: Hour2=HourMonth_inc=Month ThenDat=Dat_inc ThenHour=Hour_inc ThenHourIfIfIfMonth_dec=Month ThenDat=Dat_dec ThenHour=Hour_dec ThenHourIfIfIfHour gt; 23 Then=0: Incr Dat: Dat2=Dat: Incr Dat_weak: If Dat_weak gt; 7 ThenDat_weak: Dat_weak2=Dat_weakMonth=2 Then_d=Year Mod 4IfYear_d=0 Then: Leap=1: Leap2=Leap: Maxdat=Lookup (month, Dta1) IfDat lt; 27 Then: Goto 2If: Maxdat_l=Maxdat + LeapDat gt; Maxdat_l Then: Dat=1: Incr Month: Month2=MonthIfMonth gt; 12 Then: Month=1: Incr Year: IfIfIfIfIfIf

цикл годинника реального часу

: Wdr_ovr: Reset Watchdog: Waitms 1 -сброс сторожового таймера.-кінець основного (головного) циклу програми

Rec_isr: -мітки вектора переривання від УСАПП

Select Case Buf_cntr0: Rs_pack_b0=Udr1: Rs_pack_b1=Udr2: Rs_pack_b2=Udr3: Rs_pack_b3=Udr4: Rs_pack_b4=Udr5: Rs_pack_b5=Udr6: Rs_pack_b6=Udr7: Rs_pack_b7=...


Назад | сторінка 21 з 22 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка системи реального часу у вигляді планувальника виконання завдань
  • Реферат на тему: Емпіризм і раціоналізм філософії Нового часу. Значення чуттєвого та раціон ...
  • Реферат на тему: Створення програми для обчислення значення функції
  • Реферат на тему: Поняття, види й значення помилки в кримінальному праві
  • Реферат на тему: Організація зовнішнього документообігу та контролю виконання документів в д ...