Всем привет! Нужна помощь с программной частью. Есть простенькая схема (фото прилагается).
https://drive.google.com/open?id=18J...7WLLqcWjhOQaG4
На входе диапазон от 0 до 5 Вольт. Необходимо написать программную часть такую, чтобы на выходе было от -3 до +3 вольт. Шаг 0.1. Помогите, пожалуйста (код из microC прилагается, типа код
)
Код:
sbit LCD_RS at RC2_bit;
sbit LCD_EN at RC3_bit;
sbit LCD_D4 at RC4_bit;
sbit LCD_D5 at RC5_bit;
sbit LCD_D6 at RC6_bit;
sbit LCD_D7 at RC7_bit;
// Направление выводов
sbit LCD_RS_Direction at TRISC2_bit;
sbit LCD_EN_Direction at TRISC3_bit;
sbit LCD_D4_Direction at TRISC4_bit;
sbit LCD_D5_Direction at TRISC5_bit;
sbit LCD_D6_Direction at TRISC6_bit;
sbit LCD_D7_Direction at TRISC7_bit;
void main( )
{
int res_ADC; // переменная для хранения кода АЦП
int mvolts; // переменная для хранения напряжения в милливольтах
char num, v; // переменная для хранения цифр напряжения в вольтах
TRISA = 0x01; // настроить линию RA0 на ввод
ADC_Init( ); // инициализация модуля АЦП
Lcd_Init( ); // инициализация модуля ЖКД
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
while(1)
{
res_ADC = ADC_Read( 0 );
mvolts = ((long)res_ADC * 5000) / 0x03FF;
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1, 1, "U = ");
num = (mvolts-2500) / 833;
Lcd_Chr_Cp( 48 + num);
Lcd_Chr_Cp('.');
num = (mvolts / 100) % 10;
Lcd_Chr_Cp(48 + num);
Lcd_Out_Cp(" V");
Delay_ms(2000);
}
}