Lcd_Out проблеми

K

klutch

Guest
привіт, IAM нової для AVR.

Я хочу, щоб використовувати математичні код і відправити результат на РК-2x16, але вона не працює.

Ось код.я просто хочу показати результат гріха (2) на РК-дисплеї.але другий код lcd_out не відображається на рідкокристалічному дисплеї.

Як я можу це зробити.Завдяки вашої допомоги.

Код:

/ / РК-модуль зв'язку

sbit LCD_RS на PORTD2_bit;

sbit LCD_EN на PORTD3_bit;

sbit LCD_D4 на PORTD4_bit;

sbit LCD_D5 на PORTD5_bit;

sbit LCD_D6 на PORTD6_bit;

sbit LCD_D7 на PORTD7_bit;sbit LCD_RS_Direction на DDD2_bit;

sbit LCD_EN_Direction на DDD3_bit;

sbit LCD_D4_Direction на DDD4_bit;

sbit LCD_D5_Direction на DDD5_bit;

sbit LCD_D6_Direction на DDD6_bit;

sbit LCD_D7_Direction на DDD7_bit;

/ / Кінець РК-модуль зв'язкусЬаг результат;вакуум основних () (Lcd_Init (); / / Ініціалізація LCD

Lcd_Cmd (_LCD_CLEAR) / / Очистити дисплей

Lcd_Cmd (_LCD_CURSOR_OFF) / / Курсор зLcd_Out (1,1 ", ство () код");результат = гріха (2);Lcd_Out (2,1, результат); / /??

)
 
Цитата:

другий код lcd_out не відображається на рідкокристалічному дисплеї.
 
Привіт,
Ця лінія:
Код:

результат = гріха (2);
 
гріха (2) = 0,9092974 бажаного результату.

значення регістра результату таке ж значення, і, як видається, другий рядок на дисплеї.

я переписати код, які плавають результат;

я надаю помилка при compliering.Я думаю, lcd_out приймає тільки символ типу, як ви сказали.

Як я можу конверсії проточного типу змінної до рядка чи характер?

 
Цитата:

Як я можу конверсії проточного типу змінної до рядка чи характер?
 
Я використовую mikroC про компілятор для AVR.

Я збираюся працювати по темі ти кажеш.

Якщо я буду успішним, я буду писати тут.

велике спасибі.

 
Привіт klutch,
Це простий спосіб перетворення з плаваючою точкою в рядок:
гріха (2) = 0,9092974

Помножте свій результат від гріха функції 10, 100, 1000 або 10000, в залежності від точності ви хочете.
Наприклад.Давайте помножимо, що до 10000.Таким чином, ви отримаєте 9092.974

Призначення це ціле число, так що ви отримаєте 9092.
Тепер, із змінним, вул [] оголошений як масив.Припустимо, ваш 9092 зберігається в tempxy.
Таким чином, ви можете зробити:
Код:якщо tempxy> = 0 (

м [0] = " ";

)

якщо tempxy <0 (

м [0] = "-";

)

м [1] = (tempxy/1000);

м [2] = "."

м [3] = (tempxy/1000)% 10;

м [4] = (tempxy/100)% 10;

м [5] = (tempxy/10)% 10;

м [6] = tempxy% 10;
 
так, ви праві.

Крім того, mikroc має спеціальний код, конвертер, який FloatToStr ();

завдяки Losic Тихомир від mikroe форум, і тут все

Код:

/ / РК-модуль зв'язку

sbit LCD_RS на PORTD2_bit;

sbit LCD_EN на PORTD3_bit;

sbit LCD_D4 на PORTD4_bit;

sbit LCD_D5 на PORTD5_bit;

sbit LCD_D6 на PORTD6_bit;

sbit LCD_D7 на PORTD7_bit;sbit LCD_RS_Direction на DDD2_bit;

sbit LCD_EN_Direction на DDD3_bit;

sbit LCD_D4_Direction на DDD4_bit;

sbit LCD_D5_Direction на DDD5_bit;

sbit LCD_D6_Direction на DDD6_bit;

sbit LCD_D7_Direction на DDD7_bit;

/ / Кінець РК-модуль зв'язкупоплавець res_rad;

сЬаг [результатом 12];вакуум основних () (Lcd_Init (); / / Ініціалізація LCD

Lcd_Cmd (_LCD_CLEAR) / / Очистити дисплей

Lcd_Cmd (_LCD_CURSOR_OFF) / / Курсор зLcd_Out (1,1 ", ство () код");res_rad = гріха (2); / / res_rad = 0,9092

FloatToStr (res_rad, результат); / / Перетворює число з плаваючою комою в рядок

Lcd_Out (2,1, результат); / / Виводить результат на РК, починаючи з позиції 1 на 2 рядки.

)
 

Welcome to EDABoard.com

Sponsor

Back
Top