*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