Banned
Регистрация: 21.04.2012
Адрес: южнее Дуная
Сообщений: 4,318
Репутация: 417
|
......началось!.....а что я говорил!?....сразу пригнул на пике12Ф6ххх....
|
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 639
|
х..ороший програматор недавно здесь обсуждали, пришел уже мертвым....
Цитата:
1. нет слова конфигурации 2. выводы не инициализированны как выходы 3. не отключен компаратор 4. не отключен АЦП 5. даже если п1-4 выполнены ваш код будет выполнен с учетом ЧМЗ те работать не будет... ЗЫ: я же вроде дал ссылку на даташиты или нет? |
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 639
|
уже это писал , но повторюсь....
в эксплоаре находим папку c:\Program Files\Microchip\MPASM Suite\Template\Code\ в ней находим нужный нам файл 12F683TEMP.ASM - стандартная заготовка для кода... находим в папке мрлаба c:\Program Files\Microchip\MPASM Suite\ заголовочный файл p12f683.inc создаем папку будущего проэкта оба файла копируем в нее.... создаем новый проэкт, в процессе создания проекта 1 обзываем его 2 помещаем в свою папку 3 добавляем в него эти два файла После этого у вас в проекте будут доступны оба файла... в инклюде (*.inc) хранится описание всех регистров и их битов, в асмовском файле удаляем лишние комментарии и пишем свою прогу.... Код:
;********************************************************************** ; * ; Files Required: P12F683.INC * ; * ;********************************************************************** ; * ; Notes: * ; * ;********************************************************************** list p=12F683 ; list directive to define processor #include <p12F683.inc> ; processor specific variable definitions errorlevel -302 ; suppress message 302 from list file __CONFIG _FCMEN_ON & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT ; '__CONFIG' directive is used to embed configuration word within .asm file. ; The lables following the directive are located in the respective .inc file. ; See data sheet for additional information on configuration word settings. ;***** VARIABLE DEFINITIONS w_temp EQU 0x7E ; variable used for context saving status_temp EQU 0x7F ; variable used for context saving ;********************************************************************** ORG 0x000 ; processor reset vector goto init ; go to beginning of program ORG 0x004 ; interrupt vector location movwf w_temp ; save off current W register contents movf STATUS,w ; move status register into W register movwf status_temp ; save off contents of STATUS register ; isr code can go here or be located as a call subroutine elsewhere movf status_temp,w ; retrieve copy of STATUS register movwf STATUS ; restore pre-isr STATUS register contents swapf w_temp,f swapf w_temp,w ; restore pre-isr W register contents retfie ; return from interrupt ;******************************************************* ;* инициализация МК ;******************************************************* init: BANKSEL CMCON0 ; MOVLW H’7’ ;отключаем MOVWF CMCON0 ;компараторы BANKSEL ANSEL ; отключаем CRLF ANSEL ; АЦП, все выводы цыфровые BANKSEL GPIO ; CRLF GPIO ; устанавливаем на выходах лог0 BANKSEL TRISIO ; вкючаем CRLF TRISIO ; все выводы - как выходы ;******************************************************* ;* главный цикл ;******************************************************* main: ; здесь пишем свою программу goto main ; initialize eeprom locations ORG 0x2100 DE 0x00, 0x01, 0x02, 0x03 END ; directive 'end of program' |
||
Оценка
|
Новичок
Регистрация: 01.09.2013
Сообщений: 16
Репутация: 11
|
Всё сделал как Вы написали.. даже нашёл в коде ошибку (почему то у Вас в блоке с инициализацией в команде CRLF буква С - кирилицей написана 0_0 )
В любом случае, я так и не смог подать сигнал на ножку.. Вставлял в главный цикл команду BSF GPIO,GP2 Вставлял эту команду перед циклом... Вставлял перед этой командой BANKSEL GPIO Индикаторы на ножках в Proteus не мигают.. В чём я не прав? |
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 639
|
в том что:
1. Цитата:
__CONFIG _FCMEN_ON & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
вывод MCLR должен быть подтянут к +пит. 2. Цитата:
5. даже если п1-4 выполнены ваш код будет выполнен с учетом ЧМЗ те работать не будет...
|
||
Оценка
|
Новичок
Регистрация: 01.09.2013
Сообщений: 16
Репутация: 11
|
Цитата:
в том что:
1. включен аппаратный сброс... вывод MCLR должен быть подтянут к +пит. 2. ЧМЗ - чтение/модификация/запись , любая команда обращения к порту сначала читает действительное значение порта модифицирует его и записывает в порт, простым языком: правильное значение после выполнения команды произойдет только в случае если логические уровни приняли нужное значение перед выполнением команды... ссылки на документацию я вам дал , прочитайте раздел порты ввода/вывода... |
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 639
|
сомневаюсь.....
в архиве иллюстрация того что такая последовательность команд Код:
BANKSEL GPIO bsf GPIO,GP0 bsf GPIO,GP1 bsf GPIO,GP2 |
||
Оценка
|
Новичок
Регистрация: 01.09.2013
Сообщений: 16
Репутация: 11
|
К сожалению у меня не открывается проект.. протеус более старой версии.
Не понял почему не работает.. у меня вроде работает.. Хотя есть непонятные моменты.. Почему некоторые светодиоды горят менее ярко.. и индикаторы на ножках погасли?
Последний раз редактировалось valerik88; 05.09.2013 в 19:55.
|
||
Оценка
|
Эксперт
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 639
|
Цитата:
библиотеки моделей светодиодов в 7-ке и 8-ке одни и те же... один и тот же диод при разных настройках : д1,д2 -аналоговая модель, д3-цифровая к тому же подключение СД к МК без токоограничивающих резисторов мягко говоря не удачное решение...
Последний раз редактировалось DmitriyVDN; 06.09.2013 в 23:54.
|
||
Оценка
|
Ответ |
Страница 2 из 3
|
Метки |
микроконтроллер, первый шаг, программатор |
Похожие темы |
|
|
Обратная связь РадиоЛоцман Вверх |