Stap 3: De codering deel (met Mikro C)
Open Mik. Maak een nieuw project en selecteer P16F877A microcontroller met frequentie 8 Mhz. naam van het project 'Volume aan te passen' en alle bibliotheekbestanden in het opnemen. Als u niet dat alle bestanden van de bibliotheek wilt, dan opnemen < lcd.h > en < lcdconstants.h > in uw programma. Kopieer en plak de code in Mikro C
Codering van BEGIN
EEN artikel van TheEffectiver.
opgeven welke pinnen zullen gebruikt als wat. Dit codefragment is noodzakelijk.
SBIT LCD_RS op RB1_bit;
SBIT LCD_EN op RB2_bit;
SBIT LCD_D7 op RB7_bit;
SBIT LCD_D6 op RB6_bit;
SBIT LCD_D5 op RB5_bit;
SBIT LCD_D4 op RB4_bit;
Einde specificatie voor pinnen
Geef het pin-Routebeschrijving
SBIT LCD_RS_Direction op TRISB1_bit;
SBIT LCD_EN_Direction op TRISB2_bit;
SBIT LCD_D4_Direction op TRISB4_bit;
SBIT LCD_D5_Direction op TRISB5_bit;
SBIT LCD_D6_Direction op TRISB6_bit;
SBIT LCD_D7_Direction op TRISB7_bit;
Einde van LCD Pin richting
int Volume = 10;
char Vol [16];
int maxvol = 20;
int minvol = 5;
void main()
{
TRISC. TRISC1 = 1; verzamelingen RC1 in invoermodus (voor het verhogen van het volume)
TRISC. TRISC2 = 1; verzamelingen Rc2 in imput modus (voor het verlagen van het volume)
PORTC = 0X00; Hiermee stelt u alle input pins op logica laag (of nul volt)
Lcd_Init(); voor het initialiseren van het LCD-scherm
Lcd_Cmd(_LCD_CLEAR); Schakel de weergave van de lcd
/ * Lcd_Cmd(command); * /
Lcd_Cmd(_LCD_CURSOR_OFF); Cursor uitschakelen omdat het lijkt in het LCD-scherm
/ * Lcd_Out (rij nummer, kolomnummer, tekst) ;*/
Lcd_Out (1,1, "Volume regelaar"); //Display naam van het programma
Delay_ms (1000); //give een vertraging van 1 seconde
Lcd_Cmd(_LCD_CLEAR); Schakel alle rijen van LCD-scherm
Lcd_Out(1,1,"volume:"); weergeven van volume in de eerste rij
intTostr (Volume, Vol); //convert int te string(char array) omdat Lcd_Out alleen tekenreeks weergegeven
Lcd_Out(2,1,vol); de geconverteerde tekenreeks weergeven
terwijl (1) //The begint eindeloze lus
{
if(PORTC. Rc1 == 1) //checks invoerfilter
{
while(PORTC. Rc1 == 1); //stays hier tot de input wordt nul
Volume ++; verhoogt het volume
if(volume==maxvol) //checks als maximale volume
{
Lcd_Cmd(_LCD_CLEAR); wist het scherm
Lcd_Out(1,1,"volume:");
Lcd_Out (2,1, "MAX VOLUME"); maximumvolume weergegeven in de tweede rij
Delay_ms(1000); geeft een vertraging
Lcd_Out (2,1,""); Hiermee wist u de tweede rij (er zijn 16 lege tekens in deze tekenreeks)
Volume--; //Decreases het volume aangezien het werkvolume maximale
}
}
Het bovenstaande geldt voor het resterende gedeelte
if(PORTC. RC2 == 1)
{
while(PORTC. RC2 == 1);
Volume--;
if(volume==minvol)
{
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"volume:");
Lcd_Out (2,1, "MIN VOLUME");
Delay_ms(1000);
Lcd_Out (2,1,"");
Volume ++;
}
}
De definitieve resultaten weergeven
Lcd_Out(1,1,"volume:");
intTostr(Volume,Vol);
Lcd_Out(2,1,vol);
}
}
Codering eindigt.
En bouw van het project door te drukken op ctrl + F9
Mikro-c zal het hex bestand voor u produceren.
Zorg ervoor dat u het project opslaan en het pad van het hex bestand kennen.