Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.04.2024
Сообщений: 3
1

[PIC16F837A] Заполнить РОН банка № 2 увеличив. нечетными двоично-десятичн. числами с N0=d`00`

25.04.2024, 08:54. Показов 409. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
.Всем приветЗадали:Заполнить РОН банка № 2 увеличив. нечетными двоично-десятичн. числами с N0=d`00`, в EEPROM записать попарное «исключающее ИЛИ» чисел из РОН банка № 0.Возникает бесконечный цикл и как исправить не знаю.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
INCLUDE <p16f877a.inc>
    __CONFIG _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF
    ORG 0x00
    GOTO MAIN
MAIN
    BANKSEL TRISB
    CLRF TRISB ; RB как выход
    MOVLW 0x00 ; N0 = d`00`
    MOVWF N0
LOOP1
    INCF N0, F ; инкремент N0
    BTFSS STATUS, Z ; если N0 = 0xff, то выход из цикла
    GOTO LOOP1
    BANKSEL EEADR
    CLRF EEADR ; адрес EEPROM = 0x00
LOOP2
    MOVLW 0x00 ; i = 0
    MOVWF i
LOOP3
    BANKSEL PORTB ; вывод числа из РОН банка №2
    MOVF N0, W
    ANDLW B'00001111' ; оставляем только младшие 4 бита
    IORWF PORTB, F
    BANKSEL EEDATA ; считываем из EEPROM значение по адресу i
    CLRF EEDATA
    BSF STATUS, RP0
    BSF EECON1, RD
    BCF STATUS, RP0
    COMF EEDATA, F ; инвертируем прочитанное значение
    BANKSEL PORTA ; считываем число из РОН банка №0
    MOVF i, W
    ANDLW B'00001111' ; оставляем только младшие 4 бита
    MOVWF PORTA
    COMF PORTA, F ; инвертируем прочитанное значение
    XORWF EEDATA, F ; «исключающее ИЛИ» чисел из РОН банка №0 и EEPROM
    BANKSEL EEADR ; запись результата в EEPROM по адресу i
    MOVWF EEDATA
    BSF STATUS, RP0
    BSF EECON1, WR
    BCF STATUS, RP0
    INCF i, F ; инкремент i
    MOVLW 0x10 ; если i = 16, то выход из цикла
    SUBWF i, W
    BTFSS STATUS, Z
    GOTO LOOP3
    GOTO LOOP1 ; продолжаем с следующим значением N0
    N0 EQU 0x20 ; переменная для хранения значения N0
    i EQU 0x21 ; переменная для хранения счетчика i
END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2024, 08:54
Ответы с готовыми решениями:

[PIC16F837A] Заполнить РОН банка номер 1 кадрами двоично-десятичных числе от 15 до 0
Всем привет. Задали заполнить РОН банка номер 1 кадрами двоично-десятичных числе от 15 до 0. У меня...

Двоично-десятичное представление информации в памяти компьютера. Операции с двоично-десятичными числами»
Дано: A=2839^10 и B=2810^10. Найти число C^2-10 = A^2-10 + B^2-10. не могу понять как сделать...

Создать два одномерных массива. Заполнить первый четными случайными числами, а второй нечетными случайными числами. Реал
Создать два одномерных массива. Заполнить первый четными случайными числами, а второй нечетными...

Заполнить матрицу нечетными числами
Нужно создать массив двумерный массив, ввести с клавиатуры число строк и столбцов, и заполнить...

Заполнить массив нечетными числами 1,3,5,7...
Составить программму заполнения массива числами:1,3,5,7,9,11,13,15,17,19

1
Модератор
Эксперт по электронике
8946 / 6712 / 921
Регистрация: 14.02.2011
Сообщений: 23,681
10.08.2024, 21:54 2
Цитата Сообщение от MAKozin Посмотреть сообщение
банка № 2 увеличив. нечетными двоично-десятичн. числами с N0=d`00`
и до?
Цитата Сообщение от MAKozin Посмотреть сообщение
Возникает бесконечный цикл и как исправить не знаю.
разумеется предел должен, быть до скольки мы должны эти бесконечные число увеличивать?
0
10.08.2024, 21:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2024, 21:54
Помогаю со студенческими работами здесь

Заполнить массив нечётными числами
Добрый день! Как заполнить массив нечётными числами? Если самому вводить, то результат...

Заполнить массив нечётными числами
Создать одномерный массив размером k, целое число k задается пользователем, заполнить нечетными...

Заполнить массив нечетными числами от 5 до 100
Заполнить массив нечетными числами от 5 до 100

Заполнить массив последовательными нечетными числами
Заполнить массив Последовательными нечетными числами начиная с единицы.

Заполнить массив из 50-ти элементов нечётными числами от 1 до 99
Объясните максимально подробно,только начал изучать массивы и хочу полностью разобрать именно эту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru