Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Простейшая программа - мигалка светодиода. ГДЕ ОШИ
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
Yuriy_R
#include "reg161u.h"

void set1()
{P3=0x000c;}

void set2()
{P3=0x0000;}


void main (void) {
unsigned int i;

while (1) {
DP3=0x000c;

/* Output to LED Port */
for (i = 0; i < 36000; i++) {

set1();

}

for (i = 0; i < 36000; i++) {

set2();
}



}
MALLOY2
да вроде все нормально, только зря вы сразу в функции переключение засунули , попробуте без функций, может у вас стек не неправельно инициализируется или вобще не инициализируется.
И еще зачем вы по два бита устанавлиываете и сбрасываете ? Скажите куда и как подключен светодиод ?
Alexandr
Порты точно настроены на вывод? А порт часом не является открытым коллектором? Осцилографом соответствующие ножки смотрели? А ток, который требуется светодиоду, порт может выдать? А частоту мигания уменьшить(увеличить) координально (в 10 - 100 раз) пробовали?
arttab
Как уже писалось, нет настройуи портов. после того как сделаете и все равно не заработает - смотрите полученый код. Оптимизация вещь спорная и неодназначно правильная.
bav
Цитата(arttab @ Jul 28 2005, 05:35)
Как уже писалось, нет настройуи портов. после того как сделаете и все равно не заработает - смотрите полученый код. Оптимизация вещь спорная и неодназначно правильная.
*


если внимательно посмотреть, настройка портов вроде, присутствует
......
DP3=0x000c;
.....

Вы на чем проверяете? в симуляторе или на железке?
проверьте, работает ли мк: есть ли тактовый сигнал, не включен ли сторожевой таймер и т. п. А может контроллер не прошивается? или с питанием проблемы...?
arttab
я из ИАР в формате ubrof8 перекидываю в аврстудию и симулирую в ней. потом уже на железе проверяю.
Но для скорости можно сразу в ИАРе просмотреть скомпилированный код. Компилятор на шивость проверить.
ControllerZ
Я не хилую мигалку на PIC16F84 зделал вот программа:
list p=16F84
#include <p16F84.inc>

RegEf1 equ 0x0C
RegEf2 equ 0x0D
RegEf3 equ 0x0E
RegEf4 equ 0x0F
RegEf5 equ 0x10
RegEf6 equ 0x11
RegEf7 equ 0x12
RegEf8 equ 0x13
RegTim1 equ 0x14
RegTim2 equ 0x15
RegSetup equ 0x16

org 0x000

Start
clrf PORTA
clrf PORTB
bsf STATUS, RP0
movlw b'00010100'
movwf TRISA
movlw 0x00
movwf TRISB
bcf OPTION_REG, 7
bcf STATUS, RP0

movlw b'00000001'
movwf RegEf1
movlw b'00000010'
movwf RegEf2
movlw b'00000100'
movwf RegEf3
movlw b'00001000'
movwf RegEf4
movlw b'00010000'
movwf RegEf5
movlw b'00100000'
movwf RegEf6
movlw b'01000000'
movwf RegEf7
movlw b'10000000'
movwf RegEf8

movlw 0x00
movwf RegSetup

Effect
call Ef1
call Time
call Ef2
call Time
call Ef3
call Time
call Ef4
call Time
call Ef5
call Time
call Ef6
call Time
call Ef7
call Time
call Ef8
call Time

goto Effect

Setup1
movlw 0x00
xorwf RegSetup, w
btfsc STATUS, Z
return
decf RegSetup, f
call GetEf1
movwf RegEf1
call GetEf2
movwf RegEf2
call GetEf3
movwf RegEf3
call GetEf4
movwf RegEf4
call GetEf5
movwf RegEf5
call GetEf6
movwf RegEf6
call GetEf7
movwf RegEf7
call GetEf8
movwf RegEf8
return


Setup2
movlw 0x07
xorwf RegSetup, w
btfsc STATUS, Z
return
incf RegSetup, f
call GetEf1
movwf RegEf1
call GetEf2
movwf RegEf2
call GetEf3
movwf RegEf3
call GetEf4
movwf RegEf4
call GetEf5
movwf RegEf5
call GetEf6
movwf RegEf6
call GetEf7
movwf RegEf7
call GetEf8
movwf RegEf8
return


GetEf1
movf RegSetup, w
addwf PCL
retlw b'00000001'
retlw b'10000000'
retlw b'10000001'
retlw b'10000001'
retlw b'10000000'
retlw b'10101010'
retlw b'11110000'
retlw b'11111111'

GetEf2
movf RegSetup, w
addwf PCL
retlw b'00000010'
retlw b'00000001'
retlw b'01000010'
retlw b'11000011'
retlw b'11000000'
retlw b'01010101'
retlw b'00001111'
retlw b'00000000'

GetEf3
movf RegSetup, w
addwf PCL
retlw b'00000100'
retlw b'01000000'
retlw b'00100100'
retlw b'11100111'
retlw b'11100000'
retlw b'10101010'
retlw b'11110000'
retlw b'11111111'

GetEf4
movf RegSetup, w
addwf PCL
retlw b'00001000'
retlw b'00000010'
retlw b'00011000'
retlw b'11111111'
retlw b'11110000'
retlw b'01010101'
retlw b'00001111'
retlw b'00000000'

GetEf5
movf RegSetup, w
addwf PCL
retlw b'00010000'
retlw b'00100000'
retlw b'00100100'
retlw b'11100111'
retlw b'11111000'
retlw b'10101010'
retlw b'11110000'
retlw b'11111111'

GetEf6
movf RegSetup, w
addwf PCL
retlw b'00100000'
retlw b'00000100'
retlw b'01000010'
retlw b'11000011'
retlw b'11111100'
retlw b'01010101'
retlw b'00001111'
retlw b'00000000'

GetEf7
movf RegSetup, w
addwf PCL
retlw b'01000000'
retlw b'00010000'
retlw b'10000001'
retlw b'10000001'
retlw b'11111110'
retlw b'10101010'
retlw b'11110000'
retlw b'11111111'
GetEf8
movf RegSetup, w
addwf PCL
retlw b'10000000'
retlw b'00001000'
retlw b'00000000'
retlw b'00000000'
retlw b'11111111'
retlw b'01010101'
retlw b'00001111'
retlw b'00000000'

Ef1
movf RegEf1, w
movwf PORTB
return

Ef2
movf RegEf2, w
movwf PORTB
return

Ef3
movf RegEf3, w
movwf PORTB
return

Ef4
movf RegEf4, w
movwf PORTB
return

Ef5
movf RegEf5, w
movwf PORTB
return

Ef6
movf RegEf6, w
movwf PORTB
return

Ef7
movf RegEf7, w
movwf PORTB
return

Ef8
movf RegEf8, w
movwf PORTB
return

Time
btfss PORTA, 2
call Setup1
btfss PORTA, 4
call Setup2
movlw 0xFF
movwf RegTim1
T1 movlw 0xFF
movwf RegTim2
T2 decfsz RegTim2
goto T2
decfsz RegTim1
goto T1
return

end
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.