Yeni Eklenen Devreler
Buradasınız: Anasayfa / Güç Devreleri / Yıldız Üçgen Kumanda Devresi (Pic16F628)

Yıldız Üçgen Kumanda Devresi (Pic16F628)

600_Marelli-4-Pole-AC-Motor-for-Speed-Control

Elektronik devre Yıldız Üçgen Kumanda Devresidir.Devre de programlanabilir Pic ailesinden 16F628 kullanılmıştır.Elektronik devre de anahtar durumunu göstermek için LCD kullanılmıştır.Devre için Proteus ISIS Şeması, PBP, ASM ve HEX dosyalarını linkten indirebilirsiniz.Kolay gelsin.

ElektronikDevreler.Org

yildiz-ucgen-kumanda-580x306g

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<pre>'****************************************************************
'*  Name    : YILDI ÜÇGEN RÖLE.BAS                              *
'*  Author  : X0914667@yahoo.com                                *
'*  Notice  : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 08.07.2006                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
Define LCD_DREG PORTB      'LCD DATA TANIM AYARLARI
Define LCD_DBIT 4          'LCD TANIM AYARLARI
Define LCD_RSREG PORTB     'LCD RS TANIM AYARLARI
Define LCD_RSBIT 2         'LCD TANIM AYARLARI
Define LCD_EREG PORTB      'LCD RE TANIM AYARLARI
Define LCD_EBIT 3          'LCD TANIM AYARLARI
DEFINE LCD_LINES 2         'LCD SATIR SAYISI
'*********************DEĞİŞKEN TANIMLARI*************************
SAYAC VAR BYTE             'ZAMAN SAYACI 1 SN.'LİK
SANIYE VAR BYTE            'SANİYE SAYACI
KUMANDA VAR BIT
UCGENEGEC1 VAR BIT
B1 VAR BYTE
B0 VAR BYTE
B2 VAR BYTE
B3 VAR BYTE
B4 VAR BYTE
B5 VAR BYTE
'*******************ZAMAN SAYACI İNTERRUPT AYARLARI**************
ON INTERRUPT GoTo KESME   'kesme oluşursa KESME adlı etikete git.
OPTION_REG=%10000101      'Pull up dirençleri İPTAL- Bölme oranı 1/64.
INTCON=%10100000          'Kesmeler aktif ve TMR0 kesmesi aktif
TMR0=0
CMCON=7
clear                   'BÜTÜN DEĞİŞKENLERİ SIFIRLA
LCDOUT $FE,1            'LCD'Yİ TEMİZLE
PAUSE 500               'LCD İÇİN BEKLEME ZAMANI
'TRISA=%
'TRISB=0                  'PORTB ÇIKIŞ
'*****************AÇILIŞ İÇİN KAYAN YAZI**************************
LOOP:
LCDOut $fe,2
For B2= 0 TO 15
LookUp B0, ["               OTUGEN OTOMASYON                #"], B1
IF B1 = "#" Then GoTo reset
LCDOut B1
B0 = B0 + 1
Next B2
pause 125        'KARAKTER BEKLEME ZAMANI
B0 = B0 - 15
GoTo loop
RESET:
LCDOUT $FE,1
'*****************************************************************
onprogram:
  LCDOUT $FE,$80
  LCDOUT "  YILDIZ UCGEN    "
  LCDOUT $FE,$C0
  LCDOUT " KUMANDA ROLESI   "
  PAUSE 500
  LCDOUT $FE,1
ANAPROGRAM:
  IF PORTA.7=1 THEN
   GOTO ARIZA
    ELSE
     GOTO NORMAL
      ENDIF
ARIZA:
 LCDOUT $FE,$80,"MOTORUN TERMIK"
 LCDOUT $FE,$C0,"ROLESI  ATTI  "
LOW PORTB.0:LOW PORTA.3:LOW PORTB.1
KUMANDA=0:SAYAC=0:SANIYE=0
 GOTO ANAPROGRAM
NORMAL:
  LCDOUT $FE,$80,"MOTOR:"
  IF PORTA.3=0 THEN
   GOTO mesajstop
    else
     goto start
      endif
mesajstop:
 lcdout $fe,$86,"STOP           "
 LCDOUT $FE,$C0,"               "
 GOTO KONTROL
 START:
 lcdout $fe,$86,"START          "
 GOTO KONTROL
KONTROL:
   IF (PORTA.1=1) OR (PORTA.7=1) THEN GOTO MOTORDUR
   IF (PORTA.1=0)AND(PORTA.7=0)AND(PORTA.0=1)OR(KUMANDA=1) THEN
    GOTO MOTORYILDIZ
     ELSE
      GOTO MOTORDUR
       ENDIF
MOTORYILDIZ:
KUMANDA=1
IF SANIYE=15 THEN
  UCGENEGEC1=1
    ENDIF
IF UCGENEGEC1=1 THEN GOTO UCGEN
LOW PORTB.0:HIGH PORTA.3:HIGH PORTB.1
LCDOUT $FE,$C0,"CALISMA YILDIZ"
GOTO PROGRAMDEVAM
UCGEN:
HIGH PORTB.0:HIGH PORTA.3:LOW PORTB.1
LCDOUT $FE,$C0,"CALISMA UCGEN "
GOTO ANAPROGRAM
MOTORDUR:
LOW PORTB.0:LOW PORTA.3:LOW PORTB.1
KUMANDA=0:SAYAC=0:SANIYE=0
PROGRAMDEVAM:
GOTO ANAPROGRAM    
'********************ZAMAN RÖLESİ PARAMETRELERİ**************************
DISABLE
KESME:
    IF KUMANDA=1 THEN
        GOTO SAY
         ELSE
          GOTO DEVAM
            ENDIF
SAY:
        SAYAC=SAYAC+1      'kesme sayacı  1 sn= 61(sayac) x 256 (Tmr0) x 64 (bölme)
         IF SAYAC=61 then   '61 adet kesme olunca 1 sn. süre geçiyor.(999424 us)
            SAYAC=0           'sayaç sıfırlanıyor
              SANIYE=SANIYE+1
'             GOSUB ZAMAN_OKU
'         if Y<5 then HIGH porta.3
       ENDIF
DEVAM:
        INTCON.2=0  'TMR0 Kesme bayrağı sıfırlanıyor
         RESUME
         ENABLE</pre>

Hakkında AtaKanTürk

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*


*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Scroll To Top