0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 5
|
||||||
1 | ||||||
PIC16F84A. Симуляция в Proteus, не горят светодиоды на модели16.10.2012, 21:48. Показов 12945. Ответов 10
Метки нет (Все метки)
Здравствуйте!
Пишу первую программу на С для PIC, но при моделировании на Proteus 7 не работает моя модель. Для обучения взял PIC16F84A. Суть модели - к выводам RA1 и RA2 подключил свтодиоды через резисторы соответственно на землю. Вывод RA0 завел на кнопку и далее на землю. Цель работы - сделать так, что бы при нажатой кнопке светился диод , подключенный к RA2, а RA1 не горел, соответственно при отжатой кнопки - диод с RA1 светился, а с RA2-нет. По схеме подключен кварц 4МГц. Во вкладке Configure выставил Configuration bits в таком соответствии: XT Oscillator - включен; WTD - включен; Power-Up timer - выключен; Code protection - выключен. Написал такую программу:
Уверен, сделал неправильно ряд моментов, прежде всего что-то не то с управлением уровней на портах, подскажите пожалуйста, как правильно сделать управление портами в таком случае. Вероятно и еще где то что то не так сделал, буду признателен за объективную критику. Прошу не сильно "пинать ногами", ибо мое первое "творение". Спасибо.
0
|
16.10.2012, 21:48 | |
Ответы с готовыми решениями:
10
СМА ARISTON AQSL 85 CSI HA 080510580000 после подачи напряжения горят все светодиоды и не реагирует ни на одну кнопку, На блоке управления горят все светодиоды и не реагирует на кнопки Симуляция в proteus Горят невключенные светодиоды c STM32 Симуляция логики в Proteus GTX 1080 (горят не все светодиоды) |
16.10.2012, 22:55 | 2 |
...вам пригодится сие "Сборник (ver1.0) русский Help & Manual Proteus".
1
|
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 5
|
|
16.10.2012, 23:04 [ТС] | 3 |
Спасибо, обязательно скачаю данный материал и буду изучать.
У меня еще сомнения по моему коду, можно ли управлять уровнями как сделал я, RA1=1 например? Вообще какие типовые ошибки в моем коде? Очень нуждаюсь в конструктивной критике, так как только начал изучать.
0
|
317 / 268 / 61
Регистрация: 12.10.2011
Сообщений: 434
|
||||||||||||||||||||||||||
17.10.2012, 11:24 | 4 | |||||||||||||||||||||||||
Не по теме:
-----------------------------------------------------------------------
----------------------------------------------------------------------- Ну и раз включен WDT, то настройте его (регистр OPTION_REG) и вставьте, где-нибудь
1
|
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 5
|
|
18.10.2012, 12:49 [ТС] | 5 |
Изменил TRISA=0b10000001
WDT отключил в Configuration Bits, перекомпиллировал. МК все равно не работает. Питание на МК есть, на RA0, RA1, RA2 - НЛУ, при замыкании кнопки (подключена к RA0), ничего не происходит, на RA0 в любом положении ноль.Всю голову сломал, в чем же может быть проблема. Я так понимаю, прописывать строку _CONFIGxxxxxx не обязательно, если установить значения в Configuration Bits в MPLAB и снять галочку "прописать в коде". Даже не знаю, в чем может быть подвох, может МК уже не совсем исправный
0
|
317 / 268 / 61
Регистрация: 12.10.2011
Сообщений: 434
|
|
18.10.2012, 17:14 | 6 |
Не по теме: Т.е. уже не Proteus, а проверка на камне??? Тогда схему подключения. Выложите исправленный код, еще лучше asm-listing.(МК - точно PIC16F84A? Или более поздние версии PIC-ов? Если МК, к примеру, PIC16f6xx, то к PORTA уже подключены компараторы, и, по умолчанию, эти порты аналоговые). Не по теме: но если вам надо прошить несколько МК с чужого компьютера, где не установлен MPLAB, спустя какое-то время после написания программы(а, точнее, "забывания" программы, т.к. обычно подобных программ несколько), то, по-моему, лучше прописать строку _CONFIGxxxxxx один раз, чем потом постоянно кликать мышкой.:)
2
|
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 5
|
||||||
19.10.2012, 08:15 [ТС] | 7 | |||||
Здравствуйте!
Спасибо за ответы. МК точно PIC16F84A. Вот листинг: Кликните здесь для просмотра всего текста
--- C:\Program Files\Microchip\Project\test2\test2.c -------------------------------------------
1: #include <pic.h> 2: 3: void main (void) 4: { 5: 6: TRISA=0b10001; 3F1 3011 MOVLW 0x11 3F2 1683 BSF 0x3, 0x5 3F3 0085 MOVWF 0x5 7: TRISB=0b00000000; 3F4 0186 CLRF 0x6 8: PORTA=0; 3F5 1283 BCF 0x3, 0x5 3F6 0185 CLRF 0x5 9: PORTB=0; 3F7 0186 CLRF 0x6 10: 11: while(1) 3FF 2BF8 GOTO 0x3f8 12: { 13: if (RA0==1) 3F8 1C05 BTFSS 0x5, 0 3F9 2BFD GOTO 0x3fd 14: { 15: RA1=0; 3FA 1085 BCF 0x5, 0x1 16: RA2=1; 3FB 1505 BSF 0x5, 0x2 17: } 3FC 2BF8 GOTO 0x3f8 18: else 19: { 20: RA1=1; 3FD 1485 BSF 0x5, 0x1 21: RA2=0; 3FE 1105 BCF 0x5, 0x2 А вот текст программы:
Добавлено через 10 часов 35 минут Программа в Proteus вроде бы начинает выполняться, но судя по тому, что происходит одно переключение при нажатии кнопки, цикл не выполняется, то есть один раз ножки переключились и всё. Интересно, почему так?
0
|
317 / 268 / 61
Регистрация: 12.10.2011
Сообщений: 434
|
||||||
19.10.2012, 13:06 | 8 | |||||
Должно работать, проверял этой программой(отличие только в начале программы - вставил clrf PORTA,clrf PORTB, рекомендуется Microchip перед настройкой TRIS-ов, но для Proteus это не имеет значения):
3
|
0 / 0 / 0
Регистрация: 16.10.2012
Сообщений: 5
|
|
19.10.2012, 14:27 [ТС] | 9 |
Спасибо большое за поддержку! У меня схема практически такая же, резисторы правда на 330 Ом на светодиоды. А на подтягивающий на кнопку - 11 кОм. Но по идее должна работать, может в коде что то не установил. Вобщем вечером еще поковыряюсь, может Proteus переустановить... Вобще мысли всякие, буду пробывать.
0
|
188 / 120 / 4
Регистрация: 23.01.2010
Сообщений: 1,320
|
|
02.11.2015, 21:11 | 10 |
Действительно схема не работает в proteus 7, код откомпелирован для PIC в MPLAB 8.92 Добавлено через 2 минуты я поставил на 360 ом пробуйте
0
|
pyzhman
|
03.11.2015, 18:53
PIC16F84A. Симуляция в Proteus, не горят светодиоды на модели
#11
|
Не по теме: 3 года. И тут на тебе - пробуйте. А человек-то мается поди.
0
|
03.11.2015, 18:53 | |
ATtiny2313 + UART + симуляция в Proteus Симуляция Attiny 25/45/85 в PROTEUS "РЕШЕНО" Atmega16 и симуляция USART в proteus Не горят светодиоды в ноуте Sony svf 152c29v Proteus. Симуляция и управление двигателем на МК Atmega Материнская плата P4SPD - светодиоды горят, а Биос не загружается Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |