D
dhruv101
Guest
Sveiki visi,
Aš stengiuosi išbandyti savo PIC16F676 ant pjovimo duonos.Aš parašiau paprasta programa, kuri nustato uosto RA1 aukšto.Aš bandžiau jungiantis IC su pjovimo duonos ir jungiantis VCC ir žemės tiekimo, Tačiau aš dar negavau savo produkcijos.
Mano kodas:;************************************************* *********************
sąrašas p = 16f676; sąrašas direktyvoje nustatyti procesoriaus
#
include <p16F676.inc>; procesorius tikrų kintamųjų apibrėžimai
errorlevel -302; paduodant pranešimą 302 iš sąrašo failą
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
"; __CONFIG Direktyvos naudojamas dėti rankos žodį. Asm failą.
The studijų po direktyvos yra atitinkamomis. Vč failą.
; Žr duomenų lape pateikti papildomos informacijos apie konfigūracijos žodžio parametrai.
;------------ Defines
# define D0On B'00000010 "
# define D0_1Tris B'00001000 "
# define JUNGIKLIO PORTA, 3;***** KINTAMO APIBRĖŽIMAI
w_temp EQU 0x20; kintamasis naudojamas kontekste taupymas
status_temp EQU 0x21; kintamasis naudojamas kontekste taupymas
cblock 0x20
Vėliavos; LED vėliavas
CountH; debounce skaitiklis - MS Baitas
CountL; debounce skaitiklis - LS Baitas
endc
;************************************************* *********************
ORG 0x000; procesorius reset vektorius
goto pagrindinis, eikite į titulinį programosORG 0x004; Pertraukties vektoriaus vietą
movwf w_temp; išgelbėti nuo dabartinės W registro turinį
movf STATUSĄ, m; perkelti Registras būklės į W registrą
movwf status_temp; išsaugoti išjungti turinio Statusas registre; Isr kodą galite rasti čia arba būti kaip skambinti Daiktavardis kiturmovf status_temp, m; gauti kopiją Statusas registre
movwf Statusas; atkurti anksto isr Statusas registre turinį
swapf w_temp, f
swapf w_temp, m; atkurti anksto isr W registro turinį
retfie; grįžti iš pertraukti; Pirmuosius 4 instrukcijų nereikia, jei vidaus generatorius nenaudojama
svarbiausias
skambinti 0x3FF; atkurti gamyklos kalibravimo vertė
BSF STATUSĄ, RP0; nustatytą failą registre banko 1
movwf OSCCAL; atnaujinti užsiregistruoti fabrikas nių vertė
movlw D0_1Tris; nustatyti kryptį taip LED D0 - D7 yra rezultatų
movwf TRISA; visi kiti įėjimai (aukštas-Z)
clrf Ansel; config / D IO kaip Digital
movlw 00h
movwf TRISA
bcf STATUSĄ, RP0; nustatytą failą registre banko 0
; Likusių kodas goes here
clrf PORTA
movlw 07h
movwf CMCON
movlw D0On; nustatyti uosto RA1 aukštas
movwf PORTA; siųsti duomenis PORTA uosto
; movlw 08h
; movwf PORTA
goto Pagrindinisnop
nop
; Inicijuoti eeprom vietose
ORG 0x2100
DE 0x00, 0x01, 0x02, 0x03END; direktyva pabaigos programa "
================================================== =============
Kokios paramos schema bus reikalaujama?Ačiū,
Dhruv
Aš stengiuosi išbandyti savo PIC16F676 ant pjovimo duonos.Aš parašiau paprasta programa, kuri nustato uosto RA1 aukšto.Aš bandžiau jungiantis IC su pjovimo duonos ir jungiantis VCC ir žemės tiekimo, Tačiau aš dar negavau savo produkcijos.
Mano kodas:;************************************************* *********************
sąrašas p = 16f676; sąrašas direktyvoje nustatyti procesoriaus
#
include <p16F676.inc>; procesorius tikrų kintamųjų apibrėžimai
errorlevel -302; paduodant pranešimą 302 iš sąrašo failą
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
"; __CONFIG Direktyvos naudojamas dėti rankos žodį. Asm failą.
The studijų po direktyvos yra atitinkamomis. Vč failą.
; Žr duomenų lape pateikti papildomos informacijos apie konfigūracijos žodžio parametrai.
;------------ Defines
# define D0On B'00000010 "
# define D0_1Tris B'00001000 "
# define JUNGIKLIO PORTA, 3;***** KINTAMO APIBRĖŽIMAI
w_temp EQU 0x20; kintamasis naudojamas kontekste taupymas
status_temp EQU 0x21; kintamasis naudojamas kontekste taupymas
cblock 0x20
Vėliavos; LED vėliavas
CountH; debounce skaitiklis - MS Baitas
CountL; debounce skaitiklis - LS Baitas
endc
;************************************************* *********************
ORG 0x000; procesorius reset vektorius
goto pagrindinis, eikite į titulinį programosORG 0x004; Pertraukties vektoriaus vietą
movwf w_temp; išgelbėti nuo dabartinės W registro turinį
movf STATUSĄ, m; perkelti Registras būklės į W registrą
movwf status_temp; išsaugoti išjungti turinio Statusas registre; Isr kodą galite rasti čia arba būti kaip skambinti Daiktavardis kiturmovf status_temp, m; gauti kopiją Statusas registre
movwf Statusas; atkurti anksto isr Statusas registre turinį
swapf w_temp, f
swapf w_temp, m; atkurti anksto isr W registro turinį
retfie; grįžti iš pertraukti; Pirmuosius 4 instrukcijų nereikia, jei vidaus generatorius nenaudojama
svarbiausias
skambinti 0x3FF; atkurti gamyklos kalibravimo vertė
BSF STATUSĄ, RP0; nustatytą failą registre banko 1
movwf OSCCAL; atnaujinti užsiregistruoti fabrikas nių vertė
movlw D0_1Tris; nustatyti kryptį taip LED D0 - D7 yra rezultatų
movwf TRISA; visi kiti įėjimai (aukštas-Z)
clrf Ansel; config / D IO kaip Digital
movlw 00h
movwf TRISA
bcf STATUSĄ, RP0; nustatytą failą registre banko 0
; Likusių kodas goes here
clrf PORTA
movlw 07h
movwf CMCON
movlw D0On; nustatyti uosto RA1 aukštas
movwf PORTA; siųsti duomenis PORTA uosto
; movlw 08h
; movwf PORTA
goto Pagrindinisnop
nop
; Inicijuoti eeprom vietose
ORG 0x2100
DE 0x00, 0x01, 0x02, 0x03END; direktyva pabaigos programa "
================================================== =============
Kokios paramos schema bus reikalaujama?Ačiū,
Dhruv