Просмотр этой темы:
3 анонимных пользователей
Младший сотрудник
Зарегистрирован:
12.10.2012 15:38 Сообщений:
26
|
Собрал я одну несложную схемку. Сегменты индикатора типа CA04-41 подключил к линиям порта В, общие аноды к младшей тетраде порта D. Чтобы упростить кодировку символов написал программу, которую можно взять
В таблице устанавливается соответствие бит(линия порта)-сегмент, и активируются нужные сегменты. Код выдается прямой и инверсный(активный уровень высокий/низкий) в десятичном и шестнадцатеричном формате.
Отправлено: 31.01.2013 10:38
|
|
Технолог
Зарегистрирован:
12.01.2009 7:28 Из: Уфа
Сообщений:
128
|
кто может сказать в чем тут дело.
недавно только начал изучать ассемблер и решил потренироватся на семисегментных индикаторах. вот схема
LIST P=PIC16F84A
на индикаторе счет доходит до 4 и заново начинает с 0 в чем ошибка почему не продолжает дальше показывать символы я так понимаю где то стоит ограничение по количеству символов и связано с PC
Отправлено: 11.07.2013 20:16
Отредактировано пользователем MACTEP 11.07.2013 21:54:02
Отредактировано пользователем MACTEP 12.07.2013 0:56:50 |
|
Технолог
Зарегистрирован:
12.01.2009 7:28 Из: Уфа
Сообщений:
128
|
Вот схема
Отправлено: 11.07.2013 20:17
|
|
Администратор
Зарегистрирован:
07.08.2008 20:40 Из: Тирасполь
Сообщений:
7275
|
addwf PC,F - что за F?
может надо вначале прописать: W equ 0 ; Результат направить в аккумулятор. F equ 1 ; Результат направить в регистр.
Отправлено: 12.07.2013 0:48
|
|
Технолог
Зарегистрирован:
12.01.2009 7:28 Из: Уфа
Сообщений:
128
|
По статье, которую читал по которой обучался написано так:
В сегменте отрисовки копируем в аккумулятор W число (последовательно 10, 11, 12, 13). Затем отправляемся в сегмент таблицы. С помощью команды addwf PC,F мы складываем содержимое аккумулятора с регистром PC (в этом регистре у МК реализован аппаратный счетчик команд). В результате сложения счетчик увеличивается на величину, которая у нас содержится в аккумуляторе W и происходит переход на соответствующую команду в таблице. По команде retlw bхххххххх мы помещаем в аккумулятор указанное число (bхххххххх) и возвращаемся назад в сегмент отрисовки. Указанное число представляет собой комбинацию битов, которое затем записывается в порт и приводит к отображению осмысленного символа.
Отправлено: 12.07.2013 9:05
|
|
я алкоголик из Москвы
|
||
Технолог
Зарегистрирован:
12.01.2009 7:28 Из: Уфа
Сообщений:
128
|
По статье, где показаны примеры написания команд, то как все реализуются уже под схему в самом коде очень много ошибок было.
Ошибки я исправил и компиляция прошла, а то до этого были критичные и вообще не компилировало, может это такой прикоол конечно типо найди ошибку и исправь, незнаю. Но скажем само написание программ не чем не отличается от книжек единственное, в примерах неправильно составленна программа. и под этот макет программа как обучающая тоже много ошибок из-за которых не компилировалось.
Отправлено: 12.07.2013 9:11
|
|
я алкоголик из Москвы
|
||
Технолог
Зарегистрирован:
12.01.2009 7:28 Из: Уфа
Сообщений:
128
|
я дописал что за F W и в самом начале программы
результат тот же доходит до 4 и начинает заново. может как то по другому сделать вывод на индикатор цифр и текста, без addwf PC,F
Отправлено: 12.07.2013 9:18
|
|
Младший сотрудник
Зарегистрирован:
31.07.2011 14:51 Из: Тирасполь
Сообщений:
30
|
to MASTER:
include P16f84a.inc
в часности , там описан и F, и STATUS to komarik: если бы писали не:
__CONFIG 3FFE
__CONFIG HS_OSC & WDT_ON & PWRTE_OFF & CP_OFF
то свою ошибку увидели бы сразу.
Отправлено: 12.07.2013 9:36
|
|
Технолог
Зарегистрирован:
12.01.2009 7:28 Из: Уфа
Сообщений:
128
|
сейчас попробуем
Отправлено: 12.07.2013 10:26
|
|
Технолог
Зарегистрирован:
12.01.2009 7:28 Из: Уфа
Сообщений:
128
|
он мне вот что выдает
Error[113] D:\RADIO\PROBA_ASS\PROJECT_3\MAK_ASS.ASM 6 : Symbol not previously defined (HS_OSC) Error[113] D:\RADIO\PROBA_ASS\PROJECT_3\MAK_ASS.ASM 6 : Symbol not previously defined (WDT_ON) Error[113] D:\RADIO\PROBA_ASS\PROJECT_3\MAK_ASS.ASM 6 : Symbol not previously defined (PWRTE_OFF) Error[113] D:\RADIO\PROBA_ASS\PROJECT_3\MAK_ASS.ASM 6 : Symbol not previously defined (CP_OFF) Halting build on first failure as requested.
Отправлено: 12.07.2013 10:29
|
|