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

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

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

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

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

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


 
Опции темы

PIC16F876a+Nokia 5110 LCD+PICKit2

Непрочитано 31.10.2016, 16:17  
AndGrig
Прописка
 
Аватар для AndGrig
 
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
AndGrig на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

list p=16F876a
#include ‹p16F876a.inc›

__CONFIG 0x3732

;********************************************
; Определение переменных *
;********************************************

RBASE equ 20h
cblock RBASE
Bait
NumH
NumL
Temp2
Temp1
Temp
Ones
Tens
Hund
Ct1
WaitMS

endc

;********************************************
; Определение имен констант *
;********************************************
#DEFINE DC PORTB, 0 ;выход "режим" на ЖКИ "0" команды,"1" данные
#DEFINE DIN PORTB, 1 ;выход "данных" на ЖКИ
#DEFINE RST PORTB, 2 ;выход "сброс" на ЖКИ активн. "0"
#DEFINE CLK PORTB, 4 ;выход "синхронизация" на ЖКИ

#DEFINE Bank1 bsf STATUS,RP0
#DEFINE Bank0 bcf STATUS,RP0

;********************************************
; Определение макросов *
;********************************************
mov MACRO DEST1,SOURCE1 ; пересылка регистр-регистр
movf SOURCE1,W
movwf DEST1
endm

mvi MACRO DEST2,CONST2 ; пересылка константы в регистр
movlw CONST2
movwf DEST2
endm

ORG 0x0000
goto Start
ORG 0x0004 ; для будущих прерываний
retfie

D1 ; Пример вывода на LCD буквы D
;FE FE O6 O6 O6 0C 1C 38 F0 A0

FE
mvi Bait, 0xFE
call LCD
mvi Bait, 0xFE
call LCD
mvi Bait, 0x06
call LCD
mvi Bait, 0x06
call LCD
mvi Bait, 0x06
call LCD
mvi Bait, 0x0C
call LCD
mvi Bait, 0x1C
call LCD
mvi Bait, 0x38
call LCD
mvi Bait, 0xF0
call LCD
mvi Bait, 0xC0
call LCD

return

;************************************************* *********
; Передача байта в LCD
;************************************************* *********
LCD
mvi Temp,.8
L1
btfss Bait, .7
bcf DIN
btfsc Bait, .7
bsf DIN

call W1mS ; Для 4 МГц как бы не нужно делать задержку, но начинал с 20 МГц и пытался регулировать. Сейчас стоит 400 uSec

bsf CLK

call W1mS

bcf CLK
nop
nop

rlf Bait, f
decfsz Temp
goto L1

return

Start
; Инициализация портов
clrf PORTA
clrf PORTB
clrf PORTC
Bank1
mvi TRISA, h'FF' ;ПортA - вход
clrf TRISB ;ПортВ - выход
mvi TRISC, h'F1' ;mvi - макрос пересылки в TRISC 0xF1

; Инициализация ШИМ
mvi PR2, h'7F' ; Период ШИМ
Bank0
mvi CCP1CON, h'0F' ; Режим ШИМ
mvi T2CON, h'04' ; Управление TMR2 (включен, предделитель=1)
clrf CCPR1H
mvi CCPR1L, h'10' ; Длительность импульса

bcf RST ; Сброс LCD
call W1mS ; Регулируемая задержка
bsf RST ;
call W1mS ;

mvi Bait, 0x21 ; Инициализация LCD
bcf DC ;
call LCD ;
mvi Bait, 0x13 ;
call LCD
mvi Bait, 0x04 ;
call LCD
mvi Bait, 0xB8 ;
call LCD
mvi Bait, 0x20 ;
call LCD
mvi Bait, 0x0C ;
call LCD
bsf DC ;

Io
mvi Temp2, .2 ; Очистка экрана
I1 mvi Temp1,.255 ;
I2 clrf Bait
call LCD

decfsz Temp1
goto I2
decfsz Temp2
goto I1

bcf DC
mvi Bait, 0x87 ; Установка курсора
call LCD
mvi Bait, 0x40
call LCD ;
bsf DC
call D1 ; Вывод буквы "D"

bcf DC
mvi Bait, 0x87 ; Установка курсора
call LCD
mvi Bait, 0x41
call LCD
bsf DC
call D2

bcf DC
mvi Bait, 0x95
call CD
mvi Bait, 0x41
call LCD
bsf DC

call MM
call GG
call AND
call ZZ
call GG

bcf DC
mvi Bait, 0x95
call LCD
mvi Bait, 0x43
call LCD
bsf DC

call LL
call oo
call aa
call dd
call ii
call nn
call gg
call точка
call точка
call точка

bcf DC
mvi Bait, 0x9D
call LCD
mvi Bait, 0x45
call LCD
bsf DC

call vv
call ee
call rr
bcf DC
mvi Bait, 0xB2
call LCD
mvi Bait, 0x45
call LCD
bsf DC
call C11
call точка
call C22
s1
nop
goto s1

end
Реклама:
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
AndGrig вне форума  
Непрочитано 31.10.2016, 16:25  
AndGrig
Прописка
 
Аватар для AndGrig
 
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
AndGrig на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

Сообщение от Easyrider83 Посмотреть сообщение
АСМ никто читать не будет. Выкладывайте С.
Я не понимаю, почему мы вас должны уговаривать вам помогать?
Пишу по старинке на ассемблере. Нравится мне контролировать каждый шаг. Писал программы, где каждая микросекунда на счету. Старый стал, переучиваться трудно. Уж извините

P.S. Да вообщем-то вопрос более глобальный. Почему работает под РICKit и не работает автономно? MCLR я устанавливаю, программу переписываю (там после 0x1F00 под PICKit появляется нечто для мониторинга), хотя это влиять не должно. Скорее всего, что я что-то не понимаю, поэтому и обращаюсь к гуру.
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!

Последний раз редактировалось AndGrig; 31.10.2016 в 16:46.
AndGrig вне форума  
Непрочитано 31.10.2016, 17:25  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

Сообщение от AndGrig Посмотреть сообщение
mvi Bait, 0x45
пардон, это какой язык то???? Блин, пишите нормально, без макросов и переопределений. Переопределения делаются для упрощения, а не для запутывания. Макросы пишутся для каких-то длинных специфических операций, а не для замены movlw - movwf.
А если хотите сокращать запись, то переходите на Си. Пишите, блин, нормально, и всё будет работать...
Второй момент. Имена меток не могут быть написаны кириллицей.
Третий момент. В этом МК есть аппаратный модуль I2C.

Сообщение от AndGrig Посмотреть сообщение
Нравится мне контролировать каждый шаг. Писал программы, где каждая микросекунда на счету.
А если научиться пользоваться аппаратными модулями МК, то не потребуется дрожать за каждую микросекунду. При правильно настроенных аппаратных модулях МК половину времени проводит в циклах ожидания

Последний раз редактировалось NewWriter; 31.10.2016 в 17:38.
NewWriter вне форума  
Непрочитано 31.10.2016, 21:18  
AndGrig
Прописка
 
Аватар для AndGrig
 
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
AndGrig на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

Сообщение от NewWriter Посмотреть сообщение
пардон, это какой язык то????
Ассемблер.
Сообщение от NewWriter Посмотреть сообщение
Второй момент. Имена меток не могут быть написаны кириллицей.
Оказывается могут. Посмотрите Disassembly Listing. Всё там правильно, но я стараюсь кирилицу не использовать.
Сообщение от NewWriter Посмотреть сообщение
...В этом МК есть аппаратный модуль I2C...
А в данном случае он мне зачем?
Повторю вопрос.
В отладчике PICKit2 все работает, а при внешнем питании - нет. Сброс на 1-й ноге стоит в 1(Vdd), на ногах РОRTВ движения нет. На PORTС ШИМ присутствует. Я понимаю, что ШИМ там почти весь аппратный и он запускается, а далее при попытках управления PORTB все гаснет. Почему?
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
AndGrig вне форума  
Непрочитано 31.10.2016, 21:51  
udav66
Временная регистрация
 
Регистрация: 12.03.2007
Сообщений: 71
Сказал спасибо: 330
Сказали Спасибо 29 раз(а) в 12 сообщении(ях)
udav66 на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

На кварце генерацию смотрели?
udav66 вне форума  
Непрочитано 31.10.2016, 21:57  
whithill
Прохожий
 
Регистрация: 13.01.2016
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 1 сообщении
whithill на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

Сообщение от AndGrig Посмотреть сообщение
... при попытках управления PORTB все гаснет. Почему?
потому что bsf и bcf к портам (A, B, C) не применяется

читайте http://ww1.microchip.com/downloads/e...Doc/31009a.pdf

...All write operations (such as BSF and BCF instructions) are
read-modify-write operations. Therefore a write to a port implies that the port pins are read, this value is modified, and then written to the port data latch...
whithill вне форума  
Непрочитано 31.10.2016, 22:13  
AndGrig
Прописка
 
Аватар для AndGrig
 
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
AndGrig на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

Сообщение от udav66 Посмотреть сообщение
На кварце генерацию смотрели?
Конечно присутствует.
Сообщение от whithill Посмотреть сообщение
потому что bsf и bcf к портам (A, B, C) не применяется...
Вполне применяется, если нагрузка не просаживает выход порта. Чтение-модификация-запись я уже накалывался. При отладчике PICKit2 все работает. Он что, не читает-модифицирует порты?
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
AndGrig вне форума  
Непрочитано 31.10.2016, 22:47  
j-Roger
Гражданин KAZUS.RUN
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 839
Сказал спасибо: 379
Сказали Спасибо 942 раз(а) в 451 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

Сообщение от AndGrig Посмотреть сообщение
...
call MM
call GG
call AND
call ZZ
call GG
...
AndGrig, Вы - человек-обфускатор (не ругательное)
j-Roger вне форума  
Непрочитано 31.10.2016, 22:51  
udav66
Временная регистрация
 
Регистрация: 12.03.2007
Сообщений: 71
Сказал спасибо: 330
Сказали Спасибо 29 раз(а) в 12 сообщении(ях)
udav66 на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

А сторожевой таймер мешать не может?
udav66 вне форума  
Непрочитано 31.10.2016, 22:58  
AndGrig
Прописка
 
Аватар для AndGrig
 
Регистрация: 04.02.2007
Адрес: Крым
Сообщений: 243
Сказал спасибо: 225
Сказали Спасибо 315 раз(а) в 65 сообщении(ях)
AndGrig на пути к лучшему
По умолчанию Re: PIC16F876a+Nokia 5110 LCD+PICKit2

Сообщение от j-Roger Посмотреть сообщение
AndGrig, Вы - человек-обфускатор (не ругательное)
Да это вызов разных букв знекогенератора.
Сообщение от udav66 Посмотреть сообщение
А сторожевой таймер мешать не может?
Как бы выключен __CONFIG 0x3732
__________________
Если вас не устраивает ваша зарплата - отдайте её жене!
AndGrig вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Электронная библиотека 11242 29.12.2015 23:45
LCD Nokia 1202+ATmega8L sergx1300 Микроконтроллеры, АЦП, память и т.д 2 18.09.2012 22:37
Помогите подключить LCD Nokia 3310 vsvetlov Микроконтроллеры, АЦП, память и т.д 0 05.10.2007 10:12
Подключение LCD Nokia 3310 vsvetlov Микроконтроллеры, АЦП, память и т.д 0 24.09.2007 21:25
Не могу разобраться с LCD init_sub Информация по радиокомпонентам 6 02.04.2004 05:40


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.