Autor: Lucimar | Publicado: 2012-12-08T16:50:00-08:00

SINALEIRA UM







&nbsp;#include &lt;lpc213x.h&gt;#include "c:\Keil\ARM\3_LCD 2X 16\lcd.h"#define vermelho (1&lt;&lt;16)#define amarelo (1&lt;&lt;17)#define verde (1&lt;&lt;18)#define vermelho_2 (1&lt;&lt;19)#define amarelo_2 (1&lt;&lt;20)#define verde_2 (1&lt;&lt;21)#define pino_energia (1&lt;&lt;22)int i; //iniciando varial/******************************************************************************************&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INICIANDO FUNCAO DE ECONOMIA DE ENERGIA COM TODOS&nbsp; PINOS limpando**************************************************************************************************/void modo_energia (void){&nbsp;&nbsp; IOCLR1 = ( vermelho) ;&nbsp;&nbsp;&nbsp; &nbsp;IOCLR1 = ( amarelo);&nbsp;&nbsp;&nbsp; &nbsp;IOCLR1 = (verde );&nbsp;&nbsp;&nbsp; //sinaleira dois &nbsp;&nbsp;&nbsp; IOCLR1 = ( vermelho_2);&nbsp;&nbsp;&nbsp; IOCLR1 = (amarelo_2 );&nbsp;&nbsp;&nbsp; IOCLR1 = (verde_2 );&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_puts ("Iniciando modo");&nbsp;&nbsp;&nbsp; lcd_gotoxy (1,0);&nbsp; lcd_puts("de economia");&nbsp;&nbsp;&nbsp; lcd_gotoxy (1,0) ;&nbsp;&nbsp;&nbsp; lcd_puts ("ECONOMIA");&nbsp; &nbsp;&nbsp;&nbsp; lcd_gotoxy (1,0);&nbsp; lcd_puts("DE ENERGIA");&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (IOPIN1 &amp; (pino_energia)) //enquanto pino energia 1&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IOSET1 = (amarelo);&nbsp; //ligando amarelo sinaleira um;&nbsp;&nbsp;&nbsp; IOSET1 = (amarelo_2); // ligando amarelo sinaleira dois&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (i=0; i&lt;1000; i++) ; // informando tempo de parada&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IOCLR1 = (amarelo); // desligando amarelo 1&nbsp;&nbsp;&nbsp; IOCLR1 = (amarelo_2); // desligando amarelo2&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (i=0; i&lt;1000; i++); //iniciando tempo}int main (void){&nbsp;&nbsp;&nbsp; init_lcd ( );&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IODIR1 = 0xFFBFFFFF; //informando os pinos &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (1) //enquanto for = 1, acontece loop infinito&nbsp;&nbsp;&nbsp; {/*********************************************************************************************&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; RUA UM SINAL VERMELHO, RUA DOIS SINAL VERDE&nbsp;&nbsp;&nbsp; ********************************************************************************************/&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IOSET1 = (vermelho);&nbsp;&nbsp;&nbsp; IOCLR1 = (vermelho_2);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IOSET1 = (verde_2);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_clr( );&nbsp;&nbsp;&nbsp; lcd_puts ("RUA UM VERMEL");&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_gotoxy (1,0);&nbsp;&nbsp;&nbsp; lcd_puts ("RUA DOIS VERDE");&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_gotoxy (1,5);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (i=0; i&lt;1000; i++);&nbsp;&nbsp;&nbsp; IOCLR1 = (verde_2);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //colocando um teste , acionando o pino_energia&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(IOPIN1 &amp;(pino_energia))&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_clr();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; modo_energia(); //fazendo funcao modo de energia, os parenteses do dinal sao necessários para chamar a funcao&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /*********************************************************************************************&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RUA DOIS SINAL VERMELHO, RUA 2 AMARELO&nbsp;&nbsp;&nbsp; **********************************************************************************************/&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IOSET1 = (amarelo_2);&nbsp;&nbsp;&nbsp; for (i=0; i&lt;1000; i++);&nbsp;&nbsp;&nbsp; IOCLR1 = (amarelo_2);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //rua um verde, rua 2 vermelho&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IOSET1 = (vermelho_2);&nbsp;&nbsp;&nbsp; IOCLR1 = (vermelho);&nbsp;&nbsp;&nbsp; IOSET1 = (verde);&nbsp;&nbsp;&nbsp; lcd_clr( );&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_puts ("RUA UM VERDE");&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_gotoxy (1,0);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_puts ("RUA DOIS VERMEL");&nbsp; &nbsp;&nbsp;&nbsp; lcd_gotoxy (1,5);&nbsp;&nbsp;&nbsp; for (i=0; i&lt;1000; i++);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; IOCLR1 = (verde);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // TESTANDO ACIONAMENTO DO PINO&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(IOPIN1 &amp;(pino_energia))&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; lcd_clr();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; modo_energia();&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //RUA DOIS AMARELO, RUA 2 VERMELHO&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; IOSET1 = (amarelo);&nbsp;&nbsp;&nbsp; IOSET1 = (amarelo_2);&nbsp;&nbsp;&nbsp; for (i=0; i&lt;1000;i++);&nbsp;&nbsp;&nbsp; IOCLR1 = (amarelo);}}&nbsp;&nbsp;&nbsp;