Ауа-отын қатынасын бақылауға арналған C коды
// СКД модулінің қосылымдары sbit LCD_RS RD4_bit кезінде; sbit LCD_EN RD5_bit кезінде; sbit LCD_D4 RD0_bit кезінде; sbit LCD_D5 RD1_bit кезінде; sbit LCD_D6 кезінде RD2_bit; sbit LCD_D7 кезінде RD3_bit;
sbit LCD_RS_Direction TRISD4_bit бойынша; sbit LCD_EN_Direction TRISD5_bit бойынша; sbit LCD_D4_Direction TRISD0_bit бойынша; sbit LCD_D5_Direction TRISD1_bit бойынша; sbit LCD_D6_Direction TRISD2_bit бойынша; sbit LCD_D7_Direction TRISD3_bit бойынша;
// Соңғы СКД модулінің қосылымдары float v,op,fs,tlong;
long int x;
char *мәтін1, *мәтін2, *мәтін3, *мәтін4; void main()
{
ADRESL =0x0D;// AN2 және AN3 түйреуіштері аналогтық ретінде конфигурацияланған ТРИСА= 0xFF;// Барлық A портының түйреуіштері кіріс ретінде конфигурацияланған ADRESH= 0;// Демалыс түйреуіштер сандық ретінде конфигурацияланған
TRISB =0;
TRISC=1;// Барлық C портының түйреуіштері кіріс ретінде конфигурацияланған TRISD= 0;// Барлық D портының түйреуіштері шығыс ретінде конфигурацияланған
ADCON1.F4 = 1;// Кернеу анықтамасы RA3 істікшесіне келтіріледі. Lcd_Init();// СКД дисплейін баптандыру Lcd_Cmd(_LCD_CURSOR_OFF);// СКД командасы (курсор өшірулі) Lcd_Cmd(_LCD_CLEAR);// СКД пәрмені (таза СКД) text1 = "БІРІНШІ SHIFT ";
text2 = "ЕКІ SHIFT "; text3=" SHIFT THREE ";
text4="РЕЖИМ";
STR: егер(PORTC.F0==1)
{
x=10,5;
Lcd_Out(1,1,мәтін1); Lcd_Out(2,1,мәтін4);
}
басқа болса (PORTC.F1==1)
{ x=13,5;
Lcd_Out(1,1,мәтін2); Lcd_Out(2,1,мәтін4);
}
басқа болса(PORTC.F2==1)
{ x=11;
Lcd_Out(1,1,мәтін3); Lcd_Out(2,1,мәтін4);
}
басқа
{
}
tlong=ADC_Read(0);
fs=tlong*5000; // Нәтижені милливольтпен түрлендіру fs=fs/2560;
v=fs*x; op=(v/5000)*256; егер(PORTC.F4==1)
{
PORTB=op;
}
басқа
{
PORTB=0;
}
кешігу_мс(1);
баруSTR;// Шексіз цикл
}
Достарыңызбен бөлісу: |