하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.
#include <delay.h>
#include "init.h"
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include <lcd.h>
void LCD_4hex(unsigned int number)
{
unsigned int i;
i = number >> 12;
if(i<=9) LCD_data(i + '0');
else LCD_data(i - 10 + 'A'); i = (number >> 8) & 0X000F;
if(i<=9) LCD_data(i + '0');
else LCD_data(i - 10 + 'A'); i = (number >> 4) & 0X000F;
if(i<=9) LCD_data(i + '0');
else LCD_data(i - 10 + 'A'); i = number & 0X000F;
if(i<=9) LCD_data(i + '0');
else LCD_data(i - 10 + 'A');
} void LCD_1d1(float number)
{
unsigned int i, j; j= (int)(number*10. + 0.5);
i = j/10;
LCD_data(i +'0');
LCD_data('.');
i = j % 10;
LCD_data( i + '0');
} void LCD_4d(unsigned int number)
{
unsigned int i;
unsigned char flag;
flag = 0; i = number/1000; // 10^3
if(i == 0)
LCD_data(' ');
else
{
LCD_data(i+'0');
flag = 1;
} number = number % 1000; // 10^2
i = number / 100;
if((i == 0)&&(flag == 0))
LCD_data(' ');
else
{
LCD_data(i+'0');
flag = 1;
}
number = number % 100; // 10^1
i = number / 10;
if((i == 0)&&(flag == 0))
LCD_data(' ');
else
{
LCD_data(i+'0');
flag = 1;
} i = number % 10; // 10^0
LCD_data(i+'0'); }
void main()
{
DDRA = 0xff; // 포트 A LCD 출력 설정
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("TunA");
// lcd_putchar("tuna");
// LCD_str(0x80,"tuna"); // 이름
//LCD_str(0xCC,'v');
}