Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
29.05.2007, 11:42
|
|
Прохожий
Регистрация: 15.09.2004
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
|
Добрый день, уважаемые! все не читал, сразу же увидел ошибку топикстартера - при включении пик сбрасывает регистры в значение по умолчанию, т.е выводы становятся аналоговыми входами. Изучая документацию на процессор надо быть внимательным, и читать не только про порты ввода-вывода. Для решения проблемы необходимо прочитать главы АЦП и АС (компаратор), там есть регистры конфигурации выводов ANSEL, кажется. Удачи!
|
|
|
|
29.05.2007, 12:08
|
|
Прохожий
Регистрация: 15.09.2004
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
|
Да, еще есть особенности реальной работы команд чтение-модификация-запись (это самое больное место начинающих разработчиков). т.к разработчики PICа сэкономили на одном регистре PORT является и выходной защелкой, и с тем же адресом вычитываются состояние линий порта. чем чревато - например, командой
bsf PORTB,0
мы якобы установили в "1" вывод PORTB,0. Следующая наша команда изменить другой бит:
bsf PORTB,2
что происходит: вторая команда вычитывает реальное состояние выводов PORTB устанавливает 2 бит в единицу и записывает байт в регистр PORTB. И мы не можем понять, почему на PORTB,0 логический "0", а не "1". А произошло следующее: первая команда установила "1" на PORTB,0 но емкостная составляющая схемы мгновенно перезарядится не может, поэтому напряжение на выводе растет медленно (относительно), и в этот момент мы следующей командой вычитываем состояние вывода, и оно соответствует лог "0", и этот лог "0" и перезаписывается в выходную защелку PORTB,0 , где якобы должна быть единица.
|
|
|
|
29.05.2007, 20:30
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от Faworit
|
досикус, с последим (ссылка) програматор-дизасембер так и не разобрался как скачать прогу. Или нужно регистрироваться на сайте? Если можно опишите процесс.
|
http://www.winpic800.com//descargas/WinPic800.zip
|
|
|
|
29.05.2007, 20:33
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от vsn
|
Добрый день, уважаемые! все не читал, сразу же увидел ошибку топикстартера - при включении пик сбрасывает регистры в значение по умолчанию, т.е выводы становятся аналоговыми входами. Изучая документацию на процессор надо быть внимательным, и читать не только про порты ввода-вывода. Для решения проблемы необходимо прочитать главы АЦП и АС (компаратор), там есть регистры конфигурации выводов ANSEL, кажется. Удачи!
|
Вот именно что кажеться...
Посмотри внимательно на его код.
Код:
|
list p=12F675
#include "p12F675.inc"
__CONFIG _INTRC_OSC_NOCLKOUT & _CPD_OFF & _CP_OFF & _BODEN_ON & _MCLRE_OFF
cl equ 0x0C
org 0x00
reset goto start
org 0x04
start bcf STATUS, RP0 ; Выбрать банк 0
clrf GPIO ; Инициализация защелок GPIO
movlw 0x07 ;компаратор выключить
movwf CMCON ;каналы GPIO-цифровые входы/выходы
bsf STATUS, RP0 ; Выбрать банк 1
movlw 0x0f ;
movwf TRISIO ;
bcf OPTION_REG, NOT_GPPU
movlw 0x06 ;
movwf WPU ;
bcf STATUS, RP0 ; Выбрать банк 0
bsf GPIO, GP4
bsf GPIO, GP5
nop
nop
bcf GPIO, GP5
nop
end |
|
|
|
|
30.05.2007, 12:20
|
|
Прохожий
Регистрация: 24.01.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
В программе не хватает следующих команд инициализации
bsf ststus,rp0
clrf ansel
vsn прав
|
|
|
|
30.05.2007, 16:18
|
|
Прописка
Регистрация: 28.12.2006
Сообщений: 277
Сказал спасибо: 25
Сказали Спасибо 20 раз(а) в 18 сообщении(ях)
|
Всем добрый день!
VSN: clrf ANSEL сброс регистра: биты 6-4 установка для генератора, а вот 0-3 биты выходов AN‹3:0› В моем случае управление выходами GP4,5. Что будет на 0-3 выходах (компаратор, ADC или еще чо угодно) ведь это уже пока неважно. Я может ошибаюсь но доку про АЦП и компаратор прочитал достаточно (мне так кажется). Теперь чтобы не зацикливаться сообщу что тот кусочек програмки (как ни странно) но почемуто заработал и именно так ка надо. Это всетаки глюк мплаба. Впрочем сегодня я уже накатал еще с десяток строк текста проги и пока все работает ОК! Небольшие трудности сейчас с АЦП и прерыванием, но думаю справлюсь сам, а ежели чо, снова буду просить помощи.
dosikus: спасибо за прогу WinPic800, попробовал и.... не очень, а вот picdisasm - это СУПЕР!!! Ну как раз для чайников. Еще раз большое спасибо всем кто откликнулся на мой зов.
У уважением Геннадий.[/b]
|
|
|
|
01.06.2007, 07:20
|
|
Прохожий
Регистрация: 24.01.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Faworit, обратите внимание, что 3 аналоговый вход AN3 подключен к выводу GP4. По опыту работы с данным кристаллом вспомнилось, что если настраивать порты на выход, то регистр ANSEL не влияет на состояние портов. Если Вы будете исользовать Выводы на ввод, то регистр ANSEL влияет на работу портов,его нужно корректно настроить.
Удачи.
ЗЫ. Надеюсь Вы нашли документацию на этот кристалл на русском на www.microchip.ru
|
|
|
|
01.06.2007, 17:51
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от kikigor
|
В программе не хватает следующих команд инициализации
bsf ststus,rp0
clrf ansel
vsn прав
|
И ты туда же ...
Блин вы хоть даташиты читаете ?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
PIC12F675 снова вопросы.
|
Faworit |
Микроконтроллеры, АЦП, память и т.д |
34 |
13.06.2014 18:48 |
Компилятор Hi-Tech, вычисление, на PIC12F675
|
3ann |
Микроконтроллеры, АЦП, память и т.д |
27 |
06.07.2009 12:01 |
Program memory в PIC12F675
|
waiting |
Микроконтроллеры, АЦП, память и т.д |
6 |
01.02.2007 01:21 |
Помогите идиоту с PIC12F675
|
waiting |
Микроконтроллеры, АЦП, память и т.д |
6 |
26.01.2007 22:41 |
уроки от LABCENTRE(PIC12F675+C)
|
dosikus |
Микроконтроллеры, АЦП, память и т.д |
22 |
09.10.2006 10:16 |
Часовой пояс GMT +4, время: 13:41.
|
|