Отговори на тема  [ 1 мнение ] 
Проблем при четене на термодатчик 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Ное 03, 2006 9:50 pm
Мнения: 39
Мнение Проблем при четене на термодатчик
Весела Коледа на всички!!!!!!!!!



Ползвам PIC16F84A и датчик ТС77. Измерената температура я записвам в EEPROM-а на PIC-a, но тя не е вярна. Не мога да разбера къде точно греша. Ето и програмата:
Код:
   list   p=16f84
   #include   <p16f84.inc>
   __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
w   EQU   0
f   EQU   1
   cblock   h'0c'
   i
   temp1;mlad6i byte na temperaturata   
   temp2;star6i byte na temperaturata
   buffer
   endc
#define   ck   PORTB,0
#define   IO   PORTB,1
#define   fan   PORTB,2
#define   CS   PORTB,3   

   ORG   H'0000'
   goto   start

start   bsf   STATUS,RP0
   bcf   TRISB,0
   bcf   TRISB,2
   bsf   TRISB,3
   nop
   nop
   nop
   nop   
   bcf   STATUS,RP0
   bcf   CS
   CLRF   PORTB
   goto   main
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
clock   bcf   ck
   nop
   nop
   nop
   nop
   nop
   bsf   ck
   return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
proverka   btfsc   EECON1,WR
   goto   proverka
   bcf   STATUS,RP0
   return
pisane   movlw   H'01'
   movwf   EEADR
   movf   temp1,w
   movwf   EEDATA
   bsf   STATUS,RP0
   bsf   EECON1,WREN
   movlw   H'55'
   movwf   EECON2
   movlw   H'AA'
   movwf   EECON2   
   BSF   EECON1,WR
   call   proverka
   
   movlw   H'00'
   movwf   EEADR
   movf   temp2,w
   movwf   EEDATA
   bsf   STATUS,RP0
   bsf   EECON1,WREN
   movlw   H'55'
   movwf   EECON2
   movlw   H'AA'
   movwf   EECON2   
   BSF   EECON1,WR

   call   proverka

   return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
noname   btfss   IO
   bcf   STATUS,C
   bsf   STATUS,C
   rlf   buffer,f
   return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
chetene   movlw   0
   movwf   buffer
chetene_   call    clock
   call   noname
   decfsz   i,f
   goto   chetene_
   movf   buffer,w
   return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
main   bsf   STATUS,RP0
   BSF   TRISB,1
   bcf   STATUS,RP0
   movlw   D'5'
   movwf   i
   call   chetene
   movwf   temp2
   movlw   D'8'
   movwf   i
   call   chetene
   movwf   temp2
ni6to   movlw   D'3'
   movwf   i
ni6to_   call   clock
   decfsz   i,f
   goto   ni6to_
   goto   izvejdane
izvejdane;16 posledovatelni 0
   bsf   STATUS,RP0
   bcf   TRISB,1
   bcf   STATUS,RP0
   bcf   IO
   movlw   D'16'
   movwf   i
izvejdane_   call   clock
   decfsz   i,f
   goto   izvejdane_
   call   pisane
   goto   main

   END


Пон Дек 25, 2006 6:01 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 1 мнение ] 

Кой е на линия

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


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

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