16.10.2016, 11:13
|
|
Частый гость
Регистрация: 14.10.2016
Сообщений: 21
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Не мигает светодиод на PIC12F629
LIST P=12F629
#include"P12F629.INC"
TRISA equ 85h
GPIO equ 05h
CMCON equ 19h
Reg_1 equ 6Fh
Reg_2 equ 7Fh
Reg_3 equ 8Fh
org 0
bsf STATUS,5;перешли в первый банк памяти
CLRF TRISA;сбросили защелки трис для управления битами рег GPIO
bcf STATUS,5;переходим обратно в нулевой банк памяти
START bsf GPIO,5;установили пятый бит регистра GPIO в единицу вкл диод
call delay; ушли на задержку
bcf GPIO,5;выключили диод
call delay; ушли на задержку
goto START
delay movlw .13
movwf Reg_1
movlw .57
movwf Reg_2
movlw .16
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
nop
nop
return
end
Светодиод в протеусе не мигает в чем может быть причина??
|
|
|
|
16.10.2016, 11:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Вы, Дмитрий_58, в подпрограмме работаете с банком 0, а регистр 3 запихнули в банк 1.
Для переключения банков удобно использовать макрокоманду banksel. Например banksel TRISA. Сразу видно что выбран банк в котором расположен регистр TRISA, да и запутаться сложнее.
Ну и куски кода оформляйте педалью code (решеточка).
|
|
|
|
16.10.2016, 11:34
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Надеюсь, больше не будете обвинять составителей даташитов и разработчиков протеуса? пока что косячите исключительно вы сами.
Причина в попытке сделать всё "сналету", без достаточного изучения темы.
Ваапервых, есть биты конфигурации, вафтарых, есть ножка сброса Reset, которую нужно подключать к +5, если пропущен конфиг. фтретих, читать даташиты и мануалы все-таки нужно.
С директивой banksel у него только заблуждения возникнут. Вишь, он даже не научился еще писать STATUS, RP0, а вы ему про всякие banksel, skpnz, которые являются всего лишь сокращениями компилятора, а не реальными инструкциями.
Его попытки написания сейчас - это результат прочтения всяких горе-уроков, ну типа тех, что втюхивает Мих.Петр.Ласёк.
Reg_3 equ 8Fh - да, он за границами нулевого банка. В каждом банке не более 127 регистров, с макс.адресом до 7F. И при работе в нулевом банке ему будет соответствовать регистр с адресом TMRH, принадлежащий таймеру.
Даже если адрес записан как 8F, то старший бит будет отброшен и обращение произойдет в диапазоне адресов текущего банка.
Последний раз редактировалось NewWriter; 16.10.2016 в 12:17.
|
|
|
|
16.10.2016, 14:13
|
|
Частый гость
Регистрация: 14.10.2016
Сообщений: 21
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Я исправил уже работает. А разве STATUS,5 и STATUS,RP0 не одно и тоже??Ведь мануал нам говорит что 5 бит регистра STATUS и есть RP0
|
|
|
|
16.10.2016, 15:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Сообщение от Дмитрий_58
|
Я исправил уже работает.
|
Что именно исправил, и как?
Выложите исправленный код, который работает.
Ведь у кого-то тоже может возникнуть такая же проблема. И он сможет сразу найти здесь ее решение, и не понадобится задавать еще раз такой же вопрос.
|
|
|
Сказали "Спасибо" Alex9797
|
|
|
17.10.2016, 19:51
|
|
Прописка
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Сообщение от Alex9797
|
Что именно исправил, и как?
Выложите исправленный код, который работает.
Ведь у кого-то тоже может возникнуть такая же проблема...
|
Ну да, дебилы не мамонты, сразу не вымрут.
|
|
|
|
24.10.2016, 16:43
|
|
Заблокирован
Регистрация: 13.06.2008
Сообщений: 248
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Всем привет.Вот сам написал по pdf от Супер-Модератора.
Да и у вас ошибка, при переходе в нулевой банк нужно Status,0.
;Led on GP1
list p=12c508
Include "p12c508.inc"
__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF
Org 0
goto start
org 4
start movlw .32
movwf 0F
movlw b'000000'
tris GPIO
Pause decfsz 0F,1
goto Pause
movlw b'000000'
movwf GPIO
movlw .30
movwf 0F
Delay decfsz 0F,1
goto Delay
movlw b'000010'
movwf GPIO
goto start
end
Последний раз редактировалось _Master; 25.10.2016 в 14:31.
Причина: Правка
|
|
|
|
25.10.2016, 18:30
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Сообщение от _Master
|
Всем привет.Вот сам написал по pdf от Супер-Модератора.
|
Типа, все знают, что такое "pdf от Супер-Модератора"?
Сообщение от _Master
|
Да и у вас ошибка, при переходе в нулевой банк нужно Status,0.
|
У кого ошибка? Где?
Сообщение от _Master
|
;Led on GP1
list p=12c508
Include "p12c508.inc"
__CONFIG _MCLRE_ON & _CP_OFF & _WDT_OFF
Org 0
goto start
org 4
start movlw .32
movwf 0F
movlw b'000000'
tris GPIO
Pause decfsz 0F,1
goto Pause
movlw b'000000'
movwf GPIO
movlw .30
movwf 0F
Delay decfsz 0F,1
goto Delay
movlw b'000010'
movwf GPIO
goto start
end
|
Блин, глаза сломаешь читать эту кашу без форматирования. Неужели за 240 сообщений не научился пользоваться тегом [CODE] ( # в меню)?
И вообще, к чему этот пост в теме о PIC12F629?
|
|
|
|
25.10.2016, 20:12
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Ха-ха-ха, дак это же "Мастер" Он всегда пишет черт пойми че и невпопад.
Не важно, что ваапще неправильно и совсем не про то, и пофик, что в байте 6 битов, главное - принял участие, написал "сам".
|
|
|
|
19.11.2016, 23:16
|
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Не мигает светодиод на PIC12F629
Персонально. По быстрому накидал, а то тут воду любят лить, а по делу один на сотню. Сори, аксакалы.
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:30.
|
|