Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Написание текста программы на языке Ассемблер

Читайте также:
  1. CALL — Вызов подпрограммы
  2. I. Простые запросы на языке SQL
  3. III. Вкажіть номери речень які відповідають змісту текста
  4. III. Вкажіть номери речень які відповідають змісту текста.
  5. III. Вкажіть номери речень які відповідають змісту текста.
  6. III. Вкажіть номери речень які відповідають змісту текста.
  7. III. Вкажіть номери речень які відповідають змісту текста.

Исходный текст программы приведен далее:

 

;предварительные настройки

#include p16f873a.inc

__CONFIG _HS_OSC;высокочаятотный кварцевый резонатор

ORG H'000';вектор сброса

GOTO BEGIN;переход на начало основной программы

;начало основной программы

ORG H’005’

BEGIN: BSF STATUS,RP0;выбираем банк регистров 1

;задаем режимы работы параллельных портов

MOVLW B'00000001';PORTA, 7-1 выходы, PORTA, 0 вход

MOVWF TRISA;программируем регистр направления PORTA

MOVLW B'11000000';PORTC,7-6 вход, PORTC,5-0 выходы

MOVWF TRISC;программируем регистр направления PORTC

;задаем режим работы АЦП

MOVLW B'00001110';задаем аналоговый вход PORTA,0, левое выравн.

MOVWF ADCON1;программируем регистр АЦП 1

BCF STATUS,RP0;выбираем банк регистров 0

MOVLW B'01000001';задаем аналоговый вход PORTA,0 и включаем АЦП

MOVWF ADCON0;программируем регистр АЦП 0

NOP;пауза 4 мкс

NOP;|

NOP;|

NOP;|

;основная программа

M10: BSF ADCON0,GO;запуск преобразования

M20: BTFSC ADCON0,GO;ожидание окончания преобразования

GOTO M20;|

MOVLW D'26';первый порог сравнения

SUBWF ADRESH,W;сравнение результата преобразования с порогом

BTFSS STATUS,C;скачек, если выше порога

GOTO M30;переход к гашению всех светодиодов

MOVLW D'52';второй порог сравнения

SUBWF ADRESH,W;сравнение результата преобразования с порогом

BTFSS STATUS,C;скачек, если выше порога

GOTO M40;переход к вкюч. HL1 и гашению остальных светод.

MOVLW D'78';третий порог сравнения

SUBWF ADRESH,W;сравнение результата преобразования с порогом

BTFSS STATUS,C;скачек, если выше порога

GOTO M50;переход к вкюч. HL2 и гашению остальных светод.

MOVLW D'104';четвертый порог сравнения

SUBWF ADRESH,W;сравнение результата преобразования с порогом

BTFSS STATUS,C;скачек, если выше порога

GOTO M60;переход к вкюч. HL3 и гашению остальных светод.

MOVLW D'130';пятый порог сравнения

SUBWF ADRESH,W;сравнение результата преобразования с порогом

BTFSS STATUS,C;скачек, если выше порога

GOTO M70;переход к вкюч. HL4 и гашению остальных светод.

MOVLW D'156';второй порог сравнения

SUBWF ADRESH,W;сравнение результата преобразования с порогом

BTFSS STATUS,C;скачек, если выше порога

GOTO M80;переход к вкюч. HL5 и гашению остальных светод.

BCF PORTA,5;гашение HL1

CLRF PORTC;гашение HL2...HL6

BSF PORTC,5;включение HL6

GOTO M10;возврат к началу основной программы

M30: BCF PORTA,5;гашение HL1

CLRF PORTC;гашение HL2...HL6

GOTO M10;возврат к началу основной программы

M40: BSF PORTA,5;включение HL1

CLRF PORTC;гашение HL2...HL6

GOTO M10;возврат к началу основной программы

M50: BCF PORTA,5;гашение HL1

CLRF PORTC;гашение HL2...HL6

BSF PORTC,0;включение HL2

GOTO M10;возврат к началу основной программы

M60: BCF PORTA,5;гашение HL1

CLRF PORTC;гашение HL2...HL6

BSF PORTC,1;включение HL3

GOTO M10;возврат к началу основной программы

M70: BCF PORTA,5;гашение HL1

CLRF PORTC;гашение HL2...HL6

BSF PORTC,3;включение HL4

GOTO M10;возврат к началу основной программы

M80: BCF PORTA,5;гашение HL1

CLRF PORTC;гашение HL2...HL6

BSF PORTC,4;включение HL5

GOTO M10;возврат к началу основной программы

END;конец программы

 


Дата добавления: 2015-07-08; просмотров: 173 | Нарушение авторских прав


Читайте в этой же книге: Написание текста программы на языке Ассемблер | Тестирование и отладка | Разработка алгоритма программы | Написание текста программы на языке Ассемблер | Трансляция текста программы в машинные коды | Разработка алгоритма программы | Написание текста программы на языке Ассемблер | Приложение 3. Список команд PIC16 и их подробное описание | CALL — Вызов подпрограммы | CLRWDT — Сброс сторожевого таймера |
<== предыдущая страница | следующая страница ==>
Разработка алгоритма программы| Режим широтно-импульсной модуляции

mybiblioteka.su - 2015-2024 год. (0.009 сек.)