| Автор |
Съобщение |
|
Емил Енчев
Ранг: Минаващ
Регистриран на: Сря Апр 18, 2007 1:43 am Мнения: 31
|
 Как да конфигурирам контролера?
За пръв път работя с PIC16F877A. Опитвам се само да изведа данни на два от портовете, за да видя дали правилно работя, но нищо не се получава...
Ето сорсът, ако някой желае да каже какво съм пропуснал при дефинирането:
list p=16F877A
#include <p16F877A.inc>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
;**** DEFINIRANE NA KONSTANTI I PROMENLIVI ****
w EQU 0
f EQU 1
CBLOCK H'0C' ;Adres na parvija registar ot GPR
Counter
Row_Counter
ROW_BUFFER
ENDC
ORG H'0000' ;Vektor za Na4alno ustanovjavane
goto start ;Prehod kam na4aloto na programata
start bsf STATUS,RP0 ;Izbor na banka 1
movlw B'00000110' ;00000100b =>W
movwf OPTION_REG ;(W) => OPTION_REG => KOEF.NA DELENE (1:64)
bcf STATUS,RP0
bcf STATUS,RP1
clrf PORTA ;00h => PORT A
clrf PORTB ;00h => PORT B
clrf PORTC ;00h => PORT C
clrf PORTD ;00h => PORT D
clrf PORTE ;00h => PORT E
bsf STATUS,RP0 ;Izbor na banka 1
movlw B'00000110' ;00000100b =>W
movwf ADCON1 ;VSI4KI PORTOVE-DIGITALNI
movlw B'11100000' ;PORTA: RA0-RA4-IZHODI, RA5-VHOD
movwf TRISA
clrf TRISC ;RC0,RC7 - IZHODI
clrf TRISD ;RD0,RD7 - IZHODI
movlw B'11111000' ;PORTE: RE0-IZHOD, RE1,RE2-VHODOVE
movwf TRISE
bcf STATUS, RP0 ;Izbor na banka 0
main
movlw B'01010101'
movwf PORTC
movlw B'11100111'
movwf PORTD
END
|
| Пет Май 18, 2007 9:15 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Да вземеш да отидеш на сайта на Майкрочип,да изтеглиш 1-2 ПДФ и да попрочетеш как стават нещата а?Има и примери ама май нещо не ти се чете.
|
| Пет Май 18, 2007 9:48 pm |
|
 |
|
Емил Енчев
Ранг: Минаващ
Регистриран на: Сря Апр 18, 2007 1:43 am Мнения: 31
|
Имам ги 10-ина. И нищо не можах да направя. Ако можех да се оправя така, нямаше да питам.
Свободно свалете темата от форума. Да търсиш конкретен отговор е просто празна работа...
|
| Пет Май 18, 2007 10:33 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Мързи те и още как! Ето ти едно парче код за инициализация.Преди да седнеш да пишеш седни и пропрочети за асемблера.Не си мисли че ще намериш в нета точно това дето на теб ти трябва за проекта ти - за това се хвани и чети здраво.
Винаги ще се намери някой да помогне,ама да седне да ви върши работата....
title "PIC16F877A"
list p=16F877A, f=INHX32
Clock_Freq EQU d'1000000'
include"P16F877A.INC"
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
CBLOCK 0x030
tempone
temptwo
binh_reg
binl_reg
tenk_reg
thous_reg
hund_reg
tens_reg
ones_reg
ENDC
;******************************************************************************
;Reset vector
; This code will start executing when a reset occurs.
ORG 0x0000
goto Main ;go to start of main code
ORG 0x0060
Main:
CLRF tempone
CLRF temptwo
CLRF binh_reg
CLRF binl_reg
CLRF thous_reg
CLRF hund_reg
CLRF tenk_reg
CLRF tens_reg
CLRF ones_reg
;*******************************************
BANKSEL INTCON
CLRF INTCON
BANKSEL PORTB
CLRF PORTB
BANKSEL TRISB
CLRF PIE1
CLRF PIE2
MOVLW 0x00
MOVWF TRISB
BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW B'10000000'
MOVWF ADCON1
banksel PORTC
CLRF PORTC
MOVLW 0х00
MOVWF TRISC
MOVWF PORTC
BANKSEL PORTD
CLRF PORTD
MOVLW 0x00
MOVWF CVRCON
BANKSEL CMCON
MOVLW B'00000111'
MOVWF CMCON
BANKSEL TRISD
MOVLW 0x00
CLRF TRISD
BANKSEL PORTD
CLRF PORTD
;************************************************************
|
| Пет Май 18, 2007 10:47 pm |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Емиле - освен инициализацията има още едно нещо дето му се вика основен цикъл на програмата. Като го няма това нещо и контролера по някое си време хваща къра без мотика  .
Кичо - не му се карай така на човека бе, нито ти, нито аз сме се родили научени  . Доскоро и ти питаше разни елементарни работи за С-то  .
|
| Пет Май 18, 2007 11:59 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Mne
По скоро не е настроил портовете да не са аналогови
BSF STATUS,RP0
MOVLW B'10000010'
MOVWF OPTION_REG
MOVLW 0x06
MOVWF ADCON1 ; Настроиване на изходите само като цифрови
MOVLW B'00111001'
MOVWF TRISA ;RA0-RA3 - ВХОДОВЕ
CLRF TRISB ;RB0-RB7 - Изходи
CLRF TRISC ;RC0-RC7 - Изходи
BCF STATUS,RP0
|
| Съб Май 19, 2007 12:09 am |
|
 |
|
VSU
Ранг: Напреднал
Регистриран на: Нед Авг 14, 2005 1:08 pm Мнения: 433 Местоположение: Казанлък
|
Я разгледай това за port A,B,C е ама ти ще си го оправиш като го разучиш 
|
| Съб Май 19, 2007 1:45 am |
|
 |
|
bobyk
Ранг: Ориентиран
Регистриран на: Пон Яну 09, 2006 11:32 am Мнения: 276 Местоположение: Kozloduy
|
Май имам DEJA VU
Ами достатъчно се каза, това не е първия случай накой започва с ПИК16Ф84, понаучи нещо и след това си мисли че всички контролери са същите и си копират инициялизацията и после викат ама що не работи, ами ако се чете внимателно ще е ясно що.
Това е вярно само при Ф84, и доста други ама на това обръщам внимание, че май най-често не се забелязва.
Е успех иначе, Ф877 от 16 серия май си остава класика, има защо. 
|
| Съб Май 19, 2007 5:02 pm |
|
 |
|
hobsi
Ранг: Минаващ
Регистриран на: Пон Юли 09, 2007 12:55 am Мнения: 8
|
 Как да конфигурирам контролера?
KI40 AZ PO PRINCIP SE OPRAVIAM SAM NO OT KADE GI VZE TIA PDF-I DETO SA OPISAN REGISTRITE CRVCON I CMCOM DAI NEKAF LIK SHTOT IAVNO IMA NESHTO V TIAH A V PDF-ITE DEOGI TEGLIA GI DAVAT KATO REZERVIRANI
|
| Пон Юли 09, 2007 1:02 am |
|
 |
|
hobsi
Ранг: Минаващ
Регистриран на: Пон Юли 09, 2007 12:55 am Мнения: 8
|
 Как да конфигурирам контролера?
|
| Пон Юли 09, 2007 1:36 am |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
 Re: Как да конфигурирам контролера?
Добре дошъл във форума, тук се пише на кирилица, на клавиатурите си имаме клавиши CapsLock, които ще се наложи да използваш в бъдеще за да не бъдат затрити мненията ти.
По темата, къде ги видя тия резервирани CMCON и CVRCON ?
|
| Пон Юли 09, 2007 7:39 am |
|
 |
|
Емил Енчев
Ранг: Минаващ
Регистриран на: Сря Апр 18, 2007 1:43 am Мнения: 31
|
 Re: Как да конфигурирам контролера?
С изпратената от Кичо конфигурация се получи.
Работи и всичко останало в програмата ми.
Наистина, досега не ми е ясно какво бях сгрешил в началото...
|
| Нед Юли 22, 2007 9:28 pm |
|
 |
|
velio
Ранг: Форумен бог
Регистриран на: Вто Юни 07, 2005 6:20 pm Мнения: 3532
|
Е то мързела голяма работа.
Това тука дали е така както си го написал?
Вече ти обърнаха внимание на него...
|
| Вто Юли 24, 2007 10:25 am |
|
 |
|
Емил Енчев
Ранг: Минаващ
Регистриран на: Сря Апр 18, 2007 1:43 am Мнения: 31
|
Това с мързела не е зле да го позабравите. Защото работя този проект вече 3 месеца и го изпълнявам от проектирането на софтуера и хардуера, захранването, до статичното управление на 1200 консуматора (електромоторчета), които в момента свързвам и са някакъв изпълнителен възел. Мощността на това животно е около 5000 вата и едва ли можете да си представите колко неща трябва да съгласувам, за да не направя една голяма електронна, компютърно управляема факла! Мерната единица на количеството запоени елементи е не "бр.", а "хил.бр."! Не съм докачлив, но упреците на тема мързел определено приемам доста лично в този случай. Не си мислете, че става дума за проект в техникума, защото ще пусна линк след презентацията на "проектчето" и ще схванете за какво става дума като труд! При такова напрежение при работата(определено имам и срок за изпълнение), нормално е да допускам и грешки, нали? А и не се считам за компютърен бог, въпреки че цялата система използва три коренно различни нива на компютърно програмиране...
|
| Съб Юли 28, 2007 2:03 am |
|
 |
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Огромна мигалка ??? 
|
| Пон Юли 30, 2007 9:02 am |
|
|