*Program CCS C derleyicisinde yazılmıştır.
On-Off Kontrol programı
#include <16F877A.h>
#device adc=10
#FUSES HS
#use delay(clock=20000000)
#use fast_io (a)
#use fast_io (c)
void main()
{
set_tris_a(0xFF);
set_tris_c(0xF0);
while (true)
{
if(input(pin_a0)==1)
{
output_c(0x0a);
}
if(input(pin_a1)==1)
{
output_c(0x02);
}
if(input(pin_a2)==1)
{
output_c(0x06);
}
if(input(pin_a3)==1)
{
output_c(0x04);
}
if(input(pin_a5)==1)
{
output_c(0x05);
}
}
}
|
PWM programı
#include <16F877A.h>
#device adc=10
#FUSES HS
#use delay(clock=20000000)
#use fast_io(a)
#use fast_io(c)
unsigned int8 sensorler=0,solpwm=0,sagpwm=0;
void main()
{
setup_timer_2(T2_DIV_BY_1,249,1);
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
set_tris_a(0xFF);
set_tris_c(0xF0);
while(true)
{
sensorler = input_a();
sensorler = sensorler * "b00101111";
if(sensorler=="b00000100" || sensorler=="b00101011")
{
solpwm=990;
sagpwm=990;
}
if(sensorler=="b00000110" || sensorler=="b00101001")
{
solpwm=700;
sagpwm=990;
}
if(sensorler=="b00001100" || sensorler=="b00100011")
{
solpwm=990;
sagpwm=700;
}
if(sensorler=="b00000010" || sensorler=="b00101101")
{
solpwm=500;
sagpwm=990;
}
if(sensorler=="b00001000" || sensorler=="b00100111")
{
solpwm=990;
sagpwm=500;
}
if(sensorler=="b00000011" || sensorler=="b00101100")
{
solpwm=300;
sagpwm=990;
}
if(sensorler=="b00101000" || sensorler=="b00000111")
{
solpwm=990;
sagpwm=300;
}
if(sensorler=="b00100000" || sensorler=="b00001111")
{
solpwm=0;
sagpwm=990;
}
if(sensorler=="b00000001" || sensorler=="b00101110")
{
solpwm=990;
sagpwm=0;
}
set_pwm1_duty(solpwm);
set_pwm2_duty(sagpwm);
}
}
|
Projenin proteus dosyalarını
buradan indirebilirsiniz.
iNdirme Sitesi: http://www.emrahbudak.com/indir/cizgi_izleyen_robot.rar
0 Yorumlar