Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TM4C1294
TM4C1294
b0 b1
PORTA
1 b4
b7
b2
01
06
0F
28
Programa en C
Directivas del Prepocesador
- define (Macros)
- includes
Declaraciones Globales
Variables
- Funciones
main()
{
--}
/*
* Este programa inicializa y despliega el mensaje HOLA
* en un LCD
*/
#define PORTADAT (*((volatile unsigned int*)0x400643FC))
#define PORTADIR (*((volatile unsigned int*)0x40064400))
#define PORTADEN (*((volatile unsigned int*)0x4006451C))
#define RCGCGPIO (*((volatile unsigned int*)0x400FE608))
#define RS 1
#define RW 2
#define EN 4
void delayMs(int n);
void delayUs(int n);
void LCD_nibble_write(unsigned char data, unsigned char control);
void LCD_command(unsigned char command);
void LCD_data(unsigned char data);
void LCD_init(void);
int main(void)
{
LCD_init();
for(;;)
{
LCD_command(1);
LCD_command(0x80);
delayMs(500);
LCD_data('H');
LCD_data('o');
LCD_data('l');
LCD_data('l');
LCD_data('a');
delayMs(500);
}
}
/*limpia display*/
/*cursor del LCD a localidad*/
void LCD_init(void)
{
RCGCGPIO = RCGCGPIO + 0x01;
PORTADIR = PORTADIR + 0Xff;
PORTADEN = PORTADEN + 0xFF;
delayMs(50);
LCD_nibble_write(0x30, 0);
delayMs(5);
LCD_nibble_write(0x30, 0);
delayUs(100);
LCD_nibble_write(0x30, 0);
delayUs(40);
LCD_nibble_write(0x20, 0); /* modo 4 bit */
delayUs(40);
LCD_command(0x28); /*4-bit de datos, 2-lineas, 5x7 */
LCD_command(0x06); /* cursor a la derecha */
LCD_command(0x01); /*limpia pantalla,cursor al inicio */
LCD_command(0x0F); /*enciende display ,cursor parpadeando*/
}