presentación mikro c
TRANSCRIPT
![Page 1: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/1.jpg)
MikroC
![Page 2: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/2.jpg)
Cuando abrimos el compilador
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
2
![Page 3: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/3.jpg)
Ejemplo por defecto
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
3
![Page 4: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/4.jpg)
Cerramos el proyecto defecto
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
4
![Page 5: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/5.jpg)
Nuevo proyecto
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
5
![Page 6: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/6.jpg)
Opciones del Nuevo Proyecto
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
6
![Page 7: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/7.jpg)
Palabra de ConfiguraciónP16f877
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
7
![Page 8: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/8.jpg)
En caso de querer modificar la configuración después
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
8
![Page 9: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/9.jpg)
Listos para Programar
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
9
![Page 10: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/10.jpg)
Apariencia
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
10
![Page 11: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/11.jpg)
Al gusto: MikroDream, MrGreen o Zedar
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
11
![Page 12: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/12.jpg)
Ambiente
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
12
EN LA NUEVA VERSIÓN LAS HHERAMIENTAS SE SELECCIONAN DESDE MENÚ VIEW
![Page 13: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/13.jpg)
Comentarios
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
13
![Page 14: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/14.jpg)
Code explorer
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
14
![Page 15: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/15.jpg)
Ventana de error
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
15
![Page 16: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/16.jpg)
Depurador
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
16
![Page 17: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/17.jpg)
Atajos
Si al escribir queremos completar una palabra automáticamente oprimimos: y al seleccionar nuestra opción damos enter.
Por ejemplo:
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
17
Por ejemplo:
![Page 18: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/18.jpg)
Herramientas
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
18
En la nueva V, para
![Page 19: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/19.jpg)
En la nueva versión se debe empezar la depuración con F9 para hacer uso de estas herramientas
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
19
![Page 20: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/20.jpg)
Herramientas
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
20
![Page 21: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/21.jpg)
Compilación
Una vez creado el proyecto y escrito el código se puedo compilar con:
Ctrl + F9
Run › Compile
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
21
Archivos que arroja MikroC
Si quieres ver el código en ensamblador puedes usar Project › View Assembly o el ícono
![Page 22: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/22.jpg)
Algunas Librerías
ctype math stdlib string
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
22
![Page 23: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/23.jpg)
Variables
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
23
![Page 24: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/24.jpg)
Ejemplo de Variables
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
24
![Page 25: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/25.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
25
![Page 26: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/26.jpg)
Operadores
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
26
![Page 27: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/27.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
27
![Page 28: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/28.jpg)
Sentencias de Control
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
28
![Page 29: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/29.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
29
![Page 30: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/30.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
30
![Page 31: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/31.jpg)
Continue y breake
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
31
![Page 32: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/32.jpg)
Mezclando con ensamblador
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
32
![Page 33: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/33.jpg)
Manejo de Puertos
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
33
PORTB.F0 = 0;
![Page 34: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/34.jpg)
Ejemplo
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
34
![Page 35: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/35.jpg)
Ejemplo
Contador continuo que saca su valor por el puerto B
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
35
![Page 36: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/36.jpg)
Ejercicios Rápidos
� Un programa que ponga 0x00 1s luego 0xFF 1s y repita esa tarea 25 veces
� Un programa que calcule el volumen de un cilindro con radio 2.5cm y altura de 10cm
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
36
altura de 10cm
� Que cree un arreglo de 10 elementos tipo char, que solicite que el usuario lo llene a través de un dip sw conectado al puerto D, el valor entrará cada que oprima un push que se encuentra en el Puerto B.0. Al llenar el arreglo, el programa debe desplegar en binario el valor del elemento más grande por lo leds que se encuentran conectados al puerto C.
![Page 37: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/37.jpg)
� Del arreglo anterior, que multiplique por 5 cada elemento del arreglo.
� Calcula el valor de z al final de cada bucle
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
37
![Page 38: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/38.jpg)
Funciones
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
38
![Page 39: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/39.jpg)
� Escriba una fn que pida valores en centímetros de hasta 8 bits por el puerto C y calcule el Área de un círculo, y otra para el volumen de un cilindro.
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
39
![Page 40: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/40.jpg)
Funciones útiles
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
40
![Page 41: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/41.jpg)
Interrupciones
Las interrupciones se manejan como una función y debe ser declarada y escrita por el programador con el nombre interrupt(). Los registros especiales importantes (STATUS, PCLATH Y W) son salvados automáticamente por MikroC.
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
41
![Page 42: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/42.jpg)
Teclado
void Keypad_Init(unsigned *port); Keypad_Init(&PORTB);
unsigned short Keypad_Read(void); kp = Keypad_Read();
Consulta sin una tecla fue oprimida. La función regresa un valor entre 1 y 16
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
42
unsigned short Keypad_Released(void); kp = Keypad_Released();
Llama a la funcióan Keypad_Read, pero no regresa ni realiza otra tarea hasta que se oprima una tecla, La función regresa un valor entre 1 y 16
Se recomienda el uso de interrupciones con el teclado
![Page 43: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/43.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
43
![Page 44: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/44.jpg)
USART (Trabaja asíncorno)
void Usart_Init(const unsigned long baud_rate); Usart_Init(9600);
Consulta si el buffer de lectura está listo para ser leído
unsigned short Usart_Data_Ready(void);
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
44
unsigned short Usart_Read(void);int receive; ... if (Usart_Data_Ready()) receive = Usart_Read();
void Usart_Write(unsigned short data);
int chunk = 0x1E; Usart_Write(chunk); /* Envía chunk por USART */
![Page 45: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/45.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
45
![Page 46: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/46.jpg)
ADC
unsigned Adc_Read(unsigned short channel); Inicializa el ADC utilizando el RC interno, ajusta el resultado a la derecha y hace la medición del canal indicado en el parámetro.
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
46
Previo a usar esta función se deben configurar TRISA y TRISE como entrada en los canales analógicos que se quieran usar, también se deben seleccionar mediante ADCON1 los pines que serán analógicos y los que serán digítales así como Vref+ y veref-.
unsigned tmp;
...
tmp = Adc_Read(1);
![Page 47: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/47.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
47
![Page 48: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/48.jpg)
EEPROMunsigned short Eeprom_Read(unsigned int address);
unsigned short take;
...
take = Eeprom_Read(0x3F);
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
48
void Eeprom_Write(unsigned int address, unsigned short data);
Eeprom_Write(0x32, 19);
Se sugiere dejar pasar 20ms entre escrituras.
![Page 49: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/49.jpg)
FLASH
unsigned Flash_Read(unsigned address);
unsigned tmp;...tmp = Flash_Read(0x0D00); ...
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
49
...
void Flash_Write(unsigned address, unsigned int* data); unsigned short A=0xBB; ... Flash_Write(0x1234, &A);
![Page 50: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/50.jpg)
Sound
void Sound_Init(unsigned *snd_port, unsigned snd_pin);
Sound_Init(&PORTB, 2);
void Sound_Play(unsigned freq_in_hz, unsigned duration_ms);
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
50
void Sound_Play(unsigned freq_in_hz, unsigned duration_ms);
Sound_Play(1000, 100);
Freq_max = Fosc/(80*3)
Freq_min = Fosc/(80*255).
![Page 51: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/51.jpg)
LCD
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
51
![Page 52: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/52.jpg)
LCD 4 bits personalizadoLcd_Custom_Config
Inicializa el bus de datos y de control del LCD (asigna los pines)
void Lcd_Custom_Config(char * data_port, char db3, char db2, char db1,char db0, char * ctrl_port, char rs, char ctrl_rw, char enable);
Ejemplo : Lcd_Custom_Config(&PORTD,3,2,1,0,&PORTB,2,3,4);
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
52
Ejemplo : Lcd_Custom_Config(&PORTD,3,2,1,0,&PORTB,2,3,4);
Nota: MikroC configura el pin RW como salida y sacando 0,por lo que si se quiere utilizar para otra aplicación se debereconfigurar despues de usar la función de inicialización
![Page 53: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/53.jpg)
Lcd_Custom_Out
Imprime en el LCD, se le debe indicar el renglón, la columna y el texto a imprimir
void Lcd_Custom_Out(char row, char col, char *text);
Ejemplo: Lcd_Custom_Out(1, 3, “Arquitectura");
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
53
Ejemplo: Lcd_Custom_Out(1, 3, “Arquitectura");
Lcd_Custom_Out_Cp
Imprime en el LCD, en la posición actual del cursor
void Lcd_Custom_Out_Cp(char *text);
Ejemplo: Lcd_Custom_Out_Cp(“Arquitectura");
![Page 54: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/54.jpg)
Lcd_Custom_Chr
Imprime un carácter en el reglón y columna indicados
void Lcd_Custom_Chr(char row, char col, char character);
Ejemplo: Lcd_Custom_Chr(2, 3, ‘A');
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
54
Lcd_Custom_Chr_Cp
Imprime un carácter en La posición actual del cursor
void Lcd_Custom_Chr_Cp(char character);
Ejemplo: Lcd_Custom_Chr_Cp(‘A');
![Page 55: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/55.jpg)
Lcd_Custom_Cmd
Envía un comando al LCD
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
55
void Lcd_Custom_Cmd(char out_char);
Ejemplo : Lcd_Custom_Cmd(Lcd_Clear);
Limpia la pantalla
![Page 56: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/56.jpg)
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
56
![Page 57: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/57.jpg)
LCD de 4 bits automáticoLcd_Init
Inicializa en el puerto especificado al LCD
void Lcd_Init(unsigned short *port);
Ejemplo: Lcd_Init(&PORTB);
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
57
Ejemplo: Lcd_Init(&PORTB);
Nota: todas las funciones anteriores funcionanigual que las personalizadas, a diferencia de quetrabajan con el puerto indicado, se declaran igualsólo que sin la palabra custom
Lcd_Out(1, 3, “Arquitectura");
Lcd_Custom_Out(1, 3, “Arquitectura");
![Page 58: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/58.jpg)
LCD a 8 bitsLcd8_Config
Indica los puerto a utilizar y a qué pines van ase los de control y de datos
void Lcd8_Config(unsigned short *ctrlport, unsigned short *dataport, unsigned short RS, unsigned short EN, unsigned short WR, unsigned short D7, unsigned short D6, unsigned short D5, unsigned short D4, unsigned short D3, unsigned short D2,
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
58
unsigned short D4, unsigned short D3, unsigned short D2, unsigned short D1, unsigned short D0);
Ejemplo: Lcd8_Config(&PORTC,&PORTD,0,1,2,6,5,4,3,7,1,2,0);
![Page 59: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/59.jpg)
Lcd8_Init
Inicializa el LCD a 8 bits con los pines por defecto
void Lcd8_Init(unsigned short *portctrl, unsigned short *portdata);
Ejemplo: Lcd8_Init(&PORTB, &PORTC);
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
59
Ejemplo: Lcd8_Init(&PORTB, &PORTC);
![Page 60: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/60.jpg)
Lcd8_Out(1, 3, “Arquitectura");
Lcd8_Out_Cp(“Arquitectura");
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
60
Lcd8_Chr(2, 3, ‘A');
Lcd8_Chr_Cp(‘A');
Lcd8_Cmd(Lcd_Clear);
![Page 61: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/61.jpg)
Diagrama a 4 bits
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
61
![Page 62: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/62.jpg)
Diagrama a 8 bits
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
62
![Page 63: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/63.jpg)
Posible solución para ahorrar memoria RAM
Escribir los mensajes en FLASH a 16 caracteres
const char *msg1=“Arquitectura de ";
const char *msg2=“ Computadoras ";
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
63
Escribir una rutina que transfiera las cadenas de Flash a un arreglo en RAM
// --- Copia constantes de FLASH a la RAMvoid strConstCpy(char *dest, const char *source){while(*source)*dest++ = *source++ ;*dest = 0 ;}
![Page 64: presentación Mikro C](https://reader033.vdocuments.pub/reader033/viewer/2022051108/5449594bb1af9f57618b5117/html5/thumbnails/64.jpg)
Utilizar la función anterior antes de mandar textos por LCD
// --- inicilización del LCDLcd8_Config(&PORTC,&PORTB,7,6,5,7,6,5,4,3,2,1,0);
unsigned char texto[16];…
05/03/2012 Compilador MikroC. Prof. David Arturo Gutiérrez Begovich
64
strConstCpy(texto,msg1); //MENSAJE: Arquitectura deLcd8_Out(1, 1,texto);
strConstCpy(texto,msg2); //MENSAJE: ComputadorasLcd8_Out(2, 1,texto);
delay_ms(2500);Lcd8_Cmd(Lcd_Clear);