Documente Academic
Documente Profesional
Documente Cultură
I. INTRODUCCIÓN
Una de las magnitudes físicas más medidas es la temperatura y su uso es amplio y diverso. Por
ende la medición de temperatura es importante sea cual sea el ámbito de su aplicación.
El fin de este informe es realizar un sensor de temperatura con el DST.
Los sensores de temperatura usan diferentes efectos físicos para convertir la temperatura en una
magnitud eléctrica y su funcionamiento se basa en el cambio de su resistencia eléctrica al cambiar
la temperatura.
El DST, típicamente suele estar formado por el elemento sensor, el encapsulado que lo envuelve y
que está rellena de un material muy conductor de la temperatura, para que los cambios se
transmitan rápidamente al elemento sensor y del cable al que se conectarán el equipo electrónico.
En este caso el sensor de temperatura ira conectado a uCP que interpretara la entrada de voltaje
suministrada por el sensor, y este ira conectado una pantalla LCD de 16X2, y allí se mostrara la
temperatura actual; con acción de un teclado 4x4 se podrá cambiar la magnitud en Rankin, Celsius y
Fahrenheit mostrándola en el LCD.
El programa para el uCP estará hecho en CCSCOMPILER (lenguaje C), la simulación del sensor de
temperatura en PROTEUS, y el diseño esquemático y PCB del circuito completo en AUTODESK-
EAGLE.
II. DESCRIPCION
D4-D7-> entrada para los 4 bits mas significativos del bus de datos
Todo ello es lo que hace nuestro medidor de magnitudes físicas.
imagen1
DESCRIPCION DE LA PLACA EN C
CONCLUCIONES
REFERENCIAS
Website
1- https://www.sparkfun.com/datasheets/LCD/ADM1602K-NSW-FBS-3.3v.pdf
2- https://www.sparkfun.com/datasheets/Components/LM7805.pdf
3- https://yoreparo.com/electronica/diseno/preguntas/1218527/lm7805-y-sus-capacitores
ANEXOS
2. #FUSES NOWDT,XT,noprotect,nolvp
3. #device ADC=10
4. #INCLUDE <math.h>
5. #use delay(clock=4000000)
6. #use fast_IO(B)
7. #use fast_IO(D)
18. char k;
19. char d;
20. int16 X;
26. {
27. lcd_gotoxy(1,1);
29. }
30.
31. #int_TIMER1
33. {
34. if (cont==1)
35. {
36. X = Read_ADC();
37. }
38. set_timer1(21786);
39. cont++;
40. if (cont==2){
41. cont=0;
42. }
43. if(d=='*'){
44. disp();
45. }
46. if(d==50){
47. lcd_putc('\f');
48. TC=247*5.0*X/1024.0;
49. printf(lcd_putc,"\T=%fC",TC);
50. lcd_gotoxy(1,1);
51. }
52. if(d==54){
53. lcd_putc('\f');
54. TK=247*5.0*X/1024.0+273;
55. printf(lcd_putc,"\T=%fK",TK);
56. lcd_gotoxy(1,1);
57. }
58. if(d=='C'){
59. lcd_putc('\f');
60. TF=((9.0*(247*5.0*X/1024.0))/5.0)+32.0;
61. printf(lcd_putc,"\T=%fF",TF);
62. lcd_gotoxy(1,1);
63. }
64. }
65.
68. set_timer1(21786);
69. enable_interrupts(INT_TIMER1);
70. enable_interrupts(GLOBAL);
71. setup_port_a(ALL_ANALOG);
72. setup_adc(ADC_CLOCK_INTERNAL);
73. set_adc_channel(6);
74. lcd_init();
75. port_b_pullups(TRUE);
76. while(1){
77. k=kbd_getc();
79. if(k=='*'){
80. disp();
81. d=k;
82. }
83. if(k==50){
84. lcd_putc('\f');
85. TC=247*5.0*X/1024.0;
86. printf(lcd_putc,"\T=%fC",TC);
87. lcd_gotoxy(1,1);
88. d=k;
89. }
90. if(k==54){
91. lcd_putc('\f');
92. TK=247*5.0*X/1024.0+273;
93. printf(lcd_putc,"\T=%fK",TK);
94. lcd_gotoxy(1,1);
95. d=k;
96. }
97. if(k=='C'){
98. lcd_putc('\f');
99. TF=((9.0*(247*5.0*X/1024.0))/5.0)+32;
100. printf(lcd_putc,"\T=%fF",TF);
101. lcd_gotoxy(1,1);
102. d=k;
103. }
104. }
105. }
106. }
4. //// ////
6. //// ////
7. //// c = kbd_getc(c) Will return a key value if pressed or /0 if not ////
10. ////
////
11. /////////////////////////////////////////////////////////////////////
//////
13. //// This source code may only be used by licensed users of the CCS C
////
14. //// compiler. This source code may only be distributed to other
////
17. //// Derivative programs created using this software in object code
////
19. /////////////////////////////////////////////////////////////////////
//////
20.
22.
25.
26. // Make sure the port used has pull-up resistors (or the LCD) on
28.
31. #else
33. #endif
34.
37. #else
39. #endif
40.
42. // Bx:
43.
48.
53.
59.
64.
65. #endif
66.
69.
72. {'4','5','6','B'},
73. {'7','8','9','C'},
74. {'*','0','#','D'}};
75.
79.
80.
82. }
83.
89.
92.
93. kchar='\0';
94. if(++kbd_call_count>KBD_DEBOUNCE_FACTOR) {
97. kbd=~COL0&ALL_PINS;
98. break;
100. kbd=~COL1&ALL_PINS;
101. break;
103. kbd=~COL2&ALL_PINS;
104. break;
106. kbd=~COL3&ALL_PINS;
107. break;
108. }
109.
110. if(kbd_down) {
112. kbd_down=FALSE;
113. kchar=last_key;
114. last_key='\0';
115. }
116. } else {
119. row=0;
121. row=1;
123. row=2;
125. row=3;
128. } else {
129. ++col;
130. if(col==4)
131. col=0;
132. }
133. }
134. kbd_call_count=0;
135. }
136. set_tris_kbd(ALL_PINS);
137. return(kchar);
138. }
ANEXO D – FOTOGRAFIA DE LA PLACA