АвторСообщение



Пост N: 117
Зарегистрирован: 22.12.06
Откуда: Россия, Воркута
Рейтинг: 0
Фото:
ссылка на сообщение  Отправлено: 09.02.07 16:36. Заголовок: Программа вывода данных на дисплей от сотового телефона NOKIA 3310



 
;**************************************************************************************************
; Программа вывода данных на дисплей от сотового телефона NOKIA 3310
; Контроллер дисплея PCD8544 матрица 48х84 точки.
; Микроконтроллер PIC16F873, частота кварцевого генератора 4 МГц.
;**************************************************************************************************
LIST p=16f873
__CONFIG 3731H
;==================================================================================================
; Описание регистров специального назначения.
;==================================================================================================
PC equ 02h ; Счетчик команд.
Status equ 03h ; Регистр Status.
PortC equ 07h
TrisC equ 07h
Adcon0 equ 1Fh
;==================================================================================================
; Описание регистров общего назначения
;==================================================================================================
Bit equ 71h ; Регистр данных выводимых на LCD.
Sec10 equ 72h ; Количество бит, для последовательной передачи.
Count equ 73h ; Кол-во выводимых символов на экран.
Sec equ 74h ; Кол-во выыодимых пробелов при очистке дисплея.
;==================================================================================================
; Описание битов.
;==================================================================================================
RP0 equ 5
RP1 equ 6
C equ 0
;==================================================================================================
; Подготовительные операции для запуска программы.
;==================================================================================================
org 0
nop ; NOP для ICD2
goto START
;==================================================================================================
; Данные для вывода на дисплей.
;==================================================================================================
TEXT_1 addwf PC,F
dt 0H,0H,0xFF,0xFF,0x13,0x1F,0x0E,0H,0H,0x7E,0xFF,0xC3,0xFF,0x7E,
dt 0H,0H,0x7E,0xFF,0xC3,0xC3,0x66,0H,0H,0xC0,0x7E,0x01,0xFF,0xFF,
dt 0H,0H,0xFF,0xFF,0x10,0x08,0xFF,0H,0H,0xFF,0xFF,0x08,0x14,0xE3
;--------------------------------------------------------------------------------------------------
; Начало выполнения программы.
; Инициализация LCD модуля PCD8544.
; Этот кусок программы выполняется один раз при загрузке.
;--------------------------------------------------------------------------------------------------
START clrf Adcon0 ; Выключение модуля АЦП.
bsf Status,RP0 ; Банк 1
clrf TrisC ; Выводы порта C работают на выход.
bcf Status,RP0 ; Банк 0.
clrf PortC ; Очистка порта C
;==================================================================================================
; Команды инициализации дисплея NOKIA 3310.
;==================================================================================================
INIT bsf PortC,1 ; Послать 1 на LCD RES.
movlw 21h ; 00100001 PD=0, V=0, H=1
call COM ; Инициализация LCD_1
movlw 0xC5 ; 10101001 Запись Vop в регистр.
call COM ; Инициализация LCD_2
movlw .6 ; 00000110 Температурный коэф.=2.
call COM ; Инициализация LCD_3
movlw 13h ; 00010011 Установка Bias n=4.
call COM ; Инициализация LCD_4
movlw 20h ; 00100000 PD=0, V=0, H=0
call COM ; Инициализация LCD_5
movlw 0x0C ; 10101001 Запись D=1, E=0 в регистр.
call COM ; Инициализация LCD_2
call CLEAR ; Очистка дисплея от мусора, после инициализации.
call CLEAR
call CLEAR
call CLEAR
;==================================================================================================
; Команды выбора знакоместа
;==================================================================================================
NEW movlw .148 ; 100000000 Выбор ячейки RAM по X.
call COM ; Инициализация LCD_6
movlw .66 ; 010000000 Выбор ячейки RAM по Y.
call COM ; Инициализация LCD_7
;==================================================================================================
; Начало текста выводимого на индикацию.
;==================================================================================================
movlw .42 ; Запись числа .16 (количества выводимых в строку
movwf Count ; символов) в регистр Count.
WR_1 movf Count,W ; Копирование содержимого регистра Count в W.
sublw .42 ; .16-Count=... (результат записывается в W).
call TEXT_1 ; Условный переход в ПП TEXT_1.
call DAT
decfsz Count,F ; Подготовка к выводу на индикацию
goto WR_1 ; следующего символа таблицы.
goto NEW
;==================================================================================================
; ПП вывода данных на индикацию в LCD.
;==================================================================================================
COM bcf PortC,0 ; Метка передача команд D/C=0.
DAT movwf Bit
movlw .1 ; Метка передачи данных D/C=1.
movwf Sec10
NEXT movlw .9 ; Запись в W константы.
subwf Sec10,W ; Сравнение (Sec10-9).
btfsc Status,C ; Проверяем перенос С был или нет
goto EXIT ; Если >9 выход
btfsc Bit,7 ; Усли нет, то проверяем 7 бит регистра Bit.
bsf PortC,4 ; Sdin = 1.
btfss Bit,7 ; проверяем 7 бит регистра Bit
bcf PortC,4 ; Sdin = 0.
bcf Status,C ; Опустим флаг переноса.
rlf Bit,F ; Сдвинем данные влево.
bsf PortC,5 ; Sck = 1 Стробирующий импульс.
nop
bcf PortC,5 ; Sck = 0
incfsz Sec10,F ; Инкремент содержимого регистра Sec10.
goto NEXT
EXIT bsf PortC,0 ; D/C = 1.
return ; Выход из ПП вывода данных.
;==================================================================================================
; ПП предварительной очистки дисплея от мусора после инициализации.
;==================================================================================================
CLEAR movlw .254
movwf Sec
BLANK movlw .0
call DAT
decfsz Sec,F
goto BLANK
return
;**************************************************************************************************
end




Roslik Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 11 [только новые]


постоянный участник




Пост N: 196
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.02.07 20:18. Заголовок: Re:


Это, я так понимаю, Вы дисплей "домучили"? Тенкс!
Только можно, конфигурацию по-подробней расшифровать.
Кстати, поглядел тут немного, нет в продаже отдельно дисплеев. Впрочем, сам телефон стоит около 900 рублей.

Obligatus Servus Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 120
Зарегистрирован: 22.12.06
Откуда: Россия, Воркута
Рейтинг: 0
Фото:
ссылка на сообщение  Отправлено: 10.02.07 13:35. Заголовок: Re:


__CONFIG 3731H

CP1_OFF, DEBUG_ON, WRT_ON, CPD_OFF, LVP_OFF, BODEN_OFF, -PWRTE_OFF, WDTE_OFF, XT_OSC

0011011100110001



Roslik Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 7
Зарегистрирован: 05.06.08
Откуда: Россия, Челябинская обл., г. Златоуст
Рейтинг: 0
ссылка на сообщение  Отправлено: 01.02.09 10:32. Заголовок: Добрался наконец до ..


Добрался наконец до графических индикаторов
Ребята, а эту прогу кто нибудь в железе побовал?
Не понял куда прикрутить сигнал SCE
Roslik если не трудно нарисуй пожалуйста схему подключения индикатора к PIC.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 97
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг: 1
ссылка на сообщение  Отправлено: 02.02.09 10:24. Заголовок: Diam пишет: Не поня..


Diam пишет:

 цитата:
Не понял куда прикрутить сигнал SCE


Судя по схеме на ПИК12Ф629 сигнал SCE соединяется с GND, 8 нога ПИКа там же.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 9
Зарегистрирован: 05.06.08
Откуда: Россия, Челябинская обл., г. Златоуст
Рейтинг: 0
ссылка на сообщение  Отправлено: 02.02.09 12:21. Заголовок: сигнал SCE соединяет..



 цитата:
сигнал SCE соединяется с GND


Сейчас попробую.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 99
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг: 1
ссылка на сообщение  Отправлено: 02.02.09 13:11. Заголовок: У тебя схема-то есть..


У тебя схема-то есть?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 10
Зарегистрирован: 05.06.08
Откуда: Россия, Челябинская обл., г. Златоуст
Рейтинг: 0
ссылка на сообщение  Отправлено: 02.02.09 13:42. Заголовок: Так прогу то читать ..


Так прогу то читать умею, там все расписано
А ведь и правда
 цитата:
сигнал SCE соединяется с GND


Спасибо РОСЛИК (так написано на экране)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 100
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг: 1
ссылка на сообщение  Отправлено: 02.02.09 15:53. Заголовок: Diam пишет: Спасибо..


Diam пишет:

 цитата:
Спасибо РОСЛИК (так написано на экране)


Ух ты!, сейчас попробую и себе такое сделать, но пока на Протеусе, стекло завтра будет.
И еще ПИК16Ф873, можно сделать и на 12Ф629

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 101
Зарегистрирован: 13.12.07
Откуда: г.Макеевка
Рейтинг: 1
ссылка на сообщение  Отправлено: 02.02.09 16:17. Заголовок: Viktor_VK пишет: Сп..


Viktor_VK пишет:

 цитата:
Спасибо РОСЛИК (так написано на экране)



У меня в Протеусе получилось : "РОСЛИК"

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 194
Зарегистрирован: 27.04.07
Откуда: Россия, Воркута
Рейтинг: 0
Фото:
ссылка на сообщение  Отправлено: 02.02.09 16:41. Заголовок: Всё правильно получи..


Всё правильно получилось!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 11
Зарегистрирован: 05.06.08
Откуда: Россия, Челябинская обл., г. Златоуст
Рейтинг: 0
ссылка на сообщение  Отправлено: 02.02.09 16:58. Заголовок: РОСЛИК вот про эти с..


РОСЛИК вот про эти строки поподробнее можно:

; Команды выбора знакоместа  
;===============================================
NEW movlw .148 ; 100000000 Выбор ячейки RAM по X.
call COM ; Инициализация LCD_6
movlw .66 ; 010000000 Выбор ячейки RAM по Y.
call COM ; Инициализация LCD_7


Что такое LCD_6, LCD_7
Почему .148 равно 100000000

All. Для вставки текста программ пользуйтесь кнопками "Моноширинный шрифт". Их аж две штуки (вторая - с прокруткой, первая - без).
/Dmitry Dubrovenko/


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет



Создай свой форум на сервисе Borda.ru
Текстовая версия