SINALEIRA IIDificulades encontradas, nao consgui conectar a sinaleira numero 5, mesmo alterando o codigo, quanto as outras consegui uma sincronia.Tive que fazer 2 projetos, pois so consegui ativar duas sinaleiras por vez. Segue codigo:I - SINALEIRA I E II#include <lpc213x.h>#include "c:\Keil\ARM\3_LCD 2X 16\lcd.h"#define vermelho (1<<16)#define amarelo (1<<17)#define verde (1<<18)#define vermelho_2 (1<<19)#define amarelo_2 (1<<20)#define verde_2 (1<<21)#define verm_5 (1<<23)#define am_5(1<<24)#define verd_5(1<<25)#define pino_energia (1<<22)int i; //iniciando varial/****************************************************************************************** INICIANDO FUNCAO DE ECONOMIA DE ENERGIA COM TODOS PINOS limpando**************************************************************************************************/void modo_energia (void){ IOCLR1 = ( vermelho); IOCLR1 = ( amarelo); IOCLR1 = (verde ); //sinaleira dois IOCLR1 = ( vermelho_2); IOCLR1 = (amarelo_2 ); IOCLR1 = (verde_2 ); IOCLR1 = (1<<23); IOCLR1 = (1<<24); IOCLR1 = (1<<25); lcd_puts ("Iniciando modo"); lcd_gotoxy (1,0); lcd_puts("de economia"); lcd_gotoxy (1,0) ; lcd_puts ("ECONOMIA"); lcd_gotoxy (1,0); lcd_puts("DE ENERGIA"); while (IOPIN1 & (pino_energia)) //enquanto pino energia 1 IOSET1 = (amarelo); //ligando amarelo sinaleira um; IOSET1 = (amarelo_2); // ligando amarelo sinaleira dois for (i=0; i<1000; i++) ; // informando tempo de parada IOCLR1 = (amarelo); // desligando amarelo 1 IOCLR1 = (amarelo_2); // desligando amarelo2 for (i=0; i<1000; i++); //iniciando tempo}int main (void){ init_lcd ( ); IODIR1 = 0xFF0FFFFF; //informando os pinos while (1) //enquanto for = 1, acontece loop infinito {/********************************************************************************************* RUA UM SINAL VERMELHO, RUA DOIS SINAL VERDE ********************************************************************************************/ IOSET1 = (vermelho); IOCLR1 = (vermelho_2); IOSET1 = (verde_2); lcd_clr( ); lcd_puts ("RUA UM VERMEL"); lcd_gotoxy (1,0); lcd_puts ("RUA DOIS VERDE"); lcd_gotoxy (1,5); lcd_puts ("RUA CINCO VERMEL"); lcd_gotoxy (1,5); for (i=0; i<1000; i++); IOCLR1 = (verde_2); //colocando um teste , acionando o pino_energia if(IOPIN1 &(pino_energia)) { lcd_clr(); modo_energia(); //fazendo funcao modo de energia, os parenteses do dinal sao necessarios para chamar a funcao } /********************************************************************************************* RUA DOIS SINAL VERMELHO, RUA 2 AMARELO **********************************************************************************************/ IOSET1 = (amarelo_2); for (i=0; i<1000; i++); IOCLR1 = (amarelo_2); //rua um verde, rua 2 vermelho IOSET1 = (vermelho_2); IOCLR1 = (vermelho); IOCLR1 = (1<<23); //desligando vermelho cinco IOSET1 = (verde); IOSET1 = (1<<25); lcd_clr( ); lcd_puts ("RUA UM VERDE"); lcd_gotoxy (1,0); lcd_puts ("RUA DOIS VERMEL"); lcd_gotoxy (1,5); lcd_puts ("RUA CINCO VERDE"); lcd_gotoxy (1,5); for (i=0; i<1000; i++); IOCLR1 = (verde); IOCLR1 = (1<<25); // TESTANDO ACIONAMENTO DO PINO if(IOPIN1 &(pino_energia)) { lcd_clr(); modo_energia(); } //RUA DOIS AMARELO, RUA 2 VERMELHO IOSET1 = (amarelo); IOSET1 = (amarelo_2); for (i=0; i<1000;i++); IOCLR1 = (amarelo); IOCLR1 = (amarelo_2); }} SINALLEIRA III E IV#include <lpc213x.h>#include "c:\Keil\ARM\3_LCD 2X 16\lcd.h"#define verm_3 (1<<16)#define am_3 (1<<17)#define verd_3 (1<<18)#define verm_4 (1<<19)#define am_4 (1<<20)#define verd_4 (1<<21)#define pino_energia (1<<22)int i; //iniciando varial/****************************************************************************************** INICIANDO FUNCAO DE ECONOMIA DE ENERGIA COM TODOS PINOS limpando**************************************************************************************************/void modo_energia (void){ IOCLR1 = (verm_3); IOCLR1 = (am_3); IOCLR1 = (verd_3 ); //sinaleira dois IOCLR1 = ( verm_4); IOCLR1 = (am_4); IOCLR1 = (verd_4); lcd_puts ("Iniciando modo"); lcd_gotoxy (1,0); lcd_puts("de economia"); lcd_gotoxy (1,0) ; lcd_puts ("ECONOMIA"); lcd_gotoxy (1,0); lcd_puts("DE ENERGIA"); while (IOPIN1 & (pino_energia)) //enquanto pino energia 1 IOSET1 = (am_3); //ligando amarelo sinaleira tres; IOSET1 = (am_4); // ligando amarelo sinaleira quatro for (i=0; i<1000; i++) ; // informando tempo de parada IOCLR1 = (am_3); // desligando amarelo 3 IOCLR1 = (am_4); // desligando amarelo4 for (i=0; i<1000; i++); //iniciando tempo}int main (void){ init_lcd ( ); IODIR1