-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEpisode_1.html
190 lines (175 loc) · 7.93 KB
/
Episode_1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="page" id="top">
<p class="title">
<span class="titlePrincipal">Episódio 1: Conhecendo o invólucro do componente, a pinagem, o diagrama de blocos e a tabela de memoria do PIC16F628A</span>
</p>
<p class="backPage"><a href="./Summary.html">Voltar ao índice</a></p>
<p class="forwardPage"><a href="./Episode_2.html">Ir para Episódio 2</a></p>
<hr class="indice"/>
<p class="principal">O microcontrolador PIC16F628A, conforme o <i>datasheet</i> disponível em <span class="citacao"><a href="Reference.html#microchip_2020a" target="_blank">Microchip (2020a)</a></span> tem as seguintes características:</p>
<ul class="list">
<li>
<i>clock</i> de operação até 20 MHz;</li>
<li>
8 níveis de pilha;</li>
<li>
apenas 35 instruções;</li>
<li>
oscilador interno de 4 MHz ou de 48 kHz (para baixo consumo);</li>
<li>
modo dormir (<i>sleep</i>) para economia de energia;</li>
<li>
programação dos estados <i>de pull-up</i> sobre os pinos em <span class="register">PORTB</span>;</li>
<li>
tensão de operação de 2 a 5,5 volts;</li>
<li>
16 pinos de entrada/saída;</li>
<li>
1 módulo comparador com 2 comparadores analógicos;</li>
<li>
3 módulos de temporizadores/contadores com 2 módulos de 8 <i>bits</i> e 1 de 16 <i>bits</i>com suas diferenças;</li>
<li>
1 módulo de capturar (16 <i>bits</i>), comparar (16 <i>bits</i>) e PWM (10 <i>bits</i>);</li>
<li>
1 módulo de comunicação USART;</li>
<li>
2048 palavras de memória de programa;</li>
<li>
224 bytes de memória SRAM (dados);</li>
<li>
128 bytes de memória EEPROM (dados);</li>
</ul>
<p class="principal">Na mesma documentação, encontram-se os modelos de encapsulamentos disponíveis para o PIC16F628A, os quais são PDIP, SOIC, SSOP e QFN. Nesta sequência de episódios, baseamos o estudo no encapsulamento PDIP (<i>Plastic Dual In-line Package</i>) de 18 pinos conforme Figura 1.1 e Figura 1.2.</p>
<table class="image">
<thead>
<tr>
<th>
<span class="figureTitle">Figura 1.1 -</span> PIC16F628A com invólucro PDIP
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img src="figures/PIC16F628_package.png" style="width: 213.61px; height: 132.88px;" title="PIC16F628 DIP package" alt="PIC16F628 DIP package"/>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="citacaoFigura">
<span>Fonte:</span> <span class="citacao"><a href="Reference.html#microchip_2020a" target="_blank">Microchip (2020a)</a></span>
</td>
</td>
</tfoot>
</table>
<table class="image">
<thead>
<tr>
<th>
<span class="figureTitle">Figura 1.2 -</span> Pinagem do PIC16F628A
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img src="figures/PIC16F628_pinout.png" style="width: 398.89px; height: 242.18px;" title="PIC16F628 pinout" alt="PIC16F628 pinout"/>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="citacaoFigura">
<span>Fonte:</span> <span class="citacao"><a href="Reference.html#microchip_2020b" target="_blank">Microchip (2020b) pag. 4</a></span>
</td>
</td>
</tfoot>
</table>
<p class="principal">O PIC16F628A é um microcontrolador com arquitetura RISC(<i>Reduced Instruction Set Computer</i>) e conforme <span class="citacao"><a href="Reference.html#wikipedia_2020" target="_blank">Wikipedia (2020)</a></span>, esse tipo de arquitetura é favorecida por um conjunto simples e pequeno de instruções no qual levam aproximadamente a mesma quantidade de tempo para serem executadas, e elas podem ser vistas na Figura 1.3.</p>
<table class="image">
<thead>
<tr>
<th>
<span class="figureTitle">Figura 1.3 -</span> Conjuntos de instruções assembly para PIC16F628A
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img src="figures/PIC16F628_instructions.png" style="width: 587.00px; height: 554.00px;" title="PIC16F628A map instructions" alt="PIC16F628 map instructions"/>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="citacaoFigura">
<span>Fonte:</span> <span class="citacao"><a href="Reference.html#microchip_2020b" target="_blank">Microchip 2020 (b) pag. 118</a></span>
</td>
</td>
</tfoot>
</table>
<p class="principal">Esse conjunto de instruções reduzidas, são separadas em instruções com <i>bytes</i> associados a registradores, com <i>bits</i> de registradores, literais (números de 8 <i>bits</i>) diretamente e instruções de controle de fluxo de rotinas entre outros.</p>
<p class="principal">Outra qualidade do PIC16F628A é o seu controle através de registradores disponíveis em quatro bancos de memória (<i>Bank</i> 0, <i>Bank</i> 1, <i>Bank</i> 2 e <i>Bank</i> 3) e exibido na Figura 1.4.</p>
<table class="image">
<thead>
<tr>
<th>
<span class="figureTitle">Figura 1.4 -</span> Mapa de memória de dados
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img src="figures/PIC16F628_memory_bank.png" style="width: 484.88px; height: 606.72px;" title="PIC16F628 memory banks" alt="PIC16F628 memory banks"/>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="citacaoFigura">
<span>Fonte: <span class="citacao"><a href="Reference.html#microchip_2020b" target="_blank">Microchip 2020 (b) pag. 118</a></span>
</td>
</td>
</tfoot>
</table>
<p class="principal">Além dos registradores para controle do microcontrolador, há disponíveis também registradores para uso geral (<i>general purpose register</i>), que utilizaremos para armazenar estados, quantidades e outros valores relativos a lógica de programação que abordaremos com exemplos nestes episódios.</p>
<p class="principal">O relacionamento entre as estruturas internas do PIC16F628A e seus módulos podem ser vistos na Figura 1.5, a qual abordaremos todos os módulos disponíveis através de exemplos práticos.</p>
<table class="image">
<thead>
<tr>
<th>
<span class="figureTitle">Figura 1.5 -</span> Diagrama de blocos
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<img src="figures/PIC16F628_blocks_diagram.png" style="width: 590.00px; height: 560.00px;" title="PIC16F628 blocks and functions diagram" alt="PIC16F628 blocks and functions diagram"/>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td class="citacaoFigura">
<span>Fonte:</span> <span class="citacao"><a href="Reference.html#microchip_2020b" target="_blank">Microchip 2020 (b) pag. 12</a></span>
</td>
</td>
</tfoot>
</table>
<p class="principal">No próximo episódio veremos como criar nosso primeiro projeto e entenderemos o relacionamento dos códigos com o microcontrolador PIC16F628A.</p>
<hr class="indice"/>
<p class="backPage"><a href="#top">Voltar ao topo da página</a></p>
<p class="forwardPage"><a href="./Episode_2.html">Ir para Episódio 2</a></p>
<p class="backPage"><a href="./Summary.html">Voltar ao índice</a></p>
</div>
</body>
</html>