hain_wista
Üye
- Katılım
- 21 May 2009
- Mesajlar
- 10
- Puanları
- 1
- Yaş
- 36
şu devreyi proteusuta simülasyonunu yapınca calısıyor ama bır eksık var
butondan elimi kaldırdıgım zaman motorun durması lazım
yani sadece basılı durumda motor dönmeli
bunu nasıl yapıcam ?
devre gercek halınde ise buton yerıne oraya lojik (0-1) verecek bır sensör kullanacagım
sorun olur mu ?
kod bloğu şu sekilde
cok tesekkur ederım iyi günler
//#include "C:\Users\can\Desktop\motor aç kapa\aç kapa.h"
#include <16F877A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES WRT_50% //Lower half of Program Memory is Write Protected
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B0,rcv=PIN_B0,bits=8)
#define buton_ileri pin_a0
#define buton_geri pin_a1
#define buton_stop pin_a2
#define input1 pin_b0
#define input2 pin_b1
#define enable_a pin_b2
#define enable_b pin_b3
void main()
{
setup_psp(PSP_DISABLED);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
output_high(enable_a);
output_low(enable_b);
output_low(input1);
output_low(input2);
set_tris_a(0x07);
set_tris_b(0x00);
while(1)
{
if(input(buton_ileri))
{
output_high(input1);
output_low(input2);
}
if(input(buton_geri))
{
output_low(input1);
output_high(input2);
}
if(input(buton_stop))
{
output_low(input1);
output_low(input2);
}
}
}
Yönetici Notu: Paylaşılan fotoğraf, fotoğraf paylaşım sitesinden silindiği için kaldırılmıştır.
butondan elimi kaldırdıgım zaman motorun durması lazım
yani sadece basılı durumda motor dönmeli
bunu nasıl yapıcam ?
devre gercek halınde ise buton yerıne oraya lojik (0-1) verecek bır sensör kullanacagım
sorun olur mu ?
kod bloğu şu sekilde
cok tesekkur ederım iyi günler
//#include "C:\Users\can\Desktop\motor aç kapa\aç kapa.h"
#include <16F877A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES WRT_50% //Lower half of Program Memory is Write Protected
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B0,rcv=PIN_B0,bits=8)
#define buton_ileri pin_a0
#define buton_geri pin_a1
#define buton_stop pin_a2
#define input1 pin_b0
#define input2 pin_b1
#define enable_a pin_b2
#define enable_b pin_b3
void main()
{
setup_psp(PSP_DISABLED);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
output_high(enable_a);
output_low(enable_b);
output_low(input1);
output_low(input2);
set_tris_a(0x07);
set_tris_b(0x00);
while(1)
{
if(input(buton_ileri))
{
output_high(input1);
output_low(input2);
}
if(input(buton_geri))
{
output_low(input1);
output_high(input2);
}
if(input(buton_stop))
{
output_low(input1);
output_low(input2);
}
}
}
Yönetici Notu: Paylaşılan fotoğraf, fotoğraf paylaşım sitesinden silindiği için kaldırılmıştır.