با سلام و عرض ادب خدمت دوستان گرامی
من یه پروژه دارم که باید روز شنبه ارائه بدم و یه برنامه نویسی کوچیک داره که بیشترشو با مطالعه این کتاب مفید فهمیدم فقط چند تا سطر هست که منظور برنامه نویس رو متوجه نشدم
از دوستان خواهش میکنم اگر اطلاعاتی دارید به من کمک کنید
با تشکر فراوان
اون قسمتهایی که متوجه نشدم رو به رنگ قرمز مینویسم
pic 16f877
#include <finalmt8870.h>
#INT_EXT
void EXT_isr(void)
{
}
#define LCD_ENABLE_PIN PIN_B5
#define LCD_RS_PIN PIN_B7
#define LCD_RW_PIN PIN_B6
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B3
#define LCD_DATA6 PIN_B2
#define LCD_DATA7 PIN_B1
#include <lcd.c>
void main()
{
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
lcd_init();
unsigned int8 reza=0;
#bit pina0 = reza.0
#bit pina1 = reza.1
#bit pina2 = reza.2
#bit pina3 = reza.3
lcd_putc("motor off");
pwm_set_duty_percent(0);
while(TRUE)
{
reza=0;
pina0=input(PIN_A0);
pina1=input(PIN_A1);
pina2=input(PIN_A2);
pina3=input(PIN_A3);
switch(reza) {
case 1 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(0);
break;
}
case 2 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(100);
break;
}
case 3 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(200);
break;
}
case 4 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(300);
break;
}
case 5 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(400);
break;
}
case 6 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(500);
break;
}
case 7 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(600);
break;
}
case 8 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(700);
break;
}
case 9 :{
printf(lcd_putc,"\f\ level= %u",reza);
pwm_set_duty_percent(1000);
break;
}
}
delay_ms(100);
}
}