chào tất cả mọi người, mình có 1 bài code nhưng không thể hiển thị tốc độ lên lcd. Mong mọi người xem giúp mình với ạ, mình cám ơn nhiều
#include "main.h"
#include "var.h"
#include "74ls138/74ls138.c"
#include "lcd16x2/lcd16x2.c"
#include "adc/adc.c"
#include <stdio.h>
#include <stdlib.h>
unsigned int xung,sovong;
char str[10];
#INT_EXT
void ngat_RB0()
{
xung++;
}
void main()
{
uint8_t str[16];
uint16_t AdcValue;
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0);
set_tris_b(0b00000001);
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
ext_int_edge(H_TO_L);
DDRC=0xff;
DDRD=0x00;
DDRA=0x01;
DDRE=0x00;
LCD_Init();
output_low(PIN_C1); // Set CCP2 output low
setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM
setup_timer_2(T2_DIV_BY_16, 255, 1);
while(TRUE)
{
AdcValue=ADC_ReadValue(0);
LCD_Gotoxy(0,0);
sprintf(str,"dien ap = %lu V",(AdcValue*5)/255);
LCD_Puts(str);
sovong=(xung*255)/100;
LCD_Gotoxy(0,1);
sprintf(str,"speed = %d ",sovong);
LCD_Puts(str);
xung=0;
delay_ms(10);
set_pwm1_duty((int)AdcValue); // 25% duty cycle on pin C2
}
}
#include "main.h"
#include "var.h"
#include "74ls138/74ls138.c"
#include "lcd16x2/lcd16x2.c"
#include "adc/adc.c"
#include <stdio.h>
#include <stdlib.h>
unsigned int xung,sovong;
char str[10];
#INT_EXT
void ngat_RB0()
{
xung++;
}
void main()
{
uint8_t str[16];
uint16_t AdcValue;
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0);
set_tris_b(0b00000001);
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
ext_int_edge(H_TO_L);
DDRC=0xff;
DDRD=0x00;
DDRA=0x01;
DDRE=0x00;
LCD_Init();
output_low(PIN_C1); // Set CCP2 output low
setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM
setup_timer_2(T2_DIV_BY_16, 255, 1);
while(TRUE)
{
AdcValue=ADC_ReadValue(0);
LCD_Gotoxy(0,0);
sprintf(str,"dien ap = %lu V",(AdcValue*5)/255);
LCD_Puts(str);
sovong=(xung*255)/100;
LCD_Gotoxy(0,1);
sprintf(str,"speed = %d ",sovong);
LCD_Puts(str);
xung=0;
delay_ms(10);
set_pwm1_duty((int)AdcValue); // 25% duty cycle on pin C2
}
}
Comment