Форум

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

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

В сети

Пользователей: 311
Из них просматривают:
Аналоги: 190. Даташиты: 83. Новости: 3. Остальное: 14. Программы: 1. Профиль пользователя: 7. Теги: 2. Форум: 11.
Участников: 2
Гостей: 309

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

Партнёры


Партнёры

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

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

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

 1 анонимных пользователей
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?


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



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


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

Разное

Интересно

Посыпав место пайки песком или натерев крошащимся камнем, можно паять обычными методами даже алюминий.