📄 xtest07_4k.c
字号:
/* ========================================================================== */
/* Xtest07_4.c : Real Number Display without and with Sign on GLCD */
/* ========================================================================== */
/* Designed and programmed by Duck-Yong Yoon in 2007. */
#include <math.h>
#include "AT91SAM7S256.h"
#include "lib_AT91SAM7S256.h"
#include "OK7S256ads.h"
#include "OK7S256Korean.h"
void GLCD_1d1(double number) /* floating-point number x.x */
{ unsigned int i, j;
j = (int)(number*10. + 0.5);
i = j / 10; // 10^0
GLCD_English(0,i + '0');
GLCD_English(0,'.');
i = j % 10; // 10^-1
GLCD_English(0,i + '0');
}
void GLCD_s1d1(double number) /* floating-point number +x.x */
{
if(number >= 0.) // sign
GLCD_English(0,'+');
else
GLCD_English(0,'-');
GLCD_1d1(fabs(number)); // magnitude
}
void GLCD_2d2(double number) /* floating-point number xx.xx */
{ unsigned int i, j;
j = (int)(number*100. + 0.5);
i = j / 1000; // 10^1
if(i == 0) GLCD_English(0,' ');
else GLCD_English(0,i + '0');
j = j % 1000; // 10^0
i = j / 100;
GLCD_English(0,i + '0');
GLCD_English(0,'.');
j = j % 100; // 10^-1
i = j / 10;
GLCD_English(0,i + '0');
i = j % 10; // 10^-2
GLCD_English(0,i + '0');
}
void GLCD_s2d2(double number) /* floating-point number +xx.xx */
{
if(number >= 0.) // sign
GLCD_English(0,'+');
else
GLCD_English(0,'-');
GLCD_2d2(fabs(number)); // magnitude
}
int main(void)
{
double i, j;
double x, y;
MCU_initialize(); // initialize AT91SAM7S256 & kit
Delay_ms(50); // wait for system stabilization
LCD_initialize(); // initialize text LCD
GLCD_clear(); // initialize GLCD screen
LCD_string(0x80,"Graphic LCD Test"); // display title on text LCD
LCD_string(0xC0," Real Number ");
while(1)
{ GLCD_string(0,0,1,"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -