ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2011/08/06
    13
    0

    کمک در مورد برنامه کنترلر جوجه کشی با pic

    سلام این برنامه رو از یه سایت گرفتم چون چیزی از برنامه نویسی زیاد سر در نمی یارم می خواستم بدونم به چه زبانی نوشته شده؟
    وقتی می خوام با بسکام تبدیل به هگز کنم 2 تا خطا می ده می تونین بگین کجاش ایراد داره و باید تغییر داد؟
    می شه حجم برنامش کمتر کرد؟
    اگه تونستین اصلاحش کنین ممنون می شم

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


  2. #2
    2010/08/14
    311
    6

    پاسخ : کمک در مورد برنامه کنترلر جوجه کشي با pic

    بسکام :eek: :eek: :eek: :eek: :eek: :eek:
    اينجا انجمن pic هست. بسکام مال avr
  3. #3
    2011/08/06
    13
    0

    پاسخ : کمک در مورد برنامه کنترلر جوجه کشی با pic

    می دونم. تو این برنامه از Pic16f877 استفاده شده گفتم شاید مربوط به این بخش باشه
  4. #4
    2013/02/25
    مشهد
    180
    33

    پاسخ : کمک در مورد برنامه کنترلر جوجه کشي با pic

    سلام

    لينک دانلود شما باز نمي شود. اما شما مي توانيد سورس برنامه را همين طوري به صورت متن در اينجا قرار بدهيد تا شايد کمکي از دستم بربيايد.

    اميدوارم که همگي موفق باشيم
    والسلام علي من اتبع الهدي .... و درود بر کساني که راه هدايت را دنبال مي کنند.

    هوشمندانه بپرسيد...
  5. #5
    2011/08/06
    13
    0

    پاسخ : کمک در مورد برنامه کنترلر جوجه کشي با pic

    سلام ببخشيد دير شد اين هم متن برنامشه
    کد:
    DEFINE OSC 4
    @ DEVICE pic16F877
    @ DEVICE pic16F877, WDT_ON
    @ DEVICE pic16F877, PWRT_ON
    @ DEVICE pic16F877, PROTECT_OFF
    @ DEVICE pic16F877, XT_OSC
    
    TRISA=%111111
    TRISB=%00000001
    TRISC=%01110000
    TRISD=%00000000
    TRISE=%00000000
    PORTA=0
    PORTB=0
    PORTC=0
    PORTD=0
    PORTE=0
    
    DEFINE LCD_DREG		PORTB	
    DEFINE LCD_DBIT		4		
    DEFINE LCD_RSREG	PORTB	
    DEFINE LCD_RSBIT	2	
    DEFINE LCD_EREG		PORTB	
    DEFINE LCD_EBIT		3		
    DEFINE LCD_BITS		4	
    DEFINE LCD_LINES	4
    ADCON1 = 7   
    '---------------------------deðiþkenler----------------------------------------- 
      A    VAR  BYTE
      D    VAR  BYTE
      E    var  byte 
      SYC   VAR  BYTE
      AY    var  byte
      YIL   var  byte
      SN    VAR  BYTE
      DAK   VAR  BYTE
      SAAT   VAR  BYTE
      HAFTA  VAR  BYTE
      GUN   VAR  BYTE
      MEM   var  byte 
      ONLAR  VAR  BYTE
      BIRLER  VAR  BYTE
      GN    VAR  BYTE
      ZAMAN  VAR  BYTE
      Y    VAR  BIT
      UPC   VAR  BIT
      AYR   VAR  BIT
      SAYI   VAR  BYTE 
      SAYAC  VAR  BYTE
      AYAR   VAR  BYTE
      TERM   VAR  BYTE
      NEM   VAR  BYTE
      KONTROL VAR  BYTE
      ORTAK  VAR  BYTE
      CNY   VAR  BYTE	  
      ISI1   VAR  BYTE    
      ISI2   VAR  BYTE    
      U1    VAR  BYTE     
      U2    VAR  BYTE
      C0    VAR  BYTE
      Z    VAR  BYTE
      K    VAR  BYTE
      SAY   VAR  BYTE
      ZAM   VAR  BYTE
      DX    VAR  BYTE
      H0    VAR  HAMISI.BYTE0
      H1    VAR  HAMISI.BYTE1
      HAMISI	 VAR  WORD
      RAW   var  word
      ISISHT  VAR  WORD 
      RUT   VAR  WORD
      P1    VAR  WORD
      P2    VAR  WORD
      P3    VAR  WORD       
      C    VAR  WORD
      B    VAR  WORD
      W    VAR  WORD
      ORTAISI VAR  WORD
      FARK   VAR  WORD
      DUR   VAR  BYTE 
      CLK   VAR   PORTA.5
      DTA   VAR   PORTA.3 
      ISARETSHT VAR   BIT  'sensor deðeri 0 ise artý, 1 ise eksi
      SIGN  VAR   BIT   'ýsý isareti 0 ise artý 1 ise eksi
      HATA  var   BIT
      MENU  VAR   PORTA.0
      YUKARI VAR   PORTA.1
      ASAGI  VAR   PORTA.2
      
        'ISI
    Busy    VAR BIT     ' Busy Status-Bit
    HAM     VAR	WORD    ' Sensör HAM okuma deðeri
    ISI     VAR WORD    ' Hesaplanmýþ ISI deðeri
    Float    VAR WORD    ' Holds remainder for + temp C display
    X      VAR WORD    
    ISARET_BITI  VAR HAM.Bit11  '  +/- sýcaklýk Ýþaret biti, 1 = olursa eksi sýcaklýk
    EKSI_ISI  CON 1      ' Sýfýr altýnda isaret biti=1 oluyor kontrol için
    DERECE   CON 223     ' ° iþareti
    ISARET   VAR BYTE    ' ISI deðeri için +/- iþaret
    TEMP    VAR BYTE    ' Div32 bit hesap için geçici deðiþken
    SYMBOL COMM_PIN=PORTB.1  ' One-wire Data-Pin "DQ" PortB.0 da
    
      
      symbol ROLE1=PORTC.0
      symbol ROLE2=PORTC.1
      symbol ROLE3=PORTC.2
      SYMBOL ROLE4=PORTC.3
      SYMBOL BUZER=PORTE.0
      
      RTC_RST   var PORTC.5
      RTC_CLK   var PORTC.6
      RTC_DTA   var PORTC.4
    '-----------------------------B A Þ L A N G I Ç ------------------------------  
         LOW ROLE1
         LOW ROLE2
         LOW ROLE3
         LOW ROLE4
        PAUSE 20
      '	CLEAR: 'TRISA=%00111111:TRISB=0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
         PAUSE 500:ISARET=0
        LCDOUT $FE,$40,$6,$9,$9,$6,$0,$0,$0,$0    'derece iþareti datalarý  
        LCDOUT $FE,$48,$04,$0e,$0e,$0e,$1f,$04,$04,$0
        LCDOUT $FE,$50,10,0,17,17,17,17,14,0 'LCD 2. KARAKTER HAFIZASI Ü HARFÝ
        LCDOUT $FE,$58,16,8,4,2,4,8,16,0   'LCD 3. KARAKTER HAFIZASI YON ÝÞARETÝ  
    GIRIS: 
         LCDOUT $FE,$82,"AUto COntroler  "      	
         lcdout $FE,$C5,"MACHINE     "
         lcdout $FE,$95,"SOftware & DEsign"
         lcdout $FE,$D9,"sInA ghasemI"
         PAUSE 2000
         LCDOUT $FE,1 
         
    '-------------------------------------------------------------------------------
    BASLANGIC:
    SYC=0 
    AYAR=1
    READ $07,GN:IF GN=255 THEN GN=1
    READ $01,TERM:IF TERM=255 THEN TERM=0
    READ $02,NEM:IF NEM=255 THEN NEM=0
    READ $09,DUR:IF DUR=255 THEN DUR=0
    READ $10,ZAM:IF ZAM=255 THEN ZAM=0
    READ $11,A:IF A=255 THEN A=1
    READ $06,UPC
    READ $13,AYR
    gosub ZAMAN_OKU 
              
    BASLA: 
           KONTROL=%00000011:HAMISI=0  'SICAKLIK ÖLÇME
        GOSUB OLCUMAL
        Gosub ISIHESAP
           KONTROL=%00000101:HAMISI=0  'RUTUBET ÖLÇME
        GOSUB OLCUMAL
        GOSUB RUTHESAP:GOSUB SENSOROKU
        GOSUB ORTISI
        GOSUB ZAMAN_OKU
        GOSUB GUNEBAK
        GOSUB EKRAN1
        GOSUB ISIKONTROL
        GOSUB RUTKONTROL
        IF AYR=0 THEN
        GOSUB HAVAKONTROL
        ELSE
        LOW ROLE4
        ENDIF
        IF UPC=1 THEN 
        GOSUB DONUSEBAK
        ENDIF
        IF MENU=1 THEN GOTO AYAR_MENUSU
    
    goto BASLA    
    '---------------------------------------EKRANA YAZ -----------------------------	
    EKRAN1:	 
        lcdout $FE,$80,"S=",DEC2 ISI1,",",DEC1 ISI2," D=",DEC2 ISI,",",DEC1 (FLOAT)," C=",DEC2 TERM,",",DEC1 A
        lcdout $FE,$C0,"HEat=",DEC2 ORTAISI,",",DEC1 CNY,0,"C DAmp%",DEC2 U1
        LCDOUT $FE,$94,"HOurs",DEC2 SAAT,":",DEC2 DAK,":",DEC2 SN," ",DEC2 GN,".DAy"
        LCDOUT $FE,$D4,"DAte ",DEC2 GUN,"/",DEC2 AY,"/",DEC2 YIL
          IF SN=DUR THEN LOW ROLE3
        IF SAAT=0 AND DAK=0 AND SN=0 THEN 
            GN=GN+1
          IF GN=31 THEN GN=1
          WRITE $07,GN
         ENDIF
        RETURN
    '''''''''''''''''MOTOR ÇALIÞ ''''''''''''''''' 
    DONUSEBAK:
     'HER SAAT BAÞI ÇEVÝR 
             IF ZAM=1 AND DAK=0 AND SN=0 THEN
             HIGH ROLE3
             ENDIF
    
        IF ZAM=2 THEN 'ÝKÝ SAATTE BÝR ÇEVÝR
             
           
             IF SAAT=0 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=2 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIf         
             
             IF SAAT=4 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=6 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF         
    
             IF SAAT=8 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF
    
             IF SAAT=10 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
    
             IF SAAT=12 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
    
             IF SAAT=14 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF      
    
             IF SAAT=16 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF         
    
             IF SAAT=18 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF       
     
             IF SAAT=20 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF
    
             IF SAAT=22 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF
        ENDIF
        
        IF ZAM=3 THEN '3 SAATTE BÝR ÇEVÝR
             IF SAAT=0 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=3 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIf         
             
             IF SAAT=6 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=9 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF         
             
             IF SAAT=12 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF
              
             IF SAAT=15 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=18 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=21 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF
        ENDIF 
                  
        IF ZAM=4 THEN '4 SAATTE BÝR ÇEVÝR
             IF SAAT=0 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=4 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIf         
             
             IF SAAT=8 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF        
             
             IF SAAT=12 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF         
             
             IF SAAT=16 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF
             
             IF SAAT=20 AND DAK=0 AND sn=0 THEN 
             HIGH ROLE3
             ENDIF      
        ENDIF 
      
    RETURN      
    
    GUNEBAK:
    SELECT CASE HAFTA
    CASE 1
    LCDOUT $FE,$E3,"MOn "
    CASE 2
    LCDOUT $FE,$E3,"TUe "
    CASE 3
    LCDOUT $FE,$E3,"WEd "
    CASE 4
    LCDOUT $FE,$E3,"THu "
    CASE 5
    LCDOUT $FE,$E3,"FRi "
    CASE 6
    LCDOUT $FE,$E3,"SAt "
    CASE 7
    LCDOUT $FE,$E3,"SUn "
    END SELECT
    RETURN
     
    SENSOROKU: 
          OWOUT  Comm_Pin, 1, [$CC, $44]' ISI deðerini oku
    Bekle:
          OWIN  Comm_Pin, 4, [Busy]  ' Busy deðerini oku
          IF   Busy = 0 THEN Bekle  ' hala meþgulmü? , evet ise goto Bekle..!
          OWOUT  Comm_Pin, 1, [$CC, $BE]' scratchpad memory oku
          OWIN  Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte]' Ýki byte oku ve okumayý bitir.
          GOSUB  Hesapla
          RETURN
    Hesapla:         ' Ham deðerden Santigrat derece hesabý
      ISARET = "+"
      IF ISARET_BITI = EKSI_ISI THEN
        ISARET  = "-" 
        ham=~ham+2
      endif
      float = (HAM*10)/16    ' 
      ISI=FLOAT/10 
      RETURN 
    '------------------------------- ÝÞLEM START -----------------------------------
  6. #6
    2011/08/06
    13
    0

    پاسخ : کمک در مورد برنامه کنترلر جوجه کشي با pic

    کد:
    T_START:
       OUTPUT DTA:OUTPUT CLK
        HIGH DTA
         LOW CLK
        PAUSE 1
        HIGH CLK
         LOW DTA
        PAUSE 1
         LOW CLK
        PAUSE 1
        HIGH CLK
        PAUSE 1
        HIGH DTA
         LOW CLK
    RETURN
    '-----------------------SENSORE KOMUT GÖNDER -----------------------------------
    OLCUMAL:
          GOSUB T_Start
        SHIFTOUT DTA,CLK,1,[KONTROL]
          INPUT DTA
         PULSOUT CLK,10
             HATA=0
           FOR W=0 to 65500
           IF DTA=0 then GIT
          NEXT W
             HATA=1
    GIT:     
           IF HATA=1 then 
          endif
         SHIFTIN DTA,CLK,0,[H1]
         OUTPUT DTA
           LOW DTA
         PULSOUT CLK,10
          INPUT DTA
         SHIFTIN DTA,CLK,0,[H0]
         PULSOUT CLK,10
    RETURN
    '----------------------ISI HESAP ALT PROGRAMI-----------------------------------   
    ISIHESAP: 
          If HAMISI<4000 then 
           ISARETSHT=1 'sýcaklýk eksi deðerde demek
           ISI1=(4000-HAMISI)/100
           ISI2=((4000-HAMISI)//100)/10  
         goto ISISON
        endif
           ISI1=(HAMISI-4000)/100
           ISI2=((HAMISI-4000)//100)/10
    ISISON:  
          
          ISI1=(HAMISI-4000)/100
          ISI2=((HAMISI-4000)//100)/10
    RETURN    
    '-------------------------RUTUBET HESAP ALT PROGRAMI----------------------------
     RUTHESAP: 
           'ISI=ISI1*10+ISI2
           p1=(26542-(54722**HAMISI+hamISI))**HAMISI-25   
           P2=655+(HAMISI*5)+(HAMISI**15917)	   
           P3=(P2**(ISISHT*10+2480))-(P2**2730)+P1  
           U1=p3/10:U2=p3//10
          IF HAMISI>3710 THEN
           U1=0:U2=0
        ENDIF 
    return 
    
    ORTISI:
    ORTAISI=((ISI1*10+ISI2)+FLOAT)/20
    CNY=((ISI1*10+ISI2)+FLOAT)/2
    RETURN
    '----------------------------ISI KONTROL----------------------------------------
    ISIKONTROL:
    
         if TERM<ORTAISI-0 then  
         LOW Role1
        ENDIF
        if ORTAISI+0<TERM+0 then     
         HIGH ROLE1        
        Endif
       IF MENU=1 THEN GOTO AYAR_MENUSU
    RETURN 
    '----------------------------RUTKONTROL-----------------------------------------     
    RUTKONTROL:
          if NEM<U1 then  
         HIGH Role2
         ELSE        
         LOW ROLE2
        ENDIF
        IF MENU=1 THEN GOTO AYAR_MENUSU
    RETURN
    
    HAVAKONTROL:
    FARK=ISI1-ISI
    IF FARK.Bit15=1 then FARK=~FARK 
    IF FARK>1 then 
      ROLE4=1
    ELSE
      ROLE4=0
    ENDIF
    RETURN
     BIP:
      HIGH buzer  
     pause 50
       LOW buzer 
     RETURN
    BIPBIP:
       HIGH buzer  
      PAUSE 50
       LOW buzer 
      PAUSE 100
       HIGH BUZER
      PAUSE 50
       LOW BUZER 
    RETURN
    '-------------------------------------------------------------------------------
    AYAR_MENUSU:
    GOSUB BIP
    WHILE MENU=1:WEND
    GOSUB TEMIZLE
    SYC=0
    AYARLAR:
    IF YUKARI=1 THEN 
    GOSUB BIP
    WHILE YUKARI=1:WEND
    SYC=SYC+1
     IF SYC=8 THEN SYC=0
    ENDIF
    
    IF ASAGI=1 THEN
    GOSUB BIP
    WHILE ASAGI=1:WEND
    SYC=SYC-1
     IF SYC=255 THEN SYC=7
    ENDIF
    GOSUB DURUM
    GOTO AYARLAR
    
    DURUM:
    SELECT CASE SYC
    CASE 0
    lcdout $fe,$c0,"  Heat settings  "
    LCDOUT $FE,$94,"          "
    IF MENU=1 then 
    WHILE MENU=1:WEND
    GOSUB BIP 
    GOTO TERM_KONTROL
    ENDIF
    CASE 1
    lcdout $fe,$c0," Humidity settings " 
    LCDOUT $FE,$94,"          "
    IF MENU=1 then
    WHILE MENU=1:WEND
    GOSUB BIP 
    GOTO NEM_KONTROL
    ENDIF
    CASE 2
    lcdout $fe,$c0,"  Set the motor "
    LCDOUT $FE,$94,"  rotation    "
    IF MENU=1 then 
    WHILE MENU=1:WEND
    GOSUB BIP
    GOTO MOT_AYAR
    ENDIF
    CASE 3
    lcdout $fe,$c0,"  Options Date "
    LCDOUT $FE,$94,"  Day Time   "  
    IF MENU=1 then 
    GOSUB BIP
    WHILE MENU=1:WEND
    GOTO ZAMANAYARI
    ENDIF
    CASE 4
    lcdout $fe,$C0," Start the motor "
    lcdout $fe,$94," manually    "
    IF MENU=1 theN
    GOSUB BIP
    WHILE MENU=1:WEND
    GOTO MANUEL
    ENDIF
    CASE 5
    lcdout $fe,$c0," set Number of   " 
    LCDOUT $FE,$94," days        "  
    IF MENU=1 then
    GOSUB BIP 
    WHILE MENU=1:WEND
    GOTO GUNAYARI
    ENDIF
    CASE 6
    lcdout $fe,$c0," Set fan      "
    LCDOUT $FE,$94,"          "
    IF MENU=1 then 
    WHILE MENU=1:WEND
    GOSUB BIP
    GOTO FANKONTROL
    ENDIF 
    CASE 7
    lcdout $fe,$c0, "  Exit the menu  "
    LCDOUT $FE,$94, "          "  
    IF MENU=1 THEN AYARLANDI
    END SELECT
    RETURN
    
    MANUEL:
    GOSUB TEMIZLE 
    MANU:
     lcdout $fe,$80," To start "
     LCDOUT $FE,$C0," motor,  "
     LCDOUT $FE,$94," press...  "
        IF MENU=1 then
       GOTO AYAR_MENUSU 
        ENDIF     
        
        IF YUKARI=1 THEN
         lcdout $fe,$D4,"MOTOR Running "
        HIGH ROLE3
        ELSE 
        lcdout $fe,$D4,"MOTOR off    "
        LOW ROLE3
        ENDIF
        
    GOTO MANU
    
    GUNAYARI:
        WHILE MENU=1:WEND
        GOSUB TEMIZLE
        READ $07,GN
    GUNA:   
       LCDOUT $FE,$C0,"Number of day" 
       lcdout $FE,$94,"day:",DEC2 GN
       IF MENU=1 THEN
       WRITE $07,GN:PAUSE 2
       GOTO AYAR_MENUSU 
       ENDIF
       
        IF YUKARI=1 THEN 
        GN=GN+1
        IF GN=31 THEN GN=1
        WHILE YUKARI=1:WEND
        ENDIF
        
        IF ASAGI=1 THEN 
        GN=GN-1
        IF GN=0 THEN GN=30
        WHILE ASAGI=1:WEND
        ENDIF
           
       GOTO GUNA 
       
    FANKONTROL:
    GOSUB TEMIZLE:
    FANKONT:
        lcdout $fe,$80,"Select"
        LCDOUT $FE,$C0,"the fan..."
        lcdout $FE,$94," on"
        LCDOUT $FE,$D4," off"
        IF MENU=1 THEN
          WRITE $13,AYR:PAUSE 2
          GOTO AYAR_MENUSU
        ENDIF
          IF YUKARI=1 THEN AYR=1
          IF ASAGI=1 THEN AYR=0
          
          SELECT CASE AYR
          CASE 0
          LCDOUT $FE,$D4,3
          CASE 1
          LCDOUT $FE,$94,3
        END SELECT  
    GOTO FANKONT
       
           
    ''''''''''''''''''''''''''''''''''''''''     
    MOT_AYAR:
        WHILE MENU=1:WEND
        GOSUB TEMIZLE
        READ $06,UPC
    MOTOR_AYAR:
        lcdout $fe,$80,"Select"
        LCDOUT $FE,$C0,"motor..."
        lcdout $FE,$94," on "
        LCDOUT $FE,$D4," off"
          IF MENU=1 THEN
          WRITE $06,UPC:PAUSE 2
          GOTO M_ZAMANI
          ENDIF
          IF YUKARI=1 THEN UPC=1
          IF ASAGI=1 THEN UPC=0
          
          SELECT CASE UPC
          CASE 0
          LCDOUT $FE,$D4,3
          CASE 1
          LCDOUT $FE,$94,3
          END SELECT     
        GOTO MOTOR_AYAR     
    M_CALISMA:
        GOSUB TEMIZLE
        WHILE MENU=1:WEND
        READ $09,DUR
    MOTO_CALISMA:
          IF MENU=1 THEN 
          WRITE $09,DUR:PAUSE 2
          GOTO AYAR_MENUSU 
          ENDIF
        lcdout $fe,$C0,"Time MOTOR " 
        lcdout $FE,$94," Work:",DEC2 DUR," Sec"
        
          IF YUKARI=1 THEN 
          DUR=DUR+1
          WHILE YUKARI=1:WEND
          ENDIF  
          IF DUR=60 THEN DUR=0
          IF ASAGI=1 THEN 
          DUR=DUR-1
          WHILE ASAGI=1:WEND
          ENDIF
          IF DUR=255 THEN DUR=59
         GOTO MOTO_CALISMA             
    M_ZAMANI:
        GOSUB TEMIZLE
        WHILE MENU=1:WEND
        READ $10,ZAM
    MOTO_ZAMANI:
        IF ZAM=255 THEN ZAM=1
        IF YUKARI=1 THEN
        ZAM=ZAM+1
        WHILE YUKARI=1:WEND
        ENDIF
        IF ZAM=5 THEN ZAM=4 
        IF ASAGI=1 THEN
        ZAM=ZAM-1
        WHILE ASAGI=1:WEND
        ENDIF
        IF ZAM=0 THEN ZAM=1    
        IF MENU=1 THEN
        WRITE $10,ZAM:PAUSE 2
        GOTO M_CALISMA
        ENDIF
    
        lcdout $fe,$C0,"MOTOR ",DEC1 ZAM," Hours the"
        lcdout $FE,$94,"Rest..."
    GOTO MOTO_ZAMANI
                                            
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
     AYARLANDI:
          IF MENU=1 then AYARLANDI
        lcdout $fe,1
        LCDOUT $FE,$C0,"set Settings..." 
        GOSUB BIPBIP
        AYAR=1
        SYC=0
        PAUSE 800
        
        GOSUB TEMIZLE
        goto BASLANGIC    
    TEMIZLE:
        lcdout $fe,1
     RETURN    
    '-------------------------------------------------------------------------------
    TERM_KONTROL:
        GOSUB TEMIZLE 
        READ $01,TERM:READ $11,A    
    SET_AYAR: 
    LCDOUT $FE,$C0,"Choice of heat "
    LCDOUT $FE,$94,"setting:",DEC2 TERM,",",DEC1 A     
          IF YUKARI=1 then 
           A=A+1
            IF A=10 THEN 
            A=0:TERM=TERM+1
            ENDIF
           IF TERM=100 THEN TERM=0
           PAUSE 150
          ENDIF
          IF ASAGI=1 then 
           A=A-1
            IF A=255 then 
            A=9:TERM=TERM-1
            ENDIF
           IF TERM=255 THEN TERM=99
           PAUSE 150
          ENDIF 
            
         IF MENU=1 THEN 
         WRITE $01,TERM:PAUSE 2
         WRITE $11,A:PAUSE 2
         GOTO AYAR_MENUSU
         ENDIF 
               
    GOTO SET_AYAR 	
    '-------------------------------------------------------------------------------
    NEM_KONTROL:
        GOSUB TEMIZLE
        READ $02,NEM
    NEM_KONT: 
        lcdout $fe,$C0,"Choice of damp"
        lcdout $FE,$94,"setting: %",DEC2 NEM
        
          IF YUKARI=1 then NEM=NEM+1
        WHILE YUKARI=1:WEND 
          IF NEM=01 then NEM=121
          
          IF ASAGI=1 then NEM=NEM-1
        WHILE ASAGI=1:WEND
          IF NEM=121 then NEM=01    
          IF MENU=1 THEN 
          WRITE $02,NEM:PAUSE 2
          GOTO AYAR_MENUSU 
          ENDIF         
         GOTO NEM_KONT 	
        RETURN
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''    
    ZAMANAYARI:
    WHILE MENU=1:WEND
    GOSUB TEMIZLE
    AYAR=1
    ZAMANAYAR:
    IF MENU=1 THEN 
    AYAR=AYAR+1
    WHILE MENU=1:WEND
    ENDIF
    GOSUB BUTONOKU
        LCDOUT $FE,$80,"  Time setting "    
        LCDOUT $FE,$94,"Hours ",DEC2 SAAT,":",DEC2 DAK,":",DEC2 SN
        LCDOUT $FE,$D4,"Date ",DEC2 GUN,"/",DEC2 AY,"/",DEC2 YIL
    GOSUB GUNYAZ
    IF AYAR=7 THEN ZAMAN_B
    GOTO ZAMANAYAR
    
    GUNYAZ:
    SELECT CASE HAFTA
    CASE 1
    LCDOUT $FE,$E3,"Mon"
    CASE 2
    LCDOUT $FE,$E3,"Tue"
    CASE 3
    LCDOUT $FE,$E3,"Wed"
    CASE 4
    LCDOUT $FE,$E3,"Thu"
    CASE 5
    LCDOUT $FE,$E3,"Fri"
    CASE 6
    LCDOUT $FE,$E3,"Sat"
    CASE 7
    LCDOUT $FE,$E3,"Sun"
    END SELECT
    RETURN
    
    BUTONOKU:
    SELECT CASE AYAR
    CASE 1
    LCDOUT $FE,$C0,"Hours "
    IF YUKARI=1 THEN
    WHILE YUKARI=1:WEND
     SAAT=SAAT+1
     IF SAAT=24 THEN SAAT=0
    ENDIF
    IF ASAGI=1 THEN
    WHILE ASAGI=1:WEND
     SAAT=SAAT-1
     IF SAAT=255 THEN SAAT=23
    ENDIF 
     
    CASE 2
    LCDOUT $FE,$C0,"min  "
    IF YUKARI=1 THEN
    WHILE YUKARI=1:WEND
    DAK=DAK+1
    IF DAK=60 THEN DAK=0
    ENDIF
    IF ASAGI=1 THEN
    WHILE ASAGI=1:WEND 
    DAK=DAK-1
    IF DAK=255 THEN DAK=59
    ENDIF
    
    CASE 3
    LCDOUT $FE,$C0,"day  "  
    IF YUKARI=1 THEN
    WHILE YUKARI=1:WEND
     GUN=GUN+1
     IF GUN=31 THEN GUN=1
     ENDIF
    IF ASAGI=1 THEN
    WHILE ASAGI=1:WEND 
     GUN=GUN-1
     IF GUN=0 THEN GUN=30 
    ENDIF
    
    CASE 4
    LCDOUT $FE,$C0,"month "
    IF YUKARI=1 THEN
    WHILE YUKARI=1:WEND
     AY=AY+1
     IF AY=13 THEN AY=1
    ENDIF
    IF ASAGI=1 THEN
    WHILE ASAGI=1:WEND 
     AY=AY-1
     IF AY=0 THEN AY=12
    ENDIF
    
    CASE 5
    LCDOUT $FE,$C0,"Years "
    IF YUKARI=1 THEN
    WHILE YUKARI=1:WEND 
     YIL=YIL+1
     IF YIL=51 THEN YIL=5
    ENDIF
    IF ASAGI=1 THEN
    WHILE ASAGI=1:WEND 
     YIL=YIL-1
     IF YIL=4 THEN YIL=50
    ENDIF
    
    CASE 6
    LCDOUT $FE,$C0,"Week   "
    IF YUKARI=1 THEN
    WHILE YUKARI=1:WEND 
    HAFTA=HAFTA+1
    IF HAFTA=8 THEN HAFTA=1
    ENDIF
    IF ASAGI=1 THEN
    WHILE ASAGI=1:WEND 
    HAFTA=HAFTA-1
    IF HAFTA=0 THEN HAFTA=7
    ENDIF
    END SELECT
    RETURN
    
    
    ZAMAN_B:
        IF MENU=1 then ZAMAN_B
        gosub ZAMAN_YAZ
    goto AYAR_MENUSU    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ZAMAN_OKU:
      high RTC_RST:OUTPUT RTC_DTA
    shiftout RTC_DTA, RTC_CLK, 0, [$BF]:INPUT RTC_DTA
    SHIFTIN RTC_DTA, RTC_CLK, 1, [SN, DAK, SAAT,GUN , AY, HAFTA, YIL, MEM] 'OKU
         MEM=SN:GOSUB CEVIR:SN=SAYI
         MEM=DAK:GOSUB CEVIR:DAK=SAYI
         MEM=SAAT:GOSUB CEVIR:SAAT=SAYI
         MEM=GUN:GOSUB CEVIR:GUN=SAYI
         MEM=AY:GOSUB CEVIR:AY=SAYI
         MEM=YIL:GOSUB CEVIR:YIL=SAYI
         MEM=HAFTA:GOSUB CEVIR:HAFTA=SAYI
       low RTC_RST 
     return
    
    ZAMAN_YAZ:
         MEM=sn:gosub TERSCEVIR:sn=SAYI
         MEM=DAK:gosub TERSCEVIR:DAK=SAYI
         MEM=SAAT:gosub TERSCEVIR:SAAT=SAYI
         MEM=GUN:gosub TERSCEVIR:GUN=SAYI
         MEM=AY:gosub TERSCEVIR:AY=SAYI
         MEM=YIL:gosub TERSCEVIR:YIL=SAYI
         MEM=HAFTA:GOSUB TERSCEVIR:HAFTA=SAYI
    
      high RTC_RST
    SHIFTOUT RTC_DTA, RTC_CLK, 0, [$8E, 0]  'WRT Protek açýldý
       low RTC_RST:PAUSEUS 10 
      high RTC_RST     
    SHIFTOUT RTC_DTA, RTC_CLK, 0, [$BE, SN, DAK, SAAT,GUN , AY, HAFTA, YIL, 128] 'YAZ
       low RTC_RST
     PAUSEUS 10
     return
    
    CEVIR:
         ONLAR=MEM & %01110000
         ONLAR=ONLAR>>4
         BIRLER=MEM & %00001111
         SAYI=ONLAR*10+BIRLER
     return
    
    TERSCEVIR:
         ONLAR=MEM DIG 1
         ONLAR=ONLAR<<4
         BIRLER=MEM DIG 0
         SAYI=ONLAR+BIRLER
     return 
     
    
    END
    اين هم لينک دانلودش

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    يا
    http://uplod.ir/0slpzet5bgwp/KULUKA.bas.htm
    http://uplod.ir/0y9681vtczci/877_ile.DSN.htm
    http://uplod.ir/rp3jt6jr23m6/KULUKA.HEX.htm

    هگزش و تونستم با نرم افزار MicroCode Studio بگيرم
    تو اين برنامه از دوتا سنسور واسه محاسبه دماش استفاده شده که من نمي دونم چرا؟
    ميشه با اين برنامه دما و رطوبت و چرخش رو کنترل کرد؟
    برنامش درحدي هست که بتونيم در عمل جواب بگيريم؟
    باتشکر
  7. #7
    2013/02/25
    مشهد
    180
    33

    پاسخ : کمک در مورد برنامه کنترلر جوجه کشي با pic

    نقل قول نوشته اصلی توسط sina_sary
    ....مي خواستم بدونم به چه زباني نوشته شده؟
    ...
    سلام

    ببخشيد که من مقداري دير جواب شما را دادم. چون بر اثر گرفتاري هاي فراوان ، وقتي را براي گذراندن در اينترنت نداشتم.

    اين برنامه به زبان بيسيک نوشته شده است . کمپايلر مناسب PICbasicPro است. کمپايلر و محيطي بسيار راحت و روان و کم دردسر که در ايران (بر خلاف اروپا) طرفدارانش اندک هستند. ايراني ها در خصوص PIC بسيار بسيار متمايل به محيطهاي مبتني بر زبان C هستند.

    در خصوص متن این سورس کد ، براي درک بهتر برنامه مي توانيد واژه هاي نمايش داده شده بر روي LCD و نام متغيرها را (که فکر مي کنم به زبان ترکي استانبولي باشد) به کمک گوگل ترجمه کنيد. اين جوري راحت تر مي توانيد درک کنيد.



    اميدوارم ، بعد از اين زمان طولاني ، پاسخم براي شما مفيد بوده باشد.

    اميدوارم که همگي موفق باشيم
    والسلام علي من اتبع الهدي .... و درود بر کساني که راه هدايت را دنبال مي کنند.

    هوشمندانه بپرسيد...
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. کمک در تغیر برنامه مدار جوجه کشی
    توسط mohammadjavad_15 در انجمن میکروکنترلرهای PIC
    پاسخ: 4
    آخرين نوشته: 2018/05/29, 14:38
  2. تکمیل و عیب یابی برنامه کنترلر rgb
    توسط zoheyr79 در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2015/06/23, 10:43
  3. کمک در مورد برنامه کنترلر جوجه کشی
    توسط sina_sary در انجمن برنامه نویسی و اینترفیس
    پاسخ: 0
    آخرين نوشته: 2014/08/28, 09:07
  4. پاسخ: 38
    آخرين نوشته: 2014/08/04, 20:18
  5. سنسور های مورد نیاز برای دستگاه جوجه کشی
    توسط afsoongar_ghadiri در انجمن سنسورها
    پاسخ: 1
    آخرين نوشته: 2013/04/29, 15:22

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •