Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем с pic16f84a и 74НС595
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11030
Страница 1 от 1

Автор:  Stefan Bu [ Нед Яну 27, 2013 9:56 pm ]
Заглавие:  Проблем с pic16f84a и 74НС595

Здравейте на всички! Чета редовно форума но досега не бях писал, но ето че ми се налага да потърся помощ от вас. От контролера подавам данни към 5 броя 74НС595 , но някъде забива. При писане на програма само с един байт всичко е наред , но когато добавя таблица контролера изпраща някакви битове и спира. Интересното ми се получи че като допра извод от мултицета към масата на някоя от 74НС595 се получава някакво преместване и пак спира. Може ли някой да посочи проблема в написания по-долу файл.


list p=16F84A
#include <P16F84.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
w EQU 0
f EQU 1
CBLOCK H'0C'
Counter
Counter_Bite
Counter_Baytovete
Temp
ENDC
#define DATAA PORTB,0
#define TAKT PORTB,1
#define RCLK PORTB,2
ORG H'0000'
goto start
start bsf STATUS,RP0
movlw B'11010111'
movwf OPTION_REG
bcf STATUS,RP0
clrf PORTB
bsf STATUS,RP0
movlw B'11111000'
movwf TRISB
bcf STATUS,RP0
goto main
wait movlw D'5'
movwf Counter
clrf TMR0;
again bcf INTCON,T0IF;
loop btfss INTCON,T0IF;
goto loop;
decfsz Counter,f
goto again;
return;
Table addwf PCL,f
retlw B'10110010'
retlw B'00010011'
retlw B'11111101'
retlw B'01100000'
retlw B'10001011'
retlw B'10110111'
main movlw D'8'
movwf Counter_Bite
movlw D'6'
movwf Counter_Baytovete
XXX movfw Counter_Baytovete
call Table
movwf Temp
Rotacia rlf Temp,f
btfss STATUS,C
bcf DATAA
btfsc STATUS,C
bsf DATAA
bsf TAKT
nop
bcf TAKT
nop
bsf RCLK
nop
bcf RCLK
nop
call wait
decfsz Counter_Bite,f
goto Rotacia
decfsz Counter_Baytovete,f
goto XXX
goto main
END

Автор:  fan [ Пон Яну 28, 2013 2:25 am ]
Заглавие:  Re: Проблем с pic16f84a и 74НС595

Здравей!
Сравни и открий разликите. Успех!
Код:
   list p=16F84A
   #include <P16F84.inc>
   __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
w  EQU 0
f  EQU 1

   CBLOCK H'0C'
Counter
Counter_Bite
Counter_Baytovete
Temp
   ENDC

   #define DATAA PORTB,0
   #define TAKT PORTB,1
   #define RCLK PORTB,2


   ORG H'0000'
   goto start
start
   bsf STATUS,RP0
   movlw B'11010111'
   movwf OPTION_REG
   bcf STATUS,RP0
   clrf PORTB
   bsf STATUS,RP0
   movlw B'11111000'
   movwf TRISB
   bcf STATUS,RP0
   goto main

wait movlw D'5'
   movwf Counter
   clrf TMR0;
again
   bcf INTCON,T0IF;
loop
   btfss INTCON,T0IF;
   goto loop;
   decfsz Counter,f
   goto again;
   return;

Table addwf PCL,f
   retlw .0
   retlw B'10110010'
   retlw B'00010011'
   retlw B'11111101'
   retlw B'01100000'
   retlw B'10001011'
   retlw B'10110111'

main
   call wait
   movlw D'6'
   movwf Counter_Baytovete
XXX
   movlw D'8'
   movwf Counter_Bite
   movf Counter_Baytovete,w
   call Table
   movwf Temp
Rotacia
   rlf Temp,f
   btfss STATUS,C
   bcf DATAA
   btfsc STATUS,C
   bsf DATAA
   bsf TAKT
   nop
   bcf TAKT
   nop
   bsf RCLK
   nop
   bcf RCLK
   nop
   call wait
   decfsz Counter_Bite,f
   goto Rotacia
   decfsz Counter_Baytovete,f
   goto XXX
   goto main
   END

Автор:  Stefan Bu [ Пон Яну 28, 2013 2:25 pm ]
Заглавие:  Re: Проблем с pic16f84a и 74НС595

Много благодаря за помощта. Видях си грешките , но сега при при сверяване на записания .нех ми изписва Verify failed at adress 0000h. Този проблем го прави и при други .нех-ве. Но за него ще поровя във форума.

Автор:  relsys [ Вто Яну 29, 2013 6:07 pm ]
Заглавие:  Re: Проблем с pic16f84a и 74НС595

Махни защитата от четене на чипа и няма да ти показва това.

Автор:  Stefan Bu [ Вто Яну 29, 2013 9:34 pm ]
Заглавие:  Re: Проблем с pic16f84a и 74НС595

Имах прекъснат проводник на кабела за програмиране и след поправката всичко се оправи. Още веднъж благодаря за помощта.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/