Stap 2: De code...
Hieronder is de code, waardoor het project werken:
LCD module verbindingen
SBIT LCD_RS op RA0_bit;
SBIT LCD_EN op RA1_bit; SBIT LCD_EN op RB3_bit;
SBIT LCD_D4 op RB4_bit;
SBIT LCD_D5 op RB5_bit;
SBIT LCD_D6 op RB6_bit;
SBIT LCD_D7 op RB7_bit;
SBIT LCD_RS_Direction op TRISA0_bit;
SBIT LCD_EN_Direction op TRISA1_bit; SBIT LCD_EN_Direction op TRISB3_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;
char [LCDTXT] = "Salvo [FINIS]";
char [LCDMSG] = "Data";
char uart_rd;
niet-ondertekende korte new_DC, current_DC;
lange ADC_Value = 0;
unsigned int adc_rd;
unsigned char ch;
char * temp = "0000";
int i = 0;
lange tlong;
/*
Hiermee configureert u de waarden van het systeem voor opstarten
*/
VOID TempDisplay()
{
adc_value = ADC_Read(4);
adc_value = (lange) adc_value * 5000;
adc_value = adc_value / 1023;
Temp [0] = adc_value/1000 + 48;
Temp [1] = (adc_value/100)%10 + 48;
Temp [2] = (adc_value/10)%10 + 48;
Temp [3] = adc_value % 10 + 48;
Lcd_Out(2,1,"temp:");
Lcd_Out(2,7,temp);
Delay_ms(20);
}
VOID IOConfig()
{
Uitschakelen van de analoge
ANSELA = 0X08;
ANSELB = 0X0;
Poorten
TRISB = 0XF8;
TRISA = 0X10;
PIC16F1827 heeft twee vangen modules vergelijken en beide moeten worden uitgeschakeld
CCP1CON = 0X0;
CCP2CON = 0X0;
INTCON = 0; alle interrupts uitschakelen
CPSCON0 = 0;
ADCON0 = 0X10;
CM1CON0 = 0X0;
}
VOID LCDConfig()
{
Lcd_Init(); Initialiseren van de LCD
Lcd_Cmd(_LCD_CLEAR); Duidelijk display
Lcd_Cmd(_LCD_CURSOR_OFF); Cursor uitschakelen
Lcd_Out(1,1,LCDTXT); Schrijven van de tekst in de eerste rij
}
void main() {}
IOConfig();
LCDConfig();
while(1)
{
LED(); Testsignaal weergeven
TempDisplay();
}
}