Отговори на тема  [ 32 мнения ]  Отиди на страница 1, 2, 3  Следваща
PIC16F84A 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Дек 30, 2007 2:29 am
Мнения: 67
Мнение PIC16F84A
Здравейте, има ли някой спецялист да помогне за този файл. Когато го програмирам, PIC-a не реагира изобщо, държи се като празен, а всичко е записано. Имам чувството, че някъде по кода има грешка. Може ли да го погледнете, защото аз не разбирам чак толкова от програмиране и немога да открия грешката, поне като го прегледах още няколко пъти не откривам нищо. :evil:

Другият вариянт е да няма грешка във кода, а аз като го конвертирам във hex със MpLab да омазвам нещо :evil: , за това ако няма грешка моля помогнете ми със настройките на MPLAB-a. Какви настройки трябва да правя за да го конвертирам. Ако може да ми обясните процедурата от стартирането на MPLAB, доколкото знам бяха само няколко кликвания и избиране на формата, чипа и зареждане на кода. :roll: :wink: :)

Закачам кода във прикачения файл, да го видите, че нещо ме съмнява. :) Благодаря предварително. :wink: Другия вариянт за който си мсилех е да е лоша спойка на платката, или късо но и на друга го слагах и пак не тръгна, за това се вглеждам в програмата. :wink: :)


Прикачени файлове:
ups.asm [6.59 KiB]
193 пъти

_________________
Danger High Voltage! - Надушвате ли енергията, когато отваряте таблото? :)
Skype: Gigavolt_501


Последна промяна ji4kajiata на Съб Май 03, 2008 5:55 pm, променена общо 1 път

Съб Май 03, 2008 5:46 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Дек 30, 2007 2:29 am
Мнения: 67
Мнение PIC16F84A
Ще го пусна и тук, по-лесно ще го погледнете, да не се разправяте да го теглите.

;----------------------------------------------------
; UPS.ASM
; Program for Blaster Control Board (INTROMARIN-C).
;----------------------------------------------------

LIST p=16F84 ; PIC16F84 is the target processor

#include p16f84.inc

;#define PROC16C71

; variables definition

; регистры
T EQU 10H ; счетчик периода макс=200
LEN EQU 11H ; длит. активн. состояния макс=100
PP EQU 12H ; счетчик полупериода
BAT EQU 13H ; признак работы от батарей
FRONT EQU 14H ; признак переднего фронта синхронизации
SIN_OK EQU 15H ; признак синхронизации
SHORT EQU 16H ; кратковременный буфер
FLAG_F EQU 17H ; флаг фронта синхронизации
PWcnt EQU 18H ; счетчик длит. сетевого питания
SINcnt EQU 19H ; счетчик периода сетевого питания
t EQU 20H ; внутренний счетчик периода
BATime EQU 21H ;
time EQU 22H ; счетчик 20мс макс=5.12сек
zumm EQU 23H ; признак включения зуммера

; константы
period EQU .165 ; период
len EQU .80

; биты порта A
OS EQU 2 ; вход ОС преобразователя
LOWBAT EQU 3 ; вход LOW BATTERY
; EQU 4 ; вход


; биты порта B
SINH EQU 0 ; вход синхронизации
PWGOOD EQU 1 ; вход POWER_GOOD
; EQU 2 ; выход
RELAY EQU 3 ; выход управление реле
BASE0 EQU 4 ; выход база транзистора
BASE1 EQU 5 ; выход база транзистора
; EQU 6 ; выход
ZUMM EQU 7 ; выход зуммер



GOTO Start
;------------------------------------------;
; MAIN ;
;------------------------------------------;
ORG 200

; Начальные установки
Start: ; Начальные установки

; Initialize PORTA by
BCF STATUS, RP0
CLRF PORTA
BSF STATUS, RP0
MOVLW 0x1f ; Set RA0-RA4 as inputs
MOVWF TRISA
#ifdef PROC16C71
MOVLW 0x00 ; Set RA0-RA4 as analog
MOVWF ADCON1
#endif

; Initialize PORTB by
BCF STATUS, RP0
CLRF PORTB
BSF STATUS, RP0
MOVLW 0x03 ; Set RB0,Rb1 as inputs, all other as output
MOVWF TRISB

; TIMER INTERRUPT ENABLE
BSF STATUS, RP0
MOVLW 0xA0
MOVWF INTCON

; SET_TIMER
BSF STATUS, RP0 ; запрограммировать таймер
; NEW !!!! WDT
movlw 0x58
movwf OPTION_REG ; источник внутренний,
; подключить делитель к WDT,
; коэффициент делителя 1
; NEW !!! WDT
BCF STATUS, RP0
BCF INTCON, T0IF ; сбросить флаг
;MOVF period ;
MOVLW period
MOVWF TMR0

; PRESET REGISTERS
BCF STATUS, RP0
MOVLW .199
MOVWF T
MOVLW .80
MOVWF LEN
BSF BAT, 0
CLRF FRONT
CLRF BATime
CLRF time
CLRF zumm


; Самотестирование
;BCF PORTB, 3
;CALL ZUMM
;CALL ZUMM
;CALL ZUMM
;BSF PORTB, 3

; ОЖИДАНИЕ ПРЕРЫВАНИЯ
GOTO $



;------------------------------------------;
; Обработка прерываний ;
;------------------------------------------;
ORG 4
;__interrupt{
;------------------------------__SET_TIMER ------------------
BCF STATUS, RP0
btfss TMR0, 0 ; коррекция
goto $+1
BCF INTCON, T0IF ; сбросить флаг
MOVLW period ; как константу
MOVWF TMR0
;-------------------------------------------------------------
INCF T, 1 ; НАРАЩИВАНИЕ СЧЕТЧИКА ПЕРИОДА
MOVF T, 0
SUBLW .199
BTFSS STATUS, C
CLRF T ; СБРОС СЧЕТЧИКА ПЕРИОДА
;-------------------------------------------------------------
INCF t, 1
MOVF T, 1 ; СБРОС ВНУТРЕННЕГО СЧ. ПЕРИОДА
BTFSC STATUS, Z
CLRF t
;-------------------------------------------------------------
clrwdt ; !!!! NEW WDT !!!!
;-------------------------------------------------------------
;__if(t==0)||(t==99) { PP++
MOVF t, 0
SUBLW .0
BTFSS STATUS, Z
GOTO INT1
CLRF PP ; СБРОС ПРИЗНАКА ПОЛУПЕРИОДА
MOVLW len ; ПЕРЕУСТАНОВКА LEN
MOVWF LEN
GOTO INT2
INT1: MOVF t, 0
SUBLW .99
BTFSS STATUS, Z
GOTO INT2
BSF PP, 0 ; УСТАНОВКА ПРИЗНАКА ПОЛУПЕРИОДА
MOVLW len ; ПЕРЕУСТАНОВКА LEN
MOVWF LEN
INT2: MOVF LEN, 1 ; ДЕКРЕМЕНТ LEN
BTFSS STATUS, Z
DECF LEN, 1
;__}

;******************* ПРИНЯТИЕ РЕШЕНИЙ ************************
;-------------------------- ПЕРЕХОД НА БАТАРЕИ ---------------
BTFSC PORTB, PWGOOD
GOTO POWER
BSF BAT, 0
CLRF PWcnt
CLRF SIN_OK
POWER:
;-------------------------- ПЕРЕХОД НА СЕТЬ ------------------
BTFSS PORTB, PWGOOD
GOTO DESIGN
BTFSS PWcnt, 7
GOTO DESIGN
BTFSS SIN_OK, 0
GOTO DESIGN
CLRF BAT
DESIGN:
;*************************************************************

;-------------------------- ВКЛЮЧИТЬ РЕЛЕ --------------------
BTFSC BAT, 0
BCF PORTB, RELAY
BTFSS BAT, 0
BSF PORTB, RELAY
;-------------------------- УПРАВЛЕНИЕ ТРАНЗИСТОРАМИ -------
;__if(BAT==1){
BTFSS BAT, 0
GOTO INT4
;__if(LEN!=0){
MOVF LEN, 1
BTFSC STATUS, Z
GOTO INT4
;__if(PP==0){
BTFSC PP, 0
GOTO INT3
BSF PORTB, BASE0
BCF PORTB, BASE1
GOTO INT5
INT3: BCF PORTB, BASE0
BSF PORTB, BASE1
GOTO INT5
;__}
;__}
;__else{}
INT4: BCF PORTB, BASE0
BCF PORTB, BASE1
INT5:
;__}
;------------------------- СИГНАЛ ПРИ ПРОПАДАНИИ СЕТИ --------
MOVF t, 0
BTFSS STATUS, Z
GOTO Z1
INCF time, 1
INCF BATime, 1
BTFSC BAT, 0
GOTO Z2
CLRF BATime
BCF zumm, 0
GOTO Z1
Z2: MOVF BATime, 0 ; if(BATime>64) BATime=64
SUBLW .255
BTFSS STATUS, Z
GOTO $+5
MOVLW .254
MOVWF BATime
BCF zumm, 0
GOTO $+2
BSF zumm, 0 ; ВКЛЮЧИТЬ ЗУММЕР
Z1:
;------------------------- ЗУММЕР ----------------------------
BTFSS zumm, 0
GOTO NOZUMM
BTFSS time, 5
GOTO NOZUMM
BTFSC t, 1
BSF PORTB, 7
BTFSS t, 1
NOZUMM: BCF PORTB, 7

;------------- ПРОВЕРКА НАЛИЧИЯ СЕТЕВОГО НАПРЯЖЕНИЯ ----------
; if(T==0){
MOVF T, 0
BTFSS STATUS, Z
GOTO NO_PW
; if(!PWGOOD) {
BTFSS PORTB, PWGOOD
CLRF PWcnt ;}
INCF PWcnt, 1
; if(PWcnt>128) PWcnt=128 {
MOVF PWcnt, 0
SUBLW .128
BTFSC STATUS, C
GOTO $+3
MOVLW .128
MOVWF PWcnt ;}
; }
NO_PW:

;-------------------------- СИНХРОНИЗАЦИЯ ПО ФАЗЕ ----------
; if(СЕТЕВОЕ НАПРЯЖЕНИЕ){
BTFSS PWcnt, 7
GOTO NO_SIN
; }
INCF SINcnt, 1
;_if(длина имп. > 0.5 мс){
BTFSS PORTB, SINH
CLRF FRONT
INCF FRONT, 1
MOVF FRONT, 0
SUBLW .5
BTFSS STATUS, Z
GOTO INT6
;_фронт обнаружен
; проверка периода сетевого напряжения
MOVF SINcnt, 0
MOVWF SHORT
CLRF SINcnt
SUBLW .195 ; >195
BTFSC STATUS, C
GOTO NO_SIN
MOVF SHORT, 0
SUBLW .205 ; >205
BTFSS STATUS, C
GOTO NO_SIN
; СОБСТВЕННО СИНХРОНИЗАЦИЯ
MOVF T, 0
SUBLW .5
BTFSC STATUS, C
GOTO SIN1
MOVF T, 0
SUBLW .194
BTFSS STATUS, C
GOTO SIN1
MOVF T, 0
ADDLW 3
MOVWF T
GOTO NO_SIN
SIN1: MOVLW .199
MOVWF T
BSF SIN_OK, 0
GOTO $+2
NO_SIN: CLRF SIN_OK
;__}
INT6:



RETFIE
;__}




END

_________________
Danger High Voltage! - Надушвате ли енергията, когато отваряте таблото? :)
Skype: Gigavolt_501


Съб Май 03, 2008 5:48 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Вто Окт 03, 2006 11:58 am
Мнения: 924
Местоположение: Ботевград
Мнение 
GOTO Start
;------------------------------------------;
; MAIN ;
;------------------------------------------;
ORG 200

трябва да стане:

ORG H'0000'
goto start


Съб Май 03, 2008 7:10 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
Zeus написа:
GOTO Start
;------------------------------------------;
; MAIN ;
;------------------------------------------;
ORG 200

трябва да стане:

ORG H'0000'
goto start

Или ше станееее... или нема да стане - със сигурност второто! :D Не е лошо да му напишеш една конфигурация, т.е. с какъв генератор ще работи, дали да му е включено кучето и т.н. Е тогава може и да стане...


Съб Май 03, 2008 8:26 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Дек 30, 2007 2:29 am
Мнения: 67
Мнение 
Благодаря на всички участващи. Всеки съвет е от полза, че направих много платки, а се оказа, че софтуера не тръгва, :evil: и вече се побърках незнам какво да правя. Zeus - Ето така ли трябва да е:

;----------------------------------------------------
; UPS.ASM
; Program for Blaster Control Board (INTROMARIN-C).
;----------------------------------------------------

LIST p=16F84 ; PIC16F84 is the target processor

#include p16f84.inc

;#define PROC16C71

; variables definition

; регистры
T EQU 10H ; счетчик периода макс=200
LEN EQU 11H ; длит. активн. состояния макс=100
PP EQU 12H ; счетчик полупериода
BAT EQU 13H ; признак работы от батарей
FRONT EQU 14H ; признак переднего фронта синхронизации
SIN_OK EQU 15H ; признак синхронизации
SHORT EQU 16H ; кратковременный буфер
FLAG_F EQU 17H ; флаг фронта синхронизации
PWcnt EQU 18H ; счетчик длит. сетевого питания
SINcnt EQU 19H ; счетчик периода сетевого питания
t EQU 20H ; внутренний счетчик периода
BATime EQU 21H ;
time EQU 22H ; счетчик 20мс макс=5.12сек
zumm EQU 23H ; признак включения зуммера

; константы
period EQU .165 ; период
len EQU .80

; биты порта A
OS EQU 2 ; вход ОС преобразователя
LOWBAT EQU 3 ; вход LOW BATTERY
; EQU 4 ; вход


; биты порта B
SINH EQU 0 ; вход синхронизации
PWGOOD EQU 1 ; вход POWER_GOOD
; EQU 2 ; выход
RELAY EQU 3 ; выход управление реле
BASE0 EQU 4 ; выход база транзистора
BASE1 EQU 5 ; выход база транзистора
; EQU 6 ; выход
ZUMM EQU 7 ; выход зуммер



ORG H'0000
;------------------------------------------;
; MAIN ;
;------------------------------------------;
goto start

; Начальные установки
Start: ; Начальные установки

; Initialize PORTA by
BCF STATUS, RP0
CLRF PORTA
BSF STATUS, RP0
MOVLW 0x1f ; Set RA0-RA4 as inputs
MOVWF TRISA
#ifdef PROC16C71
MOVLW 0x00 ; Set RA0-RA4 as analog
MOVWF ADCON1
#endif

; Initialize PORTB by
BCF STATUS, RP0
CLRF PORTB
BSF STATUS, RP0
MOVLW 0x03 ; Set RB0,Rb1 as inputs, all other as output
MOVWF TRISB

; TIMER INTERRUPT ENABLE
BSF STATUS, RP0
MOVLW 0xA0
MOVWF INTCON

; SET_TIMER
BSF STATUS, RP0 ; запрограммировать таймер
; NEW !!!! WDT
movlw 0x58
movwf OPTION_REG ; источник внутренний,
; подключить делитель к WDT,
; коэффициент делителя 1
; NEW !!! WDT
BCF STATUS, RP0
BCF INTCON, T0IF ; сбросить флаг
;MOVF period ;
MOVLW period
MOVWF TMR0

; PRESET REGISTERS
BCF STATUS, RP0
MOVLW .199
MOVWF T
MOVLW .80
MOVWF LEN
BSF BAT, 0
CLRF FRONT
CLRF BATime
CLRF time
CLRF zumm


; Самотестирование
;BCF PORTB, 3
;CALL ZUMM
;CALL ZUMM
;CALL ZUMM
;BSF PORTB, 3

; ОЖИДАНИЕ ПРЕРЫВАНИЯ
GOTO $



;------------------------------------------;
; Обработка прерываний ;
;------------------------------------------;
ORG 4
;__interrupt{
;------------------------------__SET_TIMER ------------------
BCF STATUS, RP0
btfss TMR0, 0 ; коррекция
goto $+1
BCF INTCON, T0IF ; сбросить флаг
MOVLW period ; как константу
MOVWF TMR0
;-------------------------------------------------------------
INCF T, 1 ; НАРАЩИВАНИЕ СЧЕТЧИКА ПЕРИОДА
MOVF T, 0
SUBLW .199
BTFSS STATUS, C
CLRF T ; СБРОС СЧЕТЧИКА ПЕРИОДА
;-------------------------------------------------------------
INCF t, 1
MOVF T, 1 ; СБРОС ВНУТРЕННЕГО СЧ. ПЕРИОДА
BTFSC STATUS, Z
CLRF t
;-------------------------------------------------------------
clrwdt ; !!!! NEW WDT !!!!
;-------------------------------------------------------------
;__if(t==0)||(t==99) { PP++
MOVF t, 0
SUBLW .0
BTFSS STATUS, Z
GOTO INT1
CLRF PP ; СБРОС ПРИЗНАКА ПОЛУПЕРИОДА
MOVLW len ; ПЕРЕУСТАНОВКА LEN
MOVWF LEN
GOTO INT2
INT1: MOVF t, 0
SUBLW .99
BTFSS STATUS, Z
GOTO INT2
BSF PP, 0 ; УСТАНОВКА ПРИЗНАКА ПОЛУПЕРИОДА
MOVLW len ; ПЕРЕУСТАНОВКА LEN
MOVWF LEN
INT2: MOVF LEN, 1 ; ДЕКРЕМЕНТ LEN
BTFSS STATUS, Z
DECF LEN, 1
;__}

;******************* ПРИНЯТИЕ РЕШЕНИЙ ************************
;-------------------------- ПЕРЕХОД НА БАТАРЕИ ---------------
BTFSC PORTB, PWGOOD
GOTO POWER
BSF BAT, 0
CLRF PWcnt
CLRF SIN_OK
POWER:
;-------------------------- ПЕРЕХОД НА СЕТЬ ------------------
BTFSS PORTB, PWGOOD
GOTO DESIGN
BTFSS PWcnt, 7
GOTO DESIGN
BTFSS SIN_OK, 0
GOTO DESIGN
CLRF BAT
DESIGN:
;*************************************************************

;-------------------------- ВКЛЮЧИТЬ РЕЛЕ --------------------
BTFSC BAT, 0
BCF PORTB, RELAY
BTFSS BAT, 0
BSF PORTB, RELAY
;-------------------------- УПРАВЛЕНИЕ ТРАНЗИСТОРАМИ -------
;__if(BAT==1){
BTFSS BAT, 0
GOTO INT4
;__if(LEN!=0){
MOVF LEN, 1
BTFSC STATUS, Z
GOTO INT4
;__if(PP==0){
BTFSC PP, 0
GOTO INT3
BSF PORTB, BASE0
BCF PORTB, BASE1
GOTO INT5
INT3: BCF PORTB, BASE0
BSF PORTB, BASE1
GOTO INT5
;__}
;__}
;__else{}
INT4: BCF PORTB, BASE0
BCF PORTB, BASE1
INT5:
;__}
;------------------------- СИГНАЛ ПРИ ПРОПАДАНИИ СЕТИ --------
MOVF t, 0
BTFSS STATUS, Z
GOTO Z1
INCF time, 1
INCF BATime, 1
BTFSC BAT, 0
GOTO Z2
CLRF BATime
BCF zumm, 0
GOTO Z1
Z2: MOVF BATime, 0 ; if(BATime>64) BATime=64
SUBLW .255
BTFSS STATUS, Z
GOTO $+5
MOVLW .254
MOVWF BATime
BCF zumm, 0
GOTO $+2
BSF zumm, 0 ; ВКЛЮЧИТЬ ЗУММЕР
Z1:
;------------------------- ЗУММЕР ----------------------------
BTFSS zumm, 0
GOTO NOZUMM
BTFSS time, 5
GOTO NOZUMM
BTFSC t, 1
BSF PORTB, 7
BTFSS t, 1
NOZUMM: BCF PORTB, 7

;------------- ПРОВЕРКА НАЛИЧИЯ СЕТЕВОГО НАПРЯЖЕНИЯ ----------
; if(T==0){
MOVF T, 0
BTFSS STATUS, Z
GOTO NO_PW
; if(!PWGOOD) {
BTFSS PORTB, PWGOOD
CLRF PWcnt ;}
INCF PWcnt, 1
; if(PWcnt>128) PWcnt=128 {
MOVF PWcnt, 0
SUBLW .128
BTFSC STATUS, C
GOTO $+3
MOVLW .128
MOVWF PWcnt ;}
; }
NO_PW:

;-------------------------- СИНХРОНИЗАЦИЯ ПО ФАЗЕ ----------
; if(СЕТЕВОЕ НАПРЯЖЕНИЕ){
BTFSS PWcnt, 7
GOTO NO_SIN
; }
INCF SINcnt, 1
;_if(длина имп. > 0.5 мс){
BTFSS PORTB, SINH
CLRF FRONT
INCF FRONT, 1
MOVF FRONT, 0
SUBLW .5
BTFSS STATUS, Z
GOTO INT6
;_фронт обнаружен
; проверка периода сетевого напряжения
MOVF SINcnt, 0
MOVWF SHORT
CLRF SINcnt
SUBLW .195 ; >195
BTFSC STATUS, C
GOTO NO_SIN
MOVF SHORT, 0
SUBLW .205 ; >205
BTFSS STATUS, C
GOTO NO_SIN
; СОБСТВЕННО СИНХРОНИЗАЦИЯ
MOVF T, 0
SUBLW .5
BTFSC STATUS, C
GOTO SIN1
MOVF T, 0
SUBLW .194
BTFSS STATUS, C
GOTO SIN1
MOVF T, 0
ADDLW 3
MOVWF T
GOTO NO_SIN
SIN1: MOVLW .199
MOVWF T
BSF SIN_OK, 0
GOTO $+2
NO_SIN: CLRF SIN_OK
;__}
INT6:



RETFIE
;__}




END


Gogo написа:
Или ше станееее... или нема да стане - със сигурност второто! :D Не е лошо да му напишеш една конфигурация, т.е. с какъв генератор ще работи, дали да му е включено кучето и т.н. Е тогава може и да стане...


Gogo, не разбрах за кое точно ме питаш, дали е включено кое. Работи с кварц 4MHz. Моляте поясни за да мога да отговоря точно. Предварително благодаря.

_________________
Danger High Voltage! - Надушвате ли енергията, когато отваряте таблото? :)
Skype: Gigavolt_501


Нед Май 04, 2008 2:11 am
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Окт 13, 2007 12:12 pm
Мнения: 712
Мнение 
Юнак, ето ти файла с работещ (поне на симулатор) компилиран (hex) и коригиран сорс (asm) за PIC16F84A (само зареждаш хекса UPS.hex. Не пипаш конфигурационните битове (записал съм ги в програмата), програмираш и готово!).
Ха създраве!


Прикачени файлове:
UPS_Prj.rar [11.99 KiB]
173 пъти
Нед Май 04, 2008 10:47 am
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Дек 30, 2007 2:29 am
Мнения: 67
Мнение 
fan написа:
Юнак, ето ти файла с работещ (поне на симулатор) компилиран (hex) и коригиран сорс (asm) за PIC16F84A (само зареждаш хекса UPS.hex. Не пипаш конфигурационните битове (записал съм ги в програмата), програмираш и готово!).
Ха създраве!


fan мерси ного. Аз съм в Ботевград, незнам от къде си, и другите също, но ако имате път насам се обадете. Бирата е от мене! =D> :supz: :partyman: Слетобяд ще програмирам PIC-a и ще видим какво ще стане. А иначе имаше ли сериозна грешка в програмата, питам да съм сигурен, че не е в платката. :)

_________________
Danger High Voltage! - Надушвате ли енергията, когато отваряте таблото? :)
Skype: Gigavolt_501


Нед Май 04, 2008 1:41 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Вто Окт 03, 2006 11:58 am
Мнения: 924
Местоположение: Ботевград
Мнение 
ji4kajiata написа:
Благодаря на всички участващи. Всеки съвет е от полза, че направих много платки, а се оказа, че софтуера не тръгва, :evil: и вече се побърках незнам какво да правя. Zeus - Ето така ли трябва да е:


Да, само трябва да сложиш затварящия апостроф

ORG H'0000'

H'0000' е адреса на началното установяване. Когато пуснеш процесора или пък се рестартира, той почва от там и изпълнява командата goto start.


Нед Май 04, 2008 4:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
ji4kajiata написа:
А иначе имаше ли сериозна грешка в програмата, питам да съм сигурен, че не е в платката. :)
Сериозната грешка не е точно в пропуснатия апостроф на ORG H'0000' - това все пак е само синтактична грешка. За да тръгне пика, трябва да му кажеш с какъв тип осцилатор ше работи - RC, LP, HS или XT. Също, дали ще му бъде включен watchdog регистъра. Това се прави с инструкций в сорса, които в твоя ги няма или в MPLAB, преди да компилираш сорса от Configure/Confiration Bits...


Нед Май 04, 2008 8:00 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Дек 30, 2007 2:29 am
Мнения: 67
Мнение PIC16F84A
fan ти вкара ли ги тези инструкции. Сега записах чипа и го сложих на платката, немога да му направя пълния тест, защото си забравих трансформаторите в работилницата, а сега съм си в нас. После ще отида да ги взема. Подадох все пак захранване на платката, без двата трансформатора, единия е за зарядното, другия захранва схемата, когато е от мрежата. Аз му симулирах подаване на напрежение от лабораторният захранващ блок тук (все едно черпи от батерията, и няма наличие на мрежово напрежение). Нивата идващи от двата трафа към контролера ги няма и в този случай трябваше да почне да пищи и да превключи релето, притеснява ме че пак не реагира. :evil: Аз после ще направя подробни тестове и ше опиша какво става но това ме притесняваше (как реагира в момента) и викам да те попитам все пак дали си вкарал всички необходими инструкции или може ли да си пропуснал някоя. :( :roll:

_________________
Danger High Voltage! - Надушвате ли енергията, когато отваряте таблото? :)
Skype: Gigavolt_501


Пон Май 05, 2008 5:51 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Окт 13, 2007 12:12 pm
Мнения: 712
Мнение 
Ас пич, съм ти "вкарал" всичко, което трябва, обаче що не вземеш да ни покажеш схемата! :wink:


Пон Май 05, 2008 7:36 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Окт 13, 2007 12:12 pm
Мнения: 712
Мнение 
Хей, "ji4kajiata" ти да не се притесни, че ще ти "откраднем" схемата а ? :D
За да ти помогне човек, трябва да му съдействаш за да го улесниш! :wink:
На етапа на който си със схемата без трансформаторите, ти трябва симулация на синхронизация на вход RB0(краче 6 на чипа). За целта трябва да свържеш RB0 с RB4(краче 10 на чипа) с едно мосче, като на RB0 временно му прекъснеш веригата към която е свързан(ако имаше схема можеше и по-дробно да се анализира :) ). Спикера(Пищялката), трябва да е без вграден генератор. Успех! :)


Пон Май 05, 2008 9:59 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Дек 30, 2007 2:29 am
Мнения: 67
Мнение PIC16F84A
fan написа:
Хей, "ji4kajiata" ти да не се притесни, че ще ти "откраднем" схемата а ? :D


Здравей, а глупости няма нищо такова [-X просто я нямах в електронен вид на този компютър. То схемата я има и в интернет в 100 сайта. :wink: :) Качвам я веднага. ето с това си играя, е заменил сум някой диоди с български, но е 1:1. Ето я и нея.

http://free.bol.bg/mountain/Ups.gif

Качих я тук, че е над 50К и неможе вув форума. следмалко ще направя подробни тестове и ще пиша какво става. :wink: :)

_________________
Danger High Voltage! - Надушвате ли енергията, когато отваряте таблото? :)
Skype: Gigavolt_501


Пон Май 05, 2008 10:58 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Окт 13, 2007 12:12 pm
Мнения: 712
Мнение 
ji4kajiata , я се разтърси из нета за пълната версия на софта (там от гдето си я намерил схемата и прогрaмата), че не е пълен софта(пробутали са ти демо версия)! :wink:


Пон Май 05, 2008 11:27 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Нед Дек 30, 2007 2:29 am
Мнения: 67
Мнение PIC16F84A
](*,) ](*,) #-o Е това вече не е добре. Ами ето от тук я изтеглих програмата:
http://store2.data.bg/dancolov/EL/
иначе я има и на други места в нета, но е еднаква 1:1.
Ето и снимки на платката която съм направил:
http://free.bol.bg/mountain/ups1.JPG
http://free.bol.bg/mountain/ups2.JPG
Това вече е филм, аз обаче сам немога да и добавя каквото липсва, ще можете ли да ми помогнете.

_________________
Danger High Voltage! - Надушвате ли енергията, когато отваряте таблото? :)
Skype: Gigavolt_501


Вто Май 06, 2008 12:05 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 32 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 10 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни