MikroC Final Reto
MikroC Final Reto
63: ADC_Init();
64: while(1){
65: //sensor de temperatura
66: if (PORTD.F0 == 1){
67: Ow_Reset(&PORTD, 3);
68: Ow_Write(&PORTD, 3, 0xCC);
69: Ow_Write(&PORTD, 3, 0X44);
70: while(Ow_Read(&PORTD, 3) == 0) ;
71:
72: Ow_Reset(&PORTD, 3);
73: Ow_Write(&PORTD, 3, 0xCC);
74: Ow_Write(&PORTD, 3, 0xBE);
75:
76: raw_temp = Ow_Read(&PORTD, 3);
77: raw_temp |= (Ow_Read(&PORTD, 3) << 8);
78: if(raw_temp & 0x8000) {
79:
80: temp[0] = '-';
81:
82: raw_temp = ~raw_temp + 1;
83: }
84:
85: else {
86: if((raw_temp >> 4) >= 100)
87: temp[0] = '1';
88: else
89: temp[0] = ' ';
90: }
91:
92: temp[1] = ( (raw_temp >> 4) / 10 ) % 10 + 48;
93: temp[2] = (raw_temp >> 4) % 10 + 48;
94:
95:
96: temp[4] = ( (raw_temp & 0x0F) * 625) / 1000 + 48;
97: temp[5] = (((raw_temp & 0x0F) * 625) / 100 ) % 10 + 48;
98: temp[6] = (((raw_temp & 0x0F) * 625) / 10 ) % 10 + 48;
99: temp[7] = ( (raw_temp & 0x0F) * 625) % 10 + 48;
100:
101: temp[8] = 223;
102: lcd_out(1, 3, t1);
103: lcd_out(2, 4, temp);
104:
105: delay_ms(500);
106: }
107:
108: else if(PORTD.F1==1) {
109: // Agitacion
110: Lcd_Cmd(_LCD_CLEAR);
111: pot2=ADC_Read(1);
112: pwm2=(pot2*255)/1023;
113: FloatToStr(valor2,val2);
114: PWM2_SET_DUTY(pwm2);
115: Lcd_Out(1,1,t2);
116: Lcd_Out(2,1,val2);
117: delay_ms(500);
118: }
119:
120:
121: else if(PORTD.F2==1) {
122:
123: Lcd_Cmd(_LCD_CLEAR);
124: