Форум

Радиолюбительский форум.

Если у Вас возникли вопросы, задавайте их на форуме.

В сети

Пользователей: 294
Из них просматривают:
Аналоги: 171. Даташиты: 82. Новости: 8. Остальное: 4. Профиль пользователя: 6. Теги: 4. Форум: 18. Чат: 1.
Участников: 3
Гостей: 291

an , Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.

Просмотр этой темы: 

 2 анонимных пользователей
Re: Семисегментный индикатор с микроконтроллером
Технолог
Зарегистрирован:
12.01.2009 7:28
Из: Уфа
Сообщений: 128
Не в сети
спасибо большое!
все сделал скомпилировал файл.
В свойствах проекта стоит Hexadecirial.
осталось залить в микроконтроллер прошивку

я алкоголик из Москвы



Re: Семисегментный индикатор с микроконтроллером
Технолог
Зарегистрирован:
12.01.2009 7:28
Из: Уфа
Сообщений: 128
Не в сети
сделал залил, на индикаторе один за одним отоброжает всего 5 символов вместо всего ряда написанного
при компиляции ошибок никаких нет.
Вот хотел и узнать почему только 5 символов? от 0 - 4

я алкоголик из Москвы



Re: Семисегментный индикатор с микроконтроллером
Администратор
Зарегистрирован:
07.08.2008 20:40
Из: Тирасполь
Сообщений: 7276
Не в сети
а почему идет 0 1 2 3 4 и затем 10?



Re: Семисегментный индикатор с микроконтроллером
Технолог
Зарегистрирован:
12.01.2009 7:28
Из: Уфа
Сообщений: 128
Не в сети
Вот полностью код который залил на МК


LIST P=PIC16F84A

#include <P16F84A.INC>

__CONFIG _HS_OSC & _WDT_ON & _PWRTE_OFF & _CP_OFF


PC EQU 02h
STATUS EQU 03h
PortB EQU 06h
TrisB EQU 06h
Reg_1 EQU 0Ch
Reg_2 EQU 0Dh
Reg_3 EQU 0Eh
W EQU 0 ;
F EQU 1 ;

org 0 ; начало программы
; подготовительные моменты
bsf STATUS,5 ; переход в Банк 1
clrf TrisB
bcf STATUS,5 ; переход назад в Банк 0
; отрисовка фразы "УРА_" + звук
m1 clrf PortB ; очистка порта

movlw .0
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .1
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .2
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .3
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .4
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .5
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .6
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .7
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .8
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .9
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .10
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .11
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .12
call TABLE ; переход на метку TABLE
movwf PortB
call Pause

movlw .13
call TABLE ; переход на метку TABLE
movwf PortB
bsf PortB,7 ; звук
call Pause
goto m1 ; переход на метку (зацикливание)
;====================================
TABLE addwf PC,F ; Содержимое счетчика команд PC = PC + W
retlw b'01101111' ; 0
retlw b'00001100' ; 1
retlw b'01011011' ; 2
retlw b'01011110' ; 3
retlw b'00111100' ; 4
retlw b'01110110' ; 5
retlw b'01110111' ; 6
retlw b'01001100' ; 7
retlw b'01111111' ; 8
retlw b'01111110' ; 9
retlw b'00111110' ; У
retlw b'01111001' ; Р
retlw b'01111101' ; А
retlw b'00000010' ; _
retlw b'00110101' ; h
;====================================
;delay = 500000 machine cycles
Pause movlw .85
movwf Reg_1
movlw .138
movwf Reg_2
movlw .3
movwf Reg_3
wr decfsz Reg_1, F
goto wr
decfsz Reg_2, F
goto wr
decfsz Reg_3, F
goto wr
return

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



и внизу видео снятое что из этого получилось
от 0 до 4 и все дальше не хочет.

http://vk.com/id8094741?z=video8094741_165689875%2Fvideos8094741



Re: Семисегментный индикатор с микроконтроллером
Технолог
Зарегистрирован:
12.01.2009 7:28
Из: Уфа
Сообщений: 128
Не в сети
может быть проблема в регистре счетчика команд PC?


Прикреплённый файл:



jpg  PC.JPG (201.64 KB)
206_51ee1a8624ed9.jpg 879X854 px

jpg  PC2.JPG (150.00 KB)
206_51ee1a929f435.jpg 832X616 px



Re: Семисегментный индикатор с микроконтроллером
Младший сотрудник
Зарегистрирован:
31.07.2011 14:51
Из: Тирасполь
Сообщений: 30
Не в сети
Цитата:

komarik пишет:
Вот хотел и узнать почему только 5 символов? от 0 - 4
Я выделил красным в предыдущем посту почему.

Отсчет включенного сторожевого таймера заканчивается в подпрограмме задержки после вывода на экран символа 4, происходит сброс микроконтроллера и все начинается сначала.
Прочтите описание на выбранный микроконтроллер, в сети полно переводов на русский.



Re: Семисегментный индикатор с микроконтроллером
Технолог
Зарегистрирован:
12.01.2009 7:28
Из: Уфа
Сообщений: 128
Не в сети
PIC_master пишет:
Я выделил красным в предыдущем посту почему.

Отсчет включенного сторожевого таймера заканчивается в подпрограмме задержки после вывода на экран символа 4, происходит сброс микроконтроллера и все начинается сначала.


Спасибо большое помог)
как говорится
я не волшебник, я только учусь))))

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



Re: Семисегментный индикатор с микроконтроллером
Технолог
Зарегистрирован:
12.01.2009 7:28
Из: Уфа
Сообщений: 128
Не в сети
можно ли просто прописывать в строках например до 4 и после 4
дописать CLRWDT?

я алкоголик из Москвы



Re: Семисегментный индикатор с микроконтроллером
Младший сотрудник
Зарегистрирован:
31.07.2011 14:51
Из: Тирасполь
Сообщений: 30
Не в сети
Можно в отладчике найти точку где он срабатывает и поставить команду CLRWDT немного раньше. Можно просто отключить WDT.



Re: Семисегментный индикатор с микроконтроллером
Технический Директор
Зарегистрирован:
09.01.2009 0:19
Из: Tallinn
Сообщений: 2303
Не в сети
Цитата:

komarik пишет:
можно ли просто прописывать в строках например до 4 и после 4
дописать CLRWDT?


Кинь файл сюда,люди глянут,если им не лень,потом сравнишь,а то придется курсы открывать.



Поиск по форуму


Расширенный поиск

Разное

Интересно

Храните микросхемы в упаковке, обеспечивающей закорачивание их выводов, например, завернутыми в алюминиевую фольгу.
При переноске не касайтесь выводов микросхемы, берите за корпус, иначе ваше статическое электричество может повредить микросхему.