This is a test program for TEXT LCD (HD44780) , 40 char x 2 lines.
Fork of Text_LCD_control by
main.cpp@1:183b7d2bea01, 2015-03-17 (annotated)
- Committer:
- PedroS1989
- Date:
- Tue Mar 17 23:45:23 2015 +0000
- Revision:
- 1:183b7d2bea01
- Parent:
- 0:171b4ca846a6
First test for lcd 16x2 freedom kl25z
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
PedroS1989 | 1:183b7d2bea01 | 1 | //AUTOR: Pedro Santos |
PedroS1989 | 1:183b7d2bea01 | 2 | //DATA: 18/12/2014 |
PedroS1989 | 1:183b7d2bea01 | 3 | //NOTAS: http: |
PedroS1989 | 1:183b7d2bea01 | 4 | //CODIGO PARA: programa de teste para entradas e saidas da placa kl25Z |
kenjiArai | 0:171b4ca846a6 | 5 | |
kenjiArai | 0:171b4ca846a6 | 6 | #include "mbed.h" |
kenjiArai | 0:171b4ca846a6 | 7 | #include "TextLCD.h" |
kenjiArai | 0:171b4ca846a6 | 8 | |
PedroS1989 | 1:183b7d2bea01 | 9 | //#include "Timer_ps.h" |
PedroS1989 | 1:183b7d2bea01 | 10 | //******************************************************************** |
PedroS1989 | 1:183b7d2bea01 | 11 | //******************************************************************** |
PedroS1989 | 1:183b7d2bea01 | 12 | //DEFINIÇÃO DE ENTRADAS E SAIDAS USADAS NO PROGRAMA |
PedroS1989 | 1:183b7d2bea01 | 13 | //SAIDAS DIGITAIS |
PedroS1989 | 1:183b7d2bea01 | 14 | DigitalOut led1 (PTE2); |
PedroS1989 | 1:183b7d2bea01 | 15 | DigitalOut led2 (PTE3); |
PedroS1989 | 1:183b7d2bea01 | 16 | DigitalOut led3 (PTE4); |
PedroS1989 | 1:183b7d2bea01 | 17 | DigitalOut led4 (PTE5); |
kenjiArai | 0:171b4ca846a6 | 18 | |
PedroS1989 | 1:183b7d2bea01 | 19 | DigitalOut led_r (LED1); //LED on board |
PedroS1989 | 1:183b7d2bea01 | 20 | DigitalOut led_g (LED2); //LED on board |
PedroS1989 | 1:183b7d2bea01 | 21 | DigitalOut led_b (LED3); //LED on board |
kenjiArai | 0:171b4ca846a6 | 22 | |
PedroS1989 | 1:183b7d2bea01 | 23 | //******************************************************************** |
PedroS1989 | 1:183b7d2bea01 | 24 | //ENTRADAS DIGITAIS |
PedroS1989 | 1:183b7d2bea01 | 25 | DigitalIn tecla1 (PTE20); |
PedroS1989 | 1:183b7d2bea01 | 26 | DigitalIn tecla2 (PTE21); |
PedroS1989 | 1:183b7d2bea01 | 27 | DigitalIn tecla3 (PTE22); |
PedroS1989 | 1:183b7d2bea01 | 28 | DigitalIn tecla4 (PTE23); |
kenjiArai | 0:171b4ca846a6 | 29 | |
PedroS1989 | 1:183b7d2bea01 | 30 | //******************************************************************** |
PedroS1989 | 1:183b7d2bea01 | 31 | //******************************************************************** |
PedroS1989 | 1:183b7d2bea01 | 32 | //Initial condictions: |
PedroS1989 | 1:183b7d2bea01 | 33 | void initial_value_ports(){ |
PedroS1989 | 1:183b7d2bea01 | 34 | led_r=1; |
PedroS1989 | 1:183b7d2bea01 | 35 | led_g=1; |
PedroS1989 | 1:183b7d2bea01 | 36 | led_b=1; |
PedroS1989 | 1:183b7d2bea01 | 37 | led1=0; |
PedroS1989 | 1:183b7d2bea01 | 38 | led2=0; |
PedroS1989 | 1:183b7d2bea01 | 39 | led3=0; |
PedroS1989 | 1:183b7d2bea01 | 40 | led4=0; |
PedroS1989 | 1:183b7d2bea01 | 41 | } |
PedroS1989 | 1:183b7d2bea01 | 42 | //******************************************************************** |
PedroS1989 | 1:183b7d2bea01 | 43 | //******************************************************************** |
PedroS1989 | 1:183b7d2bea01 | 44 | //Definição de pinos do LCD 16x2: |
PedroS1989 | 1:183b7d2bea01 | 45 | TextLCD lcd(PTC6, PTC5, PTC4, PTC3, PTC0, PTC7); // rs,rw,e,d0,d1,d2,d3,16char's x 2 lines |
kenjiArai | 0:171b4ca846a6 | 46 | |
kenjiArai | 0:171b4ca846a6 | 47 | int main() { |
PedroS1989 | 1:183b7d2bea01 | 48 | |
PedroS1989 | 1:183b7d2bea01 | 49 | initial_value_ports(); |
PedroS1989 | 1:183b7d2bea01 | 50 | lcd.cls(); //Clear lcd |
PedroS1989 | 1:183b7d2bea01 | 51 | |
PedroS1989 | 1:183b7d2bea01 | 52 | lcd.locate(0,0); |
PedroS1989 | 1:183b7d2bea01 | 53 | lcd.printf(" Teste LCD 16x2 "); |
PedroS1989 | 1:183b7d2bea01 | 54 | lcd.locate(0,1); |
PedroS1989 | 1:183b7d2bea01 | 55 | lcd.printf("* Pedro Santos *"); |
PedroS1989 | 1:183b7d2bea01 | 56 | |
PedroS1989 | 1:183b7d2bea01 | 57 | while(1){ |
kenjiArai | 0:171b4ca846a6 | 58 | |
PedroS1989 | 1:183b7d2bea01 | 59 | led_b = 0; |
PedroS1989 | 1:183b7d2bea01 | 60 | wait(0.1); //Wait 100ms |
PedroS1989 | 1:183b7d2bea01 | 61 | led_b = 1; |
PedroS1989 | 1:183b7d2bea01 | 62 | wait(0.1); //Wait 100ms |
PedroS1989 | 1:183b7d2bea01 | 63 | |
PedroS1989 | 1:183b7d2bea01 | 64 | lcd.locate(0,0); |
PedroS1989 | 1:183b7d2bea01 | 65 | lcd.printf(" Teste LCD 16x2 "); |
PedroS1989 | 1:183b7d2bea01 | 66 | lcd.locate(0,1); |
PedroS1989 | 1:183b7d2bea01 | 67 | lcd.printf("* Pedro Santos *"); |
PedroS1989 | 1:183b7d2bea01 | 68 | |
PedroS1989 | 1:183b7d2bea01 | 69 | led_g = 0; |
PedroS1989 | 1:183b7d2bea01 | 70 | wait(0.1); //Wait 100ms |
PedroS1989 | 1:183b7d2bea01 | 71 | led_g = 1; |
PedroS1989 | 1:183b7d2bea01 | 72 | wait(0.1); //Wait 100ms |
PedroS1989 | 1:183b7d2bea01 | 73 | |
PedroS1989 | 1:183b7d2bea01 | 74 | wait(1); |
PedroS1989 | 1:183b7d2bea01 | 75 | lcd.locate(0,1); |
PedroS1989 | 1:183b7d2bea01 | 76 | lcd.printf(" Teste LCD 16x2 "); |
PedroS1989 | 1:183b7d2bea01 | 77 | lcd.locate(0,0); |
PedroS1989 | 1:183b7d2bea01 | 78 | lcd.printf("* Pedro Santos *"); |
PedroS1989 | 1:183b7d2bea01 | 79 | wait(1); |
PedroS1989 | 1:183b7d2bea01 | 80 | |
PedroS1989 | 1:183b7d2bea01 | 81 | |
PedroS1989 | 1:183b7d2bea01 | 82 | led_r = 0; |
PedroS1989 | 1:183b7d2bea01 | 83 | wait(0.1); //Wait 100ms |
PedroS1989 | 1:183b7d2bea01 | 84 | led_r = 1; |
PedroS1989 | 1:183b7d2bea01 | 85 | wait(0.1); //Wait 100ms |
kenjiArai | 0:171b4ca846a6 | 86 | } |
kenjiArai | 0:171b4ca846a6 | 87 | } |