PIC mikrokontroller volym Adjuster Program(Proteus 8 Stimulation) (3 / 4 steg)
Steg 3: Den kodande delen (med Mikro C)
Öppna MikroC. Skapa ett nytt projekt och välj P16F877A mikrokontroller med frekvensen 8 Mhz. namnet projektet som "Volym Adjuster" och inkluderar alla biblioteksfiler i den. Om du inte vill inkludera alla biblioteksfiler, då omfatta < lcd.h > och < lcdconstants.h > i ditt program. Bara kopiera och klistra in koden i Mikro C
Coding BEGIN
EN artikel av TheEffectiver.
Ange vad stiften kommer att användas som vad. Denna bit av koden är nödvändigt.
sbit LCD_RS på RB1_bit;
sbit LCD_EN på RB2_bit;
sbit LCD_D7 på RB7_bit;
sbit LCD_D6 på RB6_bit;
sbit LCD_D5 på RB5_bit;
sbit LCD_D4 på RB4_bit;
Avsluta specifikationen för stift
Ange pin-vägbeskrivning
sbit LCD_RS_Direction på TRISB1_bit;
sbit LCD_EN_Direction på TRISB2_bit;
sbit LCD_D4_Direction på TRISB4_bit;
sbit LCD_D5_Direction på TRISB5_bit;
sbit LCD_D6_Direction på TRISB6_bit;
sbit LCD_D7_Direction på TRISB7_bit;
Slutet av LCD-Pin riktning
int volym = 10;
char Vol [16].
int maxvol = 20;
int minvol = 5;
void main)
{
TRISC. TRISC1 = 1; anger RC1 i ingångsläge (för att öka volymen)
TRISC. TRISC2 = 1; uppsättningar Rc2 i imput läge (för att minska volymen)
PORTC = 0X00; anger alla ingående stiften till logik låg (eller noll volt)
Lcd_Init(); att initiera lcd
Lcd_Cmd(_LCD_CLEAR); Avmarkera Visa på LCD-
/ * Lcd_Cmd(command); * /
Lcd_Cmd(_LCD_CURSOR_OFF); Inaktivera markören eftersom den visas i LCD-skärmen
/ * Lcd_Out (rad nummer, kolumnnummer, text) ;*/
Lcd_Out (1,1, "Volym Adjuster"); //Display programnamnet
Delay_ms (1000); //give en försening på 1 sekund
Lcd_Cmd(_LCD_CLEAR); Avmarkera alla rader av lcd skärm
Lcd_Out(1,1,"Volume:"); Visa volym i första raden
intTostr (volym, Vol); //convert int till string(char array) eftersom Lcd_Out endast visar sträng
Lcd_Out(2,1,Vol); Visa den konverterade strängen
samtidigt (1) //The börjar ändlös ögla
{
IF(PORTC. Rc1 == 1) //checks för indata
{
While(PORTC. Rc1 == 1), //stays här till indata blir noll
Volym ++; ökar volymen
IF(Volume==maxvol) //checks om volymen är maximal volym
{
Lcd_Cmd(_LCD_CLEAR); rensar skärmen
Lcd_Out(1,1,"Volume:");
Lcd_Out (2,1, "MAX volym"); visar högsta volym i andra raden
Delay_ms(1000); ger en fördröjning
Lcd_Out (2,1,""); rensar den andra raden (det finns 16 tomma tecken i strängen)
Volym--; //Decreases volymen eftersom volymen är maximal
}
}
Ovanstående gäller för resterande avsnitt
IF(PORTC. RC2 == 1)
{
While(PORTC. RC2 == 1);
Volym--;
IF(Volume==minvol)
{
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"Volume:");
Lcd_Out (2,1, "MIN volym");
Delay_ms(1000);
Lcd_Out (2,1,"");
Volym ++;
}
}
De slutliga resultaten
Lcd_Out(1,1,"Volume:");
intTostr(Volume,Vol);
Lcd_Out(2,1,Vol);
}
}
Kodning ändar.
Och bygga projektet genom att trycka på ctrl + F9
mikro c kommer att producera den hex filen för dig.
se till att du sparar projektet och känner till sökvägen i filen hex.