Форум программистов, компьютерный форум, киберфорум
Микропроцессоры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 6

Модель реверсивного счетчика числа импульсов

06.12.2012, 01:59. Показов 3178. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Старший разряд входного порта- вход инкремента,
младший -декремента,
2-й разряд входного порта- вход сброс счетчика.
помогите с программой, пожалуйста. (микропроцессор КР580ВМ80)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2012, 01:59
Ответы с готовыми решениями:

Моделирование 4-х разрядного реверсивного счётчика в Proteus
Параллельный четырехразрядный реверсивный счетчик на серийных микросхемах JK-триггеров столкнулась с сложность собирания схемы в протеус...

Синтез схемы синхронного реверсивного счетчика Ксч=8
Скажите пожалуйста, подходит ли схема под описание: "Используя необходимое количество любых логических элементов и синхронных JK-триггеров...

Вопрос по схеме счетчика импульсов
Добрый день уважаемые электротехники, помогите разобраться с схемой счетчика импульсов. В текстовом документе описана структура счетчика,...

11
35 / 35 / 1
Регистрация: 07.02.2012
Сообщений: 79
08.12.2012, 10:37
А в чем проблема? С алгоритмом или с его реализацией на ассемблере?

Алгоритм может быть такой:
Инициализируем переменные:
-обнуляем счетчик;
-фиксируем состояние сигналов инкремента и декремента для определения их изменений;
Организуем рабочий цикл
- читаем порт
- если сигнал сброса активен -> счетчик = 0
- иначе, выделяем изменение сигналов счёта из 0 в 1 (если в задании другое условие – надо поправить)
-- если есть изменение сигнала инкремента -> счетчик = счетчик + 1
-- если есть изменение сигнала декремента -> счетчик = счетчик - 1
- выводим значение счетчика


Реализация алгоритма:
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
    MVI H,0 ;выбираем в качестве счетчика регистр H (счетчик будет 8-ми разрядный), обнуляем его
    IN  inport  ;читаем значение входного порта в аккумулятор (inport надо заменить на его адрес)
    ANI 80h ;выделяем старший разряд (сигнал ИНКРЕМЕНТ)
    MOV D,A ;сохраняем в регистре D
    ANI 01h ;выделяем младший разряд (сигналы ДЕКРЕМЕНТ)
    MOV E,A ;сохраняем в регистре E
loop:           ;начинаем бесконечный цикл
    ;проверяем сигнал СБРОС
    IN  inport
    ANI 04h ;выделяем второй разряд – сигнал СБРОС (4 - если младший разряд нулевой)
    JNZ no_rst  ;переход, если сигнал СБРОС не «0» (активный сигнал = 0)
    ; сигнал СБРОС - активный
    MVI H,0 ;обнуляем счётчик
    JMP out_cnt
no_rst:         ; сигнал СБРОС – неактивный
    ;проверяем сигнал ИНКРЕМЕНТ
    IN  inport
    ANI 80h ;выделяем сигнал ИНКРЕМЕНТ
    CMP D   ;сравниваем прежнее и теперешнее значение сигнала ИНКРЕМЕНТ
    JNZ tst_dcr ;изменений нет
    ;есть изменение
    MOV D,A ;сохраняем в регистре D для проверки в следующем цикле
    CMP A   ;проверяем теперешнее значение сигнала ИНКРЕМЕНТ
    JZ  tst_dcr ; сигнал = 0, значит было изменение 1-> 0
    ;сигнал = 1, значит было изменение 0->1
    INR H   ;увеличиваем счетчик
tst_dcr: ;проверяем сигнал ДЕКРЕМЕНТ
    IN  inport
    ANI 01h ;выделяем сигнал ДЕКРЕМЕНТ
    CMP E   ;сравниваем прежнее и теперешнее значение сигнала ДЕКРЕМЕНТ
    JNZ out_cnt;изменений нет
    ;есть изменение
    MOV E,A ;сохраняем в регистре D для проверки в следующем цикле
    CMP A   ;проверяем теперешнее значение сигнала ДЕКРЕМЕНТ
    JZ  out_cnt; сигнал = 0, значит было изменение 1-> 0
    ;сигнал = 1, значит было изменение 0->1
    DCR H   ;уменьшаем счетчик
out_cnt:    ;выводим новое значение счетчика
    MOV A,H
    OUT cnt_port
    JMP loop    ;начинаем цикл сначала
Изменить значение активных сигналов, если надо, надеюсь, сможешь сам.
Могут быть ошибки. На ассемблере 8080 писал лет 25 назад.
1
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
08.12.2012, 10:43
Цитата Сообщение от stud10-2 Посмотреть сообщение
(микропроцессор КР580ВМ80)
В музей


Цитата Сообщение от stud10-2 Посмотреть сообщение
Старший разряд входного порта- вход инкремента,
младший -декремента,
насколько я помню у него и портов то нет(есть шина данных и шина адреса)
всегда обвязку ставили ВВ55 параллельный порт ВВ51 последовательный
да и памяти нет внешняя нужна (на 6 регистрах далеко не уедешь)

перейди хотя бы на 80х51
0
08.12.2012, 10:46

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
перейди хотя бы на 80х51
это учебное задание из далекого советского прошлого...
да и 80х51 древность еще та...

0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
08.12.2012, 10:58
Цитата Сообщение от magirus Посмотреть сообщение
да и 80х51 древность еще та...
не скажи сама разработка да середина 80х
но ядро до сих пор используется (удачное вышло)
у Cypress (AN2131QC AN2131SC) лично не работал так даташиты
у Atmel At89c(s)51 At89c(s)52 At89c5131(USB) работал лично( хотя им тоже лет 10, но производство не прекращают)

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от magirus Посмотреть сообщение
это учебное задание из далекого советского прошлого...
а че тогда MARK 3 не изучаем или БАСМ
у 8080 в отличиии от 8086 мало того что опкоды разные так и синтаксис ассемблера отличается

0
35 / 35 / 1
Регистрация: 07.02.2012
Сообщений: 79
08.12.2012, 11:02
Какая разница на чём изучать основы. Матчасть в учебных заведениях наверно старая, под неё и задания дают.
При нынешнем состоянии надо ARM заниматься, есть недорогие "киты". Но надо менять методички, курсы, лабы.
Да и преподавателям надо готовится.
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
08.12.2012, 11:07

Не по теме:

я вот что подумал
А может засандалить "Радио 86 РК" или какой "Специалист" а еще круче "Синклер" на ATMega
память ОЗУ ПЗУ встроенная есть, порты есть, драйвер клавиатуры есть
осталось только на телевизор вывести и программы перекодировать
Ностальгия, блин:)



Добавлено через 1 минуту
Цитата Сообщение от bill_vs Посмотреть сообщение
Какая разница на чём изучать основы.
Большая!
зачем изучать то что в жизни не пригодится
Ассемблер(а равно и схемотехника) 8080 отличается от 8086(88)

Добавлено через 2 минуты
Цитата Сообщение от bill_vs Посмотреть сообщение
Матчасть в учебных заведениях наверно старая,
Грозоотметчик Попова случайно не проходите?
Нашли отмазку своей лени
За месяц (это если очень лениво) любой стенд спаять можно
0
35 / 35 / 1
Регистрация: 07.02.2012
Сообщений: 79
08.12.2012, 11:19
Давайте учить русский по Достоевскому (Пелевену, ...)?

А у ARM не такая как у 8086. AVR и PIC - две большие разницы.

Труден только первый язык (микропроцессор)!

Добавлено через 7 минут
Уважаемый ValeryS, Вы наверно перепутали меня с ТС. Я к нынешним учебным заведения никакого отношения не имею.
Но могу как инженер, а не радиолюбитель, представляю проблемы замены оборудования.

По поводу грозоотметчика: часть приходящих к нам ребят не знают, как работает детекторный приёмник. И, хотя мы не приёмники делаем, это им в минус как инженерам-электронщикам!
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
08.12.2012, 11:30
Цитата Сообщение от bill_vs Посмотреть сообщение
Давайте учить русский по Достоевскому (Пелевену, ...)?
давайте
а потом выйдя на улицу поймем что люди говорят на совершенно другом языке
Зачем учить чтобы потом переучиваться(это гораздо сложнее)
как у Райкина
"Забудьте индукцию, забудьте дедукцию и давайте гнать продукцию"

Цитата Сообщение от bill_vs Посмотреть сообщение
Уважаемый ValeryS, Вы наверно перепутали меня с ТС.
Не! Не перепутал
вот это вот

Цитата Сообщение от ValeryS Посмотреть сообщение
Грозоотметчик Попова случайно не проходите?
это не конкретный вопрос к конкретному человеку
Это крик души
потому что

Цитата Сообщение от bill_vs Посмотреть сообщение
часть приходящих к нам ребят не знают, как работает детекторный приёмник.
Цитата Сообщение от bill_vs Посмотреть сообщение
Но надо менять методички, курсы, лабы.
Да и преподавателям надо готовится.
а это сложно поэтому и

Цитата Сообщение от ValeryS Посмотреть сообщение
Нашли отмазку своей лени
так что конкретно против bill_vs, ничего не имею
даже респект
помнишь еще ассемблер 8080

Добавлено через 3 минуты
Кстати к твоей программе
поскольку процессор не имеет портов (они на ВВ55) то необходимо еще произвести инициализацию микросхемы
(настроить порты )
правда как делать это я не помню, надо справочники поднимать
0
08.12.2012, 11:39

Не по теме:

вот дискуссия то развилась... давайте ТС дождемся...

0
35 / 35 / 1
Регистрация: 07.02.2012
Сообщений: 79
08.12.2012, 12:05
Цитата Сообщение от ValeryS Посмотреть сообщение
давайте
Зачем учить чтобы потом переучиваться(это гораздо сложнее)
8080 это основы, изучив его можно идти дальше. В первом классе язык учат по букварю, а не по взрослым книгам!

Через пять лет будет другие мк. Мне, как руководителю, почти всё равно, с чего учить молодых ребят используемому в данный момент мк, главное - начальные знания и желание.

Конечно хорошо, если бы оборудование было современным. Моя дочь учится на первом курсе СПбИТМО. Не бедный ВУЗ, но оборудование в физической лаборатории, судя по её рассказам, не самое лучшее.
Судя по ветке "Микропроцессоры", оборудования на 580 серии много. Зато у нас АТЭС, Сочи и Сколково.

Цитата Сообщение от ValeryS Посмотреть сообщение
помнишь еще ассемблер 8080
Конечно нет. Но есть интернет и знания.

Цитата Сообщение от ValeryS Посмотреть сообщение
Кстати к твоей программе
поскольку процессор не имеет портов (они на ВВ55) то необходимо еще произвести инициализацию микросхемы
(настроить порты )
Настраивать порты надо (почти всегда) даже если они в мк. Но это уж пусть сделает ТС.
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 6
18.12.2012, 01:58  [ТС]
Спасибо Вам!
В итоге подредактировав получилось так ):
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
MVI H, 00
IN 20
ANI 80
MOV D, A
IN 20
ANI 01
MOV E, A
LOOP: IN 20
ANI 04
JZ L2
MVI H,00
JMP L1
L2: IN 20
ANI 80
CMP D
JZ L3
MOV D,A
ORA A
JZ L3
INR H
L3: IN 20
ANI 01
CMP E
JZ L1
MOV E,A
ORA A
JZ L1
DCR H
L1: MOV A,H
OUT 30
JMP LOOP
работает как часики)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.12.2012, 01:58
Помогаю со студенческими работами здесь

Определить число разрядов счетчика импульсов
Здравствуйте! Помогите пожалуйста с решением задачи Применен время-импульсный метод преобразования интервала времени Δt в...

От чего зависит комбинация сигналов на выходах счётчика импульсов?
От чего зависит комбинация сигналов на выходах счётчика импульсов ?

Подсчет одиночных импульсов на внешнем входе таймера-счетчика Т0
Задание такое ! Подсчет одиночных импульсов на внешнем входе таймера\счетчика Т0:если сумма меньше 5, выводить через линию порта РС1 сигнал...

Установить период входных импульсов таймера счетчика, равным 8 мс при ча-стоте резонатора в 2 МГц
МК: atmega 128 Установить период входных импульсов таймера счетчика, равным 8 мс при частоте резонатора в 2 МГц. Необходима помощь,...

На основе таймера/счетчика 1 построить схему формирователя импульсов, длительностью 1с, используя микроконтроллер с част
Здравствуйте, нужно сделать задание: Assembler AVR studio На основе таймера/счетчика 1 построить схему формирователя импульсов,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru