Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 18.11.2017, 20:20  
vavilon79
Прохожий
 
Регистрация: 30.10.2017
Сообщений: 7
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vavilon79 на пути к лучшему
По умолчанию Re: pic16f628a+lcd1601

Сообщение от OakRidge Посмотреть сообщение
Перейти на более скоростные и емкие контроллеры.
Если ПИК из младшего семейства пусть будет чтото из серии 16F1xxxx. Цена практически та же, однако память и скорость в разы болше.
Я знаю что легче на Си или Бейсике. Но люди советуют разобраться с ассемблером и когда поймеш что да как не трудно будет перейти на Си. По поводу перейти на 16F1хххх - это хорошо. Но я не поверю что когда-то известный pic16f628a нужно в топку. Он тоже может работать на 20МГц, поэтому и думаю что для него за 1 мкС не проблема переклацнуть 1 i/o порт. Много схем можно на нем собрать. Но это чужие, хочется свою. Если у меня не получается - это не плохой пик, а я малек туплю. Поэтому и создал тему с просьбой помочь.

Сообщение от otest Посмотреть сообщение
Зачем это? Сразу ТМР3 в порт отправляй
Хотел для себя сделать универсальный модуль, но тоже думаю что нужно с начала по простому, а потом только усложнять.

Подскажите на ногах пика, логическая единица тоже должна +5 В как и у VDD или должно быть немного меньше. Замерял напряжение на одной ноге 3.52 В а на остальных 4,7 В. Т.е. переделал программу, подал на весь порт LCD высокий уровень.

Подскажите в протеусе обязательно убирать кристалл для симуляции или он не влияет на симуляцию. По идеи если протеус в симуляции покажет требуемое слово то и в жизни тоже должно получится.
Реклама:

Последний раз редактировалось vavilon79; 18.11.2017 в 20:28. Причина: дополнить
vavilon79 вне форума  
Непрочитано 18.11.2017, 22:33  
OakRidge
Почётный гражданин KAZUS.RU
 
Аватар для OakRidge
 
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,460
Сказал спасибо: 286
Сказали Спасибо 1,125 раз(а) в 540 сообщении(ях)
OakRidge на пути к лучшему
По умолчанию Re: pic16f628a+lcd1601

Кристалл не влияет на симуляцию. Достаточно указать частоту. И обязательно указать слово конфигурации. Еще хитрость, если подать Протеусу .cof а не .hex можно будет ставить точки останова и трассировать программу по исходному тексту.
Вы писали "Но я не поверю что когда-то известный pic16f628a нужно в топку." Взял и посмотрел наличие 18 ногих пиков в магазине где товар беру. По запасам на первое место Он ! Только у него есть существеный недостаток. Внутренний генератор на 4 МГц. Что очень мало. 16F1xxxx до 32МГц. Плюс плюшки как внутренная опора по напряжению, автоматическая запись контекста при прерывании. Плюс работа от 2В .За те же монеты.
OakRidge вне форума  
Сказали "Спасибо" OakRidge
vavilon79 (20.11.2017)
Непрочитано 19.11.2017, 11:21  
otest
Почётный гражданин KAZUS.RU
 
Регистрация: 29.01.2005
Адрес: Воронеж
Сообщений: 1,384
Сказал спасибо: 24
Сказали Спасибо 243 раз(а) в 182 сообщении(ях)
otest на пути к лучшему
По умолчанию Re: pic16f628a+lcd1601

Цитата:
movlw .7 ; 00000111
movwf CMCON ; Отключаем компораторы
call LCD_Init ; инициализация дисплея
Этого мало для инита. Не поленись отключи не нужную переферию. Усарт, ССР и всё заработает.
otest вне форума  
Сказали "Спасибо" otest
vavilon79 (20.11.2017)
Непрочитано 20.11.2017, 10:51  
vavilon79
Прохожий
 
Регистрация: 30.10.2017
Сообщений: 7
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vavilon79 на пути к лучшему
По умолчанию Re: pic16f628a+lcd1601

Сообщение от otest Посмотреть сообщение
Не поленись отключи не нужную переферию
Вообще запутался. Отключил так как Вы сказали:
Нажмите, чтобы открыть спойлер

Код:
; Настройка микроконтроллера
  	    bcf	    INTCON,GIE	; Глобальное запрещение прерываний
	    bcf	    INTCON,PEIE	; Запретить прерывания от периферийных модулей
	    clrf    PORTA	; Инициализация PORTA
	    clrf    PORTB	; Инициализация PORTB
	    
	    movlw   .7		; 00000111
	    movwf   CMCON	; Отключаем компораторы
	    clrf    T1CON	; Отключаем таймер TMR1 использующий RB6 и RB7
	    clrf    T2CON	; Отключение 2 таймера навсякий случай
	    clrf    CCP1CON	; Выключить CCP модуль
	    
	    ; Переходим в первый банк памяти
	    bsf     STATUS,RP0
	    call    delay_5
	    bcf     STATUS,RP1
	    call    delay_5
	    
	    bcf	    OPTION_REG,NOT_RBPU	;Выключение подтягивающих резисторов на входах PORTB
	    bcf	    OPTION_REG,T0CS	;Выбор тактового сигнала для TMR0 на внутренний тактовый сигнал CLKOUT
	    clrf    VRCON	; Источник опорного напряжения выключен и не потребляет тока
	    clrf    RCSTA	; USART модуль последовательного порта выключен
	    
	    clrf    TRISB
	    bcf	    TRISA,RA0
	    call    delay_5
	    bcf	    TRISA,RA1
	    call    delay_5
	    bcf	    TRISA,RA2
	    call    delay_5
	    bcf	    TRISA,RA3
	    call    delay_5
	    
	    ; Переходим в нулевой банк памяти
	    bcf	    STATUS,RP0
	    call    delay_5
	    bcf     STATUS,RP1
	    call    delay_5
	    
	    ; **************************************************  ***************

после этого если выполнить код:
Нажмите, чтобы открыть спойлер
Код:
            movlw   b'11111111'
	    movwf   PORTB
START:	
	    goto	START

VDD = 5.11В
LCD D0,D1,D2,D3 = VSS

На ногах LCD D4,D5,D6,D7 все отлично +5.11 В
Но если выполнить код:
Нажмите, чтобы открыть спойлер
Код:
            bsf	PORTA,RA1
	    call       delay_5
	    bsf       PORTA,RA2
	    call       delay_5
	    bsf       PORTA,RA3
	    call       delay_5
	    movlw   b'11111111'
	    movwf   PORTB
START:	
	    goto	START

т.е. подать логическую "1" в портА, то при таком коде на LCD RS,RW,E = 5,11В, а вот LCD D4=3,94В, D5=5,02В, D6=3,87В, D7=5,11В. При этом коде протеус в симуляции указал короткое в LCD D4,D6,D7 - горело желтым цветом (лог симуляции потеуса показал Logic contention(s) detected on net D4 D5 D6 D7).
). Наверняка где то я перемудрил.
Подтягивающие резисторы нужно было отключать или нет.

до всех этих переделок LCD работал вот так:
Нажмите, чтобы открыть спойлер


сейчас же если выполнить код
Нажмите, чтобы открыть спойлер
Код:
START:	
	    bsf	    PORTA,RA0
	    nop
	    nop
	    bcf	    PORTA,RA0
	    goto	START


то получаем такую картину
Нажмите, чтобы открыть спойлер





причем нет разницы включаем на LCD RS,RW,E или нет
Нажмите, чтобы открыть спойлер




Сообщение от OakRidge Посмотреть сообщение
И обязательно указать слово конфигурации
Объясните пожалуйста что Вы имели введу "Обязательно указать слово конфигурации". Имеется ввиду как его нужно указывать.
Сообщение от OakRidge Посмотреть сообщение
.cof
Спасибо. Очень полезная штука.



Прошу также объяснить, у меня стоит внешний кварц 4 МГц, значит частота работы м-к должна быть 1МГц. Почему при выполнении кода на 3 такта включения и 3 такта выключения частота показывает 1 МГц на включение и 1 МГц на выключение, а не в 3 раза больше. Как я понял у меня 1 такт должен выполняться в 1 мкС, а исходя из осциллограммы у меня 3 такта за 1 мкС выполняются. Ручки на осциллографе установлены в 2 Вольта и 0.5 мкСек
START:
bsf PORTA,RA0
nop
nop
bcf PORTA,RA0
goto START
Миниатюры:
Нажмите на изображение для увеличения
Название: IMG_20171118_134002.jpg
Просмотров: 0
Размер:	90.0 Кб
ID:	121684   Нажмите на изображение для увеличения
Название: IMG_20171120_105310.jpg
Просмотров: 0
Размер:	84.9 Кб
ID:	121685   Нажмите на изображение для увеличения
Название: IMG_20171120_105329.jpg
Просмотров: 0
Размер:	78.5 Кб
ID:	121686  

Нажмите на изображение для увеличения
Название: IMG_20171120_105337.jpg
Просмотров: 0
Размер:	80.7 Кб
ID:	121687   Нажмите на изображение для увеличения
Название: IMG_20171120_105736.jpg
Просмотров: 0
Размер:	80.6 Кб
ID:	121688   Нажмите на изображение для увеличения
Название: IMG_20171120_110058.jpg
Просмотров: 0
Размер:	81.6 Кб
ID:	121689  


Последний раз редактировалось vavilon79; 20.11.2017 в 11:27. Причина: дополнение
vavilon79 вне форума  
Непрочитано 20.11.2017, 15:11  
otest
Почётный гражданин KAZUS.RU
 
Регистрация: 29.01.2005
Адрес: Воронеж
Сообщений: 1,384
Сказал спасибо: 24
Сказали Спасибо 243 раз(а) в 182 сообщении(ях)
otest на пути к лучшему
По умолчанию Re: pic16f628a+lcd1601

Цитата:
; Переходим в первый банк памяти
....................................
clrf RCSTA ; U
RCSTA - в банке 0.
У тебя каша в голове. Сделай нормальный инит. так , как это делают другие.
Присвой имена переменным и константам. По твоему коду без схемы не разобрать какой пин чем управляет.
otest вне форума  
Непрочитано 20.11.2017, 15:27  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: pic16f628a+lcd1601

Пользуешься протеусом,то сними графики прямо там что творится на ножках дисплея и покажи их.
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод PIC16F628A в SLEEP. vavan1983 PIC 7 18.01.2015 22:11
Как прикрутить LCD 16x2 к pic16f628a? sky132 Микроконтроллеры, АЦП, память и т.д 7 22.08.2012 13:35
Не работает терморегулятор на PIC16F628A Baza666 Proteus 33 13.11.2011 22:05
PIC16F628A retas Микроконтроллеры, АЦП, память и т.д 2 26.04.2009 15:50
pic16f628A на 250кГц Muzicant Микроконтроллеры, АЦП, память и т.д 1 07.10.2006 00:14


Часовой пояс GMT +4, время: 10:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot