Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

#include <system.

h>
#include <stdio.h>
#include <altera_up_avalon_character_lcd.h>

volatile int * JTAG_UART_ptr = (int *) JTAG_UART_BASE;


char code_7seg[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c , 0x07, 0x7f, 0x67,
0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};
char buffer_7seg[] = {0,0,0,0,0,0,0,0};
char buffer_LCD[2] = "\n";
char input_value;

void clear_LCD(alt_up_character_lcd_dev *LCD_Controller)


{
alt_up_character_lcd_init (LCD_Controller);
}
void LCD_XY(alt_up_character_lcd_dev *LCD_Controller, int x, int y)
{
alt_up_character_lcd_set_cursor_pos (LCD_Controller, x, y);
}
void LCD_display(alt_up_character_lcd_dev *LCD_Controller, char *text)
{
alt_up_character_lcd_string (LCD_Controller, text);
}
void hex_display(char number, char order_7seg)
{
volatile int * HEX3_HEX0_ptr = (int *) HEX3_0_BASE;
buffer_7seg[order_7seg] = code_7seg[number];
* (HEX3_HEX0_ptr) = *(int *) (buffer_7seg);
}
void input_char()
{
int data;
data = *(JTAG_UART_ptr);
if(data & 0x00008000) //Kiem tra bit RVALID
{
data = data & 0x000000ff;
if(data != 10)
input_value = (char) data;
}
}
int main(void)
{
alt_up_character_lcd_dev *lcd_data;
lcd_data = alt_up_character_lcd_open_dev ("/dev/LCD");
clear_LCD(lcd_data);
printf ("Nhap vao ki tu: \n");
while(1)
{
input_char();
hex_display((input_value&0xf000)>>12,3);
hex_display((input_value&0x0f00)>>8, 2);
hex_display((input_value&0x00f0)>>4, 1);
hex_display(input_value&0x000f,0);

LCD_XY(lcd_data,0,0);
LCD_display(lcd_data,"HE THONG NHUNG");
LCD_XY(lcd_data,0,1);
LCD_display(lcd_data, "Ky tu nhan duoc la: ");
sprintf(buffer_LCD,"%c", input_value);
LCD_display(lcd_data, buffer_LCD);
}
return(0);
}

You might also like