Escolar Documentos
Profissional Documentos
Cultura Documentos
Cache Memory Simulation Access Using A C
Cache Memory Simulation Access Using A C
Primeira Avaliação
Sumário
Parte I – Microcontrolador PIC 16F84A ....................................................................................................... 3
1 – Introdução .................................................................................................................................................................. 3
2 – Pinagem PIC 16F84A .............................................................................................................................................. 3
3 - Estrutura do microcontrolador PIC 16F84A ...................................................................................................... 5
4 - Instruções .................................................................................................................................................................... 8
5 - Interrupções ............................................................................................................................................................. 13
4.1 - Interrupções externas .......................................................................................................................................................... 14
4.2 - Interrupções de overflow TMR0 ..................................................................................................................................... 14
4.3 - Interrupções por mudança de estado PORTB ............................................................................................................. 15
4.4 - Interrupções de fim de escrita EEPROM ..................................................................................................................... 15
Parte 2 – Acesso à memória cache ................................................................................................................. 16
1 – Análise das configurações da cache .................................................................................................................... 16
2 – Analise dos resultados ........................................................................................................................................... 21
3 – Algoritmo ................................................................................................................................................................. 25
Bibliografia ......................................................................................................................................................... 38
2
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
1 – Introdução
O microcontrolador pode ser analisado como um minicomputador que possui as básicas funções
de um computador convencional, porém com um tamanho muito pequeno. Muitos produtos possuem
microcontroladores que gerenciam e controlaram determinadas funções deles. Para isso, nos chamamos
de sistemas embarcados qualquer produto que tenha uma eletrônica que usa microcontroladores. Um
microcontrolador é um chip computacional que possui pinos de entrada e saída de dados, pinos de
controle, memoria, CPU, etc. A Microchip possui diversos tipos de microprocessadores divididos em
diferentes famílias, e o PIC 16F84A é um tipo de microcontrolador da famílias 16 da Microchip.
O microcontrolador PIC 16F84A tem sido uns dos microcontroladores mais usados no mundo, e
ele possui uma CPU, memoria flash, memoria RAM, I/O, uma memoria permanente pra guardar o
programa, e outros dispositivos auxiliares, tais como clock, conversos A/D, etc.
3
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
4
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Figura 2 - Diagrama PIC 16F84A
5
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Para uma rápida analise, podemos simplificar esse diagrama acima em um diagrama simplificado
em que blocos foram agrupados. Essa análise pode ser analisada em comparação com a arquitetura de
Von Neumann, já que os elementos do microcontrolador estão dispostos de forma similar a essa
arquitetura. Vale salientar que a arquitetura do PIC 16F84A possui barramentos específicos que
interligam o CPU com os elementos de memória (principal e de programa). Para a análise da estrutura
do microcontrolador PIC 16F84A, utilizaremos o diagrama da figura abaixo:
6
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
7
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
4 - Instruções
Campo Descrição
Registrador de endereço; Referência a
f um registrador
Registrador temporário para as
w operaçõe na ULA (acumulador)
Refere-se ao bit específico dentro de
b um byte
8
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
9
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
10
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
11
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
12
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
5 - Interrupções
13
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
14
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
15
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
16
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Analisando o mapeamento da memória principal para esse caso, veremos que cada 4 endereços
da memória principal representa um bloco, que será armazenada em uma linha da memória cache.
Os endereços 0!" ao 3!" serão colocados na linha 0!" da memoria cache, já que ela comporta um
bloco de 4 “words”. Quando chegar no endereço 127!" , ele armazena esse endereço na ultima
posição da memória cache, a posição 31!" . A memória cache pode armazenar até 32 blocos
simultâneos, logo o próximo endereço da memoria principal será armazenado na posição 0!" da
cache. Caso já haja um outro bloco nessa linha da cache, ele será removido e colocado o novo bloco
atualizando a respectiva “tag”. Logo, a linha 0! da memória cache armazena um conjunto
predefinido de possíveis “tags” da memória principal (a “tag” da cache é igual a “tag” da memória
principal). Para esse caso, a representação do endereço da “word” será de 2 bits, já que são 4
“words” por bloco. Logo, a memória cache vai endereçar cada “word” a partir da do endereço de
dois bits reservado para o campo “word”. Vale salientar, que toda essa sequencia de tag, endereço da
“word” e mapeamento da memória principal na cache é obtida do endereço completo de um
elemento na memoria principal.
17
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Para esse caso e os demais casos, o mapeamento na da cache na memória principal será análogo
a análise descrita acima mudando o tamanho do bloco e a quantidade de linhas da cache.
Caso C: Linha com 16 words
���������� 128
����ℎ�� = = = � ������
�������ℎ� 16
Tamanho do endereço das “words” em bits:
2!"#$% = �������çõ��
2!"#$% = 16 �����
����� = � ����
Logo, para acessar uma “word” em uma linha da cache com 16 “words” por bloco, se faz
necessário um endereço de 4 bits para diferenciar a “word” nessa linha.
18
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
���������� 256
����ℎ�� = = = �� ������
�������ℎ� 4
O tamanho do endereço das “words” em bits segue o mesmo raciocínio da cache acima de 128
words com 4 words por linha. Logo, para acessar uma “word” em uma linha da cache com 4
“words” por bloco, se faz necessário um endereço de 2 bits para diferenciar a “word” nessa linha.
As configurações seguintes segue o mesmo raciocínio aplicado na cache de 128 words.
����� = � ����
Analisando o mapeamento da memória principal para esse caso, veremos que cada 4 endereços
da memória principal representa um bloco, que será armazenada em uma linha da memória cache.
Os endereços 0!" ao 3!" serão colocados na linha 0!" da memoria cache, já que ela comporta um
bloco de 4 “words”. Quando chegar no endereço 255!" , ele armazena esse endereço na ultima
posição da memória cache, a posição 63!" . A memória cache pode armazenar até 64 blocos
simultâneos, logo o próximo endereço da memoria principal será armazenado na posição 0!" da
cache. Caso já haja um outro bloco nessa linha da cache, ele será removido e colocado o novo bloco,
atualizando a respectiva “tag”. Logo, a linha 0! da memória cache armazena um conjunto
predefinido de possíveis “tags” da memória principal (a “tag” da cache é igual a “tag” da memória
principal). Para esse caso, a representação do endereço da “word” será de 2 bits, já que são 4
“words” por bloco. Logo, a memória cache vai endereçar cada “word” a partir do endereço de dois
bits reservado para o campo “word”. Vale salientar, que toda essa sequencia de tag, endereço da
“word” e mapeamento da memória principal na cache é obtida do endereço completo de um
elemento na memoria principal.
19
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
����� = � ����
Para esse caso e os demais casos, o mapeamento na da cache na memória principal será análogo a
analise descrita acima mudando o tamanho do bloco e a quantidade de linhas da cache.
Caso C: Linha com 16 words
���������� 512
����ℎ�� = = = �� ������
�������ℎ� 16
����� = � ����
20
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Figure 5 - Saída do programa
A partir dos resultados apresentados acima foi montado uma tabela com a taxa de falha de acesso
da memória cache para cada configuração estão descrito na tabela seguir.
21
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Gráfico 1 - Erro de acesso cache de 128 words
22
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Podemos perceber que o efeito de mudança de words por linha na cache tem nenhum ou
pouquíssimo efeito na taxa de falhas de acesso da memoria. Portanto, concluímos que o tamanho
do bloco da cache (quantidade de words por linha) não tem relação direta na taxa de falhas de
acessos da cache.
Quando analisamos o gráfico 2 a seguir, que estão todas as configurações de cache possíveis no
problema, podemos concluir que o único parâmetro que contribuirá diretamente para a diminuição
ou aumento nas falhas de acesso será o tamanho da memoria cache, que pode ser medida em
“words” ou bytes, sendo cada “word” um byte de memoria para essa arquitetura especifica.
Gráfico 2 - Falhas de acesso para varias configurações de cache
No gráfico 2, podemos perceber que quando aumentamos o tamanho da memória cache, as falhas
de acessos também diminuem. Isso condiz com a realidade pois quando aumentamos o tamanho da
cache, adicionaremos mais linhas a ela, e consequentemente, mais endereços da memoria principal.
Portando a relação de falhas de acesso com aumento da memória cache é inversamente proporcional.
23
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
No gráfico abaixo estão esboçados os acertos para as diferentes configuraçōes de memória cache.
Podemos concluir também que quanto maior o tamanho da cache, mais acertos de acessos ela
terá, e melhor sera o desempelho do conjuto memória principal e cache. Entretando, existe um limite de
temanho máximo de memória cache que podemos usar de forma que para valores de cache maiores que
esse tamanho máximo, a taxa de acertos sera constante.
24
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
3 – Algoritmo
#include <iostream>
#include <stdlib.h>
#include <math.h>
void decodificadorMemoria(int address, int *TAG, int *linha, int nWords_Cache, int
nWords_por_Linha){
unsigned int aux;//essa variavel vai servir como temporaria para manoseio na funcao
//manipulacao de linha
aux = address & (nWords_Cache - nWords_por_Linha);//pega a posicao do dado armazenado na
linha da cache (Observe que cada linha da cache pode ter uma ou mais word)
*linha = aux >> (int) log2(nWords_por_Linha);//pega a linha da cache para depois fazer o
deslocamento (ele ja converte para inteiro)
//manipulacao de tag
aux = address & (1024 - nWords_Cache);// **a memoria principal tem 1k**
*TAG = aux >> (int) log2(nWords_Cache);//pega a TAG fa memoria cache e depois faz o
deslocamento (ele ja converte para inteiro)
25
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
//inicializacao do vetor de validade da cache: ele vai comecar com tudo zero, pois
inicialmente a cache esta totalmente vazia
while (n<nLinhas) {
validade_cache[n] = 0;
n++;
}
for (int i=0; i<10000; i++) {//agora ele vai percorrer todas as 10000 enderecos passado
pelo usuario
address_analizado = addresses[i];//joga o "i" endereco para ser analizado
contador = i+1;//pega quantos lacos o for executou +1
decodificadorMemoria(address_analizado, &TAG, &linha, nWords_Cache,
nWords_por_Linha);
//agora a tag e linha ja estao disponiveis para analise
TAG_analizada = TAG;//para analise
linha_analizada = linha;//para analise
return taxaErro_de_Acesso;
26
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
517, 495, 1015, 768, 233, 673, 570, 741, 970, 11, 715, 976, 328, 583, 868, 701, 543, 291,
798, 680, 796, 635, 356, 453, 788, 883, 602, 709, 350, 843, 889, 867, 315, 880, 612, 548,
529, 158, 265, 476, 170, 980, 428, 498, 539, 272, 175, 59, 563, 973, 739, 336, 584, 71, 789,
348, 955, 367, 34, 281, 186, 923, 125, 501, 779, 737, 26, 284, 895, 291, 760, 41, 248, 164,
539, 787, 437, 714, 846, 1000, 664, 562, 312, 224, 633, 77, 573, 564, 444, 607, 846, 631,
506, 971, 108, 261, 684, 134, 545, 555, 426, 282, 597, 674, 446, 112, 437, 883, 827, 260,
860, 467, 822, 148, 691, 431, 226, 240, 996, 670, 847, 818, 277, 329, 765, 386, 590, 425,
520, 112, 980, 946, 394, 553, 596, 840, 666, 10, 700, 469, 270, 536, 936, 68, 684, 603, 499,
910, 844, 471, 557, 667, 265, 834, 997, 6, 196, 563, 431, 717, 675, 388, 639, 45, 941, 212,
886, 583, 222, 562, 28, 492, 74, 964, 560, 758, 544, 35, 645, 364, 507, 178, 7, 772, 1012,
1004, 779, 185, 544, 186, 902, 195, 574, 517, 241, 492, 729, 103, 51, 951, 665, 80, 419, 739,
20, 979, 473, 564, 1015, 94, 928, 498, 272, 936, 246, 261, 916, 1, 446, 436, 188, 324, 632,
762, 841, 873, 230, 547, 976, 282, 474, 617, 362, 894, 332, 382, 849, 805, 947, 840, 900,
851, 314, 148, 763, 561, 409, 656, 562, 855, 68, 750, 155, 700, 489, 997, 549, 719, 520, 501,
1001, 994, 94, 339, 864, 426, 722, 690, 208, 645, 506, 84, 472, 821, 232, 212, 358, 642, 868,
920, 473, 936, 647, 629, 613, 112, 602, 138, 831, 98, 640, 809, 68, 734, 124, 933, 137, 846,
599, 345, 467, 81, 429, 940, 902, 661, 128, 236, 279, 996, 133, 753, 908, 780, 358, 497, 892,
960, 636, 699, 34, 252, 484, 102, 986, 609, 11, 99, 431, 610, 444, 899, 692, 873, 815, 570,
511, 943, 807, 790, 915, 940, 519, 799, 696, 877, 273, 564, 813, 909, 239, 847, 137, 724,
950, 99, 309, 961, 199, 740, 548, 643, 615, 216, 493, 406, 786, 1004, 325, 569, 770, 216,
485, 266, 1016, 157, 119, 265, 721, 933, 150, 961, 756, 287, 661, 682, 386, 970, 620, 585,
686, 144, 205, 278, 360, 698, 684, 122, 678, 1010, 692, 424, 202, 153, 690, 194, 311, 810,
459, 8, 719, 609, 969, 451, 896, 606, 110, 259, 552, 730, 844, 215, 874, 25, 493, 210, 723,
153, 332, 377, 139, 0, 802, 342, 154, 468, 536, 465, 254, 996, 473, 973, 581, 419, 401, 454,
1, 511, 713, 554, 217, 533, 769, 67, 559, 238, 277, 258, 391, 609, 636, 531, 610, 414, 873,
764, 882, 385, 205, 113, 357, 678, 62, 939, 73, 463, 369, 75, 974, 58, 629, 167, 591, 374,
234, 126, 612, 511, 385, 1003, 97, 1021, 510, 707, 411, 359, 447, 269, 745, 652, 382, 78,
306, 445, 1017, 380, 908, 362, 455, 859, 420, 60, 2, 1012, 434, 237, 114, 22, 748, 499, 1,
845, 496, 512, 528, 907, 871, 975, 153, 592, 603, 535, 671, 910, 980, 664, 266, 865, 3, 721,
700, 423, 781, 702, 411, 191, 939, 526, 213, 664, 1, 214, 485, 498, 726, 1014, 381, 574, 965,
534, 142, 545, 46, 813, 431, 2, 454, 697, 867, 457, 394, 543, 880, 151, 222, 268, 342, 137,
794, 555, 801, 795, 769, 263, 269, 472, 253, 651, 22, 194, 161, 164, 739, 207, 978, 146, 210,
408, 843, 53, 865, 213, 597, 721, 364, 819, 989, 706, 956, 759, 237, 734, 531, 1007, 997,
800, 455, 226, 427, 477, 420, 589, 641, 136, 796, 595, 282, 1006, 1003, 102, 36, 844, 315,
633, 542, 680, 428, 507, 362, 360, 243, 600, 70, 774, 583, 43, 550, 14, 269, 978, 491, 690,
543, 108, 826, 315, 704, 84, 298, 683, 186, 334, 504, 502, 967, 22, 158, 371, 529, 520, 731,
772, 96, 802, 522, 679, 845, 49, 693, 91, 3, 160, 781, 546, 269, 583, 861, 973, 667, 135,
632, 854, 469, 112, 332, 412, 134, 490, 783, 664, 1010, 491, 412, 83, 269, 935, 762, 90, 984,
432, 181, 987, 592, 962, 509, 861, 521, 346, 810, 165, 482, 419, 1019, 951, 531, 327, 340,
666, 817, 99, 306, 803, 590, 718, 886, 859, 629, 625, 950, 589, 33, 107, 552, 625, 46, 37,
463, 567, 384, 249, 732, 866, 668, 727, 793, 176, 30, 109, 842, 847, 209, 124, 627, 799, 842,
489, 635, 448, 90, 561, 13, 123, 668, 566, 749, 714, 603, 188, 258, 987, 437, 990, 829, 82,
694, 599, 258, 724, 708, 76, 548, 917, 200, 151, 693, 18, 640, 304, 466, 731, 865, 480, 854,
509, 22, 579, 200, 625, 767, 458, 589, 181, 424, 394, 263, 94, 993, 521, 819, 678, 597, 343,
571, 797, 494, 240, 815, 110, 544, 258, 841, 385, 738, 672, 895, 760, 227, 71, 361, 995, 529,
950, 152, 953, 321, 415, 24, 290, 936, 843, 968, 509, 162, 516, 282, 656, 756, 73, 766, 277,
331, 584, 662, 45, 232, 533, 805, 459, 604, 143, 430, 109, 69, 582, 39, 390, 997, 63, 681,
909, 906, 625, 394, 44, 117, 676, 700, 874, 750, 442, 127, 57, 2, 789, 103, 234, 299, 908,
694, 903, 27, 100, 1013, 97, 683, 28, 487, 656, 91, 144, 542, 997, 770, 936, 17, 887, 589,
717, 737, 315, 135, 864, 372, 138, 630, 475, 372, 929, 360, 42, 808, 387, 143, 797, 484, 826,
825, 972, 458, 916, 92, 1000, 889, 862, 913, 906, 726, 478, 599, 439, 793, 735, 280, 141,
873, 910, 617, 221, 815, 977, 264, 599, 340, 407, 373, 825, 209, 174, 773, 667, 67, 865, 644,
956, 704, 533, 839, 406, 1011, 414, 845, 780, 125, 101, 921, 998, 1011, 514, 196, 802, 467,
460, 378, 808, 867, 751, 609, 52, 925, 358, 719, 992, 199, 339, 925, 903, 872, 740, 285, 859,
130, 107, 615, 256, 208, 513, 230, 196, 3, 426, 998, 471, 886, 352, 255, 729, 79, 864, 781,
1005, 198, 477, 973, 397, 816, 874, 277, 665, 590, 562, 500, 721, 669, 92, 977, 878, 605,
183, 50, 608, 610, 24, 55, 472, 377, 310, 178, 456, 150, 959, 437, 348, 412, 387, 746, 205,
237, 1023, 870, 828, 561, 346, 525, 207, 438, 478, 61, 19, 661, 111, 628, 247, 135, 683, 720,
512, 994, 898, 969, 120, 833, 382, 469, 222, 769, 191, 427, 1007, 190, 273, 811, 751, 619,
312, 958, 34, 790, 1019, 53, 427, 106, 681, 675, 242, 341, 371, 754, 311, 245, 699, 431, 54,
58, 900, 276, 827, 67, 703, 810, 257, 976, 597, 1009, 572, 909, 943, 606, 675, 939, 659, 79,
27
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
21, 317, 754, 263, 658, 101, 1018, 969, 346, 693, 376, 400, 751, 253, 677, 555, 320, 356,
341, 578, 309, 939, 563, 881, 824, 482, 463, 476, 397, 98, 555, 419, 415, 285, 682, 49, 386,
676, 1018, 732, 346, 371, 108, 73, 624, 785, 628, 944, 118, 970, 498, 427, 885, 37, 284, 685,
520, 747, 137, 917, 845, 692, 312, 237, 977, 995, 286, 339, 647, 281, 47, 993, 652, 156, 43,
252, 941, 671, 172, 35, 617, 671, 462, 478, 708, 746, 140, 204, 469, 277, 98, 291, 970, 410,
528, 923, 381, 814, 239, 5, 71, 286, 998, 723, 442, 17, 975, 360, 689, 124, 395, 282, 795,
858, 761, 479, 580, 901, 684, 26, 154, 782, 317, 100, 168, 845, 0, 550, 635, 239, 555, 707,
525, 529, 406, 968, 547, 358, 304, 212, 482, 699, 494, 253, 533, 231, 732, 90, 108, 392, 116,
263, 150, 433, 363, 319, 254, 363, 869, 889, 602, 400, 572, 104, 929, 979, 48, 452, 313, 352,
664, 795, 27, 135, 24, 561, 366, 756, 651, 475, 125, 767, 738, 275, 176, 77, 594, 430, 441,
439, 295, 19, 839, 868, 123, 745, 823, 171, 173, 112, 523, 838, 907, 551, 973, 931, 88, 315,
663, 739, 790, 788, 482, 504, 40, 658, 582, 634, 64, 1023, 50, 359, 18, 889, 203, 142, 610,
2, 313, 784, 114, 837, 598, 1021, 364, 547, 928, 452, 862, 568, 167, 629, 332, 649, 109, 372,
283, 691, 1007, 347, 690, 33, 706, 709, 922, 910, 851, 509, 912, 140, 269, 3, 977, 867, 0,
317, 390, 929, 769, 228, 473, 936, 857, 805, 561, 967, 154, 844, 634, 137, 167, 301, 170,
874, 1010, 68, 760, 837, 577, 648, 977, 846, 651, 931, 689, 652, 224, 55, 557, 994, 284, 6,
906, 117, 811, 444, 60, 965, 264, 695, 78, 432, 996, 248, 282, 982, 317, 18, 795, 894, 666,
748, 717, 294, 655, 382, 946, 880, 438, 479, 850, 722, 485, 732, 839, 272, 152, 900, 214,
417, 571, 292, 849, 543, 541, 107, 501, 858, 125, 272, 728, 791, 1020, 421, 61, 652, 804,
1007, 508, 218, 462, 334, 940, 947, 42, 755, 196, 195, 631, 410, 612, 178, 702, 437, 721,
219, 544, 198, 53, 669, 470, 782, 436, 467, 179, 498, 95, 983, 481, 603, 177, 944, 937, 93,
867, 979, 849, 39, 150, 456, 449, 762, 635, 128, 175, 332, 347, 719, 531, 401, 364, 1001,
159, 801, 444, 338, 275, 539, 298, 756, 118, 475, 676, 31, 569, 520, 1011, 394, 559, 137,
850, 1009, 900, 461, 113, 51, 794, 460, 771, 301, 861, 111, 278, 1020, 912, 723, 335, 163,
238, 633, 920, 357, 84, 572, 388, 653, 68, 375, 23, 628, 513, 874, 613, 389, 311, 726, 440,
81, 162, 187, 382, 0, 299, 661, 1020, 187, 360, 331, 351, 598, 964, 247, 955, 25, 819, 320,
678, 888, 695, 702, 492, 184, 552, 81, 573, 863, 807, 1014, 945, 969, 177, 303, 969, 476,
964, 966, 664, 300, 273, 1015, 899, 214, 238, 830, 239, 33, 126, 917, 921, 822, 595, 389,
1006, 123, 470, 556, 987, 253, 546, 908, 199, 723, 187, 144, 176, 128, 86, 840, 428, 360,
831, 303, 574, 45, 110, 813, 78, 236, 706, 1000, 34, 278, 365, 17, 401, 836, 573, 364, 65,
95, 248, 264, 818, 436, 409, 994, 564, 495, 810, 992, 855, 617, 272, 405, 662, 382, 194, 741,
618, 901, 717, 653, 155, 58, 670, 556, 894, 219, 921, 960, 314, 145, 200, 108, 581, 609, 79,
121, 81, 889, 90, 936, 483, 362, 318, 121, 744, 512, 862, 338, 389, 555, 991, 544, 614, 637,
77, 484, 856, 998, 420, 146, 119, 621, 255, 701, 206, 334, 822, 287, 199, 912, 200, 682, 250,
518, 804, 994, 6, 642, 309, 396, 174, 276, 940, 788, 914, 1017, 248, 746, 991, 669, 893, 87,
266, 124, 788, 472, 458, 586, 760, 657, 475, 960, 316, 725, 454, 96, 696, 460, 738, 1005,
856, 912, 257, 773, 676, 147, 766, 925, 894, 734, 570, 763, 821, 836, 887, 585, 284, 321,
147, 20, 978, 622, 980, 270, 324, 410, 366, 1020, 871, 81, 1001, 703, 993, 234, 452, 646,
382, 195, 547, 252, 929, 93, 1015, 726, 929, 878, 287, 189, 175, 434, 210, 129, 33, 166, 400,
357, 577, 766, 353, 424, 847, 330, 103, 817, 564, 556, 439, 946, 751, 986, 174, 656, 55, 165,
358, 984, 19, 645, 149, 194, 55, 359, 324, 88, 526, 724, 445, 79, 466, 798, 503, 290, 104,
606, 83, 669, 138, 522, 591, 889, 484, 766, 521, 539, 931, 879, 499, 951, 500, 648, 121, 556,
1008, 445, 644, 510, 145, 66, 589, 612, 864, 68, 902, 969, 674, 985, 614, 813, 483, 181, 678,
967, 947, 176, 482, 855, 31, 981, 782, 532, 605, 903, 64, 589, 325, 708, 75, 470, 774, 664,
58, 615, 732, 960, 560, 383, 921, 150, 172, 380, 331, 850, 323, 255, 2, 805, 86, 34, 762,
868, 566, 344, 747, 630, 933, 48, 314, 1009, 519, 65, 649, 577, 680, 358, 514, 216, 741, 411,
366, 913, 792, 697, 739, 91, 952, 742, 897, 14, 776, 635, 882, 318, 979, 606, 948, 889, 654,
238, 874, 149, 303, 499, 727, 983, 857, 217, 175, 574, 628, 541, 463, 396, 215, 179, 488,
143, 921, 361, 158, 673, 996, 16, 991, 952, 622, 915, 817, 253, 129, 667, 402, 433, 142, 105,
392, 1000, 322, 568, 550, 951, 85, 1014, 323, 300, 169, 811, 444, 66, 148, 602, 739, 121,
618, 706, 49, 217, 597, 866, 470, 726, 509, 872, 135, 651, 978, 528, 627, 276, 72, 154, 203,
157, 144, 527, 458, 313, 314, 902, 379, 463, 480, 94, 584, 74, 800, 633, 291, 373, 475, 761,
75, 984, 610, 211, 611, 564, 739, 215, 840, 811, 369, 20, 968, 513, 547, 402, 826, 861, 280,
181, 300, 760, 275, 884, 835, 51, 493, 102, 424, 968, 864, 499, 928, 450, 710, 516, 1014,
425, 731, 830, 212, 76, 850, 157, 589, 373, 559, 391, 211, 840, 572, 511, 576, 847, 372, 387,
898, 865, 490, 298, 810, 330, 797, 714, 780, 484, 206, 770, 909, 937, 576, 98, 1013, 403,
255, 578, 776, 814, 969, 987, 630, 517, 475, 183, 340, 847, 570, 214, 688, 36, 512, 474, 366,
286, 165, 122, 770, 371, 892, 655, 285, 445, 753, 274, 848, 1008, 853, 600, 799, 798, 564,
405, 292, 15, 588, 632, 862, 135, 847, 526, 171, 335, 1001, 538, 621, 142, 660, 367, 513,
529, 1023, 798, 974, 752, 49, 798, 737, 902, 374, 512, 676, 938, 917, 968, 953, 482, 577,
791, 617, 400, 294, 788, 735, 271, 302, 333, 413, 963, 700, 926, 468, 699, 701, 418, 428,
28
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
750, 192, 141, 628, 566, 653, 280, 481, 546, 225, 410, 4, 802, 178, 621, 178, 472, 386, 913,
743, 688, 222, 132, 627, 923, 34, 71, 598, 735, 489, 2, 461, 681, 143, 65, 224, 796, 346,
705, 319, 571, 91, 323, 349, 269, 945, 527, 741, 307, 416, 460, 995, 639, 592, 599, 538, 627,
670, 112, 338, 136, 115, 800, 817, 258, 865, 17, 31, 187, 722, 350, 758, 814, 673, 83, 59,
594, 610, 801, 901, 3, 237, 873, 642, 830, 448, 156, 433, 94, 268, 771, 230, 383, 547, 24,
642, 389, 41, 673, 576, 764, 1023, 311, 554, 672, 394, 613, 243, 1005, 390, 120, 1008, 628,
993, 626, 434, 417, 782, 867, 512, 26, 614, 742, 410, 138, 766, 28, 527, 808, 701, 79, 548,
700, 390, 78, 348, 785, 691, 591, 766, 58, 712, 750, 686, 681, 352, 96, 75, 110, 963, 587,
136, 553, 305, 546, 691, 48, 574, 194, 856, 251, 274, 380, 951, 664, 458, 276, 425, 125, 867,
167, 183, 555, 917, 869, 213, 245, 965, 288, 355, 904, 875, 492, 434, 156, 14, 101, 204, 589,
296, 36, 840, 570, 416, 768, 210, 874, 20, 636, 1000, 887, 803, 159, 419, 697, 5, 632, 942,
970, 920, 274, 851, 771, 766, 261, 927, 780, 362, 108, 345, 658, 144, 162, 204, 561, 930,
415, 411, 950, 27, 387, 813, 830, 547, 208, 503, 552, 840, 422, 498, 736, 696, 325, 483, 438,
586, 387, 194, 949, 495, 540, 583, 639, 702, 788, 176, 608, 179, 588, 534, 206, 975, 323, 12,
498, 532, 516, 26, 348, 938, 525, 61, 610, 850, 544, 24, 413, 931, 218, 338, 402, 758, 921,
18, 436, 685, 194, 20, 864, 782, 554, 46, 734, 878, 59, 208, 386, 575, 235, 734, 489, 760,
795, 75, 586, 316, 99, 999, 223, 317, 313, 626, 52, 211, 644, 488, 896, 838, 509, 737, 597,
39, 783, 307, 917, 842, 515, 279, 393, 750, 1014, 882, 486, 785, 957, 49, 77, 32, 24, 301,
350, 338, 927, 402, 549, 547, 890, 421, 361, 375, 134, 958, 415, 918, 241, 308, 736, 757,
588, 106, 483, 578, 988, 970, 339, 922, 1019, 417, 954, 19, 718, 280, 357, 621, 682, 906,
144, 549, 304, 505, 924, 438, 440, 315, 332, 681, 624, 45, 414, 188, 151, 898, 766, 115, 844,
81, 13, 839, 498, 968, 858, 192, 224, 192, 813, 907, 74, 957, 432, 378, 439, 332, 817, 879,
648, 125, 536, 248, 170, 951, 436, 321, 825, 178, 437, 645, 259, 450, 460, 758, 394, 294,
950, 619, 486, 740, 502, 561, 673, 934, 939, 88, 242, 732, 967, 890, 858, 480, 114, 4, 407,
550, 326, 208, 728, 763, 853, 988, 189, 289, 722, 584, 583, 648, 179, 46, 364, 681, 607, 14,
591, 522, 102, 833, 231, 46, 700, 65, 526, 814, 69, 933, 341, 395, 117, 45, 134, 970, 9, 324,
235, 731, 908, 818, 356, 63, 864, 720, 744, 447, 734, 311, 970, 837, 120, 177, 883, 820, 242,
385, 611, 311, 294, 952, 707, 411, 997, 841, 357, 1007, 141, 592, 714, 25, 386, 46, 88, 227,
767, 832, 674, 477, 119, 620, 290, 240, 797, 149, 36, 15, 534, 647, 327, 828, 575, 10, 215,
549, 851, 572, 532, 993, 140, 222, 1018, 527, 269, 83, 754, 12, 915, 404, 489, 11, 1, 780,
251, 798, 929, 287, 814, 440, 935, 117, 244, 486, 127, 460, 11, 978, 8, 543, 947, 149, 766,
942, 676, 11, 1, 406, 23, 916, 810, 512, 927, 811, 268, 154, 586, 174, 442, 376, 614, 353,
493, 858, 839, 620, 294, 851, 574, 303, 370, 498, 452, 112, 416, 104, 123, 417, 510, 146,
309, 296, 659, 213, 84, 927, 367, 670, 77, 809, 22, 691, 138, 515, 526, 978, 111, 820, 805,
685, 99, 151, 159, 551, 264, 575, 655, 387, 992, 141, 534, 278, 438, 169, 491, 522, 72, 858,
168, 150, 644, 190, 841, 782, 705, 343, 736, 816, 140, 517, 477, 239, 669, 637, 791, 933,
188, 422, 296, 157, 564, 830, 435, 1002, 999, 926, 500, 48, 760, 668, 198, 380, 858, 15, 139,
539, 359, 875, 331, 499, 369, 808, 738, 14, 421, 505, 947, 610, 928, 219, 767, 468, 26, 178,
446, 1, 80, 946, 49, 840, 590, 247, 197, 424, 263, 336, 963, 622, 187, 270, 97, 556, 54, 835,
570, 476, 317, 493, 62, 221, 713, 829, 689, 739, 1007, 111, 740, 63, 33, 790, 903, 623, 13,
76, 23, 276, 412, 986, 898, 600, 232, 995, 132, 286, 807, 703, 762, 100, 172, 824, 321, 885,
629, 1010, 600, 612, 97, 317, 675, 130, 83, 555, 753, 96, 631, 776, 373, 20, 738, 247, 620,
970, 219, 752, 232, 2, 431, 995, 102, 604, 795, 423, 465, 401, 409, 42, 1013, 506, 359, 665,
636, 442, 196, 365, 538, 827, 117, 911, 847, 855, 135, 443, 801, 354, 172, 9, 356, 603, 1004,
458, 183, 776, 881, 649, 153, 266, 691, 142, 772, 26, 807, 384, 468, 1003, 749, 1006, 807,
866, 894, 630, 697, 5, 50, 474, 359, 222, 483, 715, 825, 464, 149, 1009, 216, 6, 634, 369,
272, 301, 511, 20, 327, 295, 404, 795, 274, 129, 777, 57, 995, 647, 688, 668, 652, 738, 118,
1011, 960, 601, 702, 761, 41, 851, 746, 257, 857, 356, 626, 105, 657, 114, 125, 984, 409,
529, 755, 683, 658, 509, 741, 629, 132, 405, 273, 785, 119, 391, 772, 55, 993, 451, 816, 10,
278, 539, 268, 112, 895, 894, 217, 529, 1008, 343, 489, 393, 872, 221, 53, 507, 730, 794,
112, 862, 175, 386, 623, 294, 777, 372, 349, 746, 823, 141, 757, 77, 680, 1, 189, 552, 895,
407, 57, 880, 750, 546, 249, 598, 767, 302, 81, 473, 72, 194, 312, 247, 580, 935, 541, 333,
283, 890, 56, 82, 8, 813, 160, 688, 814, 349, 216, 685, 756, 273, 541, 482, 820, 791, 57,
563, 69, 138, 13, 142, 332, 325, 389, 912, 236, 931, 222, 520, 797, 278, 602, 805, 67, 762,
470, 881, 88, 686, 542, 844, 960, 60, 303, 756, 851, 360, 295, 920, 498, 308, 38, 831, 633,
428, 719, 870, 335, 941, 366, 108, 195, 968, 914, 262, 707, 360, 119, 795, 22, 662, 615, 982,
722, 918, 714, 549, 254, 1010, 445, 753, 294, 484, 560, 928, 912, 255, 774, 223, 173, 116,
331, 368, 60, 221, 631, 767, 581, 750, 538, 604, 388, 130, 562, 86, 24, 253, 635, 279, 239,
57, 8, 533, 541, 568, 437, 429, 823, 187, 652, 996, 303, 983, 341, 364, 181, 972, 107, 762,
698, 646, 342, 63, 776, 905, 149, 800, 134, 785, 55, 373, 842, 63, 906, 359, 631, 320, 788,
431, 507, 416, 403, 811, 375, 744, 151, 556, 692, 258, 295, 367, 904, 637, 430, 656, 518,
29
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
579, 433, 652, 340, 488, 1, 158, 552, 908, 517, 159, 204, 281, 590, 711, 697, 994, 498, 49,
714, 649, 605, 383, 908, 900, 750, 788, 514, 156, 421, 8, 735, 854, 661, 52, 318, 662, 210,
870, 546, 728, 6, 750, 1009, 596, 438, 683, 566, 936, 732, 257, 562, 313, 640, 446, 190, 366,
210, 704, 522, 631, 712, 233, 461, 349, 285, 780, 1012, 496, 626, 534, 200, 632, 261, 185,
205, 699, 868, 771, 611, 576, 4, 149, 890, 644, 595, 56, 1010, 806, 760, 508, 413, 448, 742,
875, 798, 3, 631, 786, 499, 233, 296, 699, 866, 557, 885, 47, 232, 729, 818, 844, 282, 823,
993, 148, 443, 565, 204, 430, 347, 964, 938, 760, 388, 656, 611, 162, 660, 218, 948, 135,
452, 221, 835, 294, 778, 696, 341, 1011, 401, 135, 831, 683, 958, 800, 831, 378, 341, 11,
808, 688, 975, 722, 425, 340, 355, 12, 502, 1015, 231, 427, 126, 683, 648, 961, 977, 402,
633, 294, 389, 11, 429, 196, 694, 364, 997, 502, 742, 314, 513, 526, 1003, 465, 224, 404,
805, 579, 416, 283, 570, 647, 710, 697, 306, 334, 634, 259, 737, 244, 553, 102, 255, 983,
299, 949, 323, 272, 427, 41, 586, 941, 567, 565, 382, 791, 969, 163, 347, 362, 446, 917,
1009, 133, 590, 292, 467, 201, 551, 180, 445, 81, 283, 700, 40, 582, 625, 363, 854, 29, 404,
416, 970, 971, 982, 328, 738, 927, 491, 61, 265, 937, 979, 251, 46, 545, 543, 514, 746, 70,
694, 167, 151, 977, 867, 191, 535, 469, 554, 365, 498, 958, 782, 444, 905, 740, 772, 620,
643, 239, 681, 909, 152, 636, 136, 199, 158, 679, 713, 904, 749, 383, 48, 901, 337, 915, 68,
872, 360, 623, 214, 858, 557, 996, 278, 439, 712, 26, 35, 331, 265, 716, 216, 418, 329, 352,
617, 487, 7, 306, 367, 757, 689, 415, 634, 2, 307, 702, 875, 667, 301, 65, 502, 859, 37, 780,
274, 749, 807, 309, 56, 48, 1, 273, 466, 330, 625, 59, 817, 633, 365, 161, 366, 31, 576,
1000, 33, 883, 678, 908, 527, 980, 973, 5, 815, 1010, 785, 65, 735, 568, 374, 792, 617, 375,
41, 59, 706, 666, 119, 499, 275, 484, 660, 641, 515, 213, 617, 549, 72, 272, 433, 599, 228,
383, 604, 19, 369, 366, 84, 81, 934, 458, 873, 527, 833, 914, 587, 515, 556, 706, 1015, 832,
166, 651, 449, 682, 864, 43, 207, 937, 315, 640, 512, 543, 1023, 93, 562, 369, 459, 646, 450,
369, 80, 299, 897, 913, 189, 460, 405, 745, 142, 396, 553, 308, 23, 1003, 990, 888, 22, 173,
801, 337, 814, 289, 880, 813, 382, 418, 158, 841, 40, 608, 187, 120, 907, 60, 9, 72, 520,
414, 818, 662, 810, 347, 970, 834, 326, 937, 698, 348, 86, 475, 685, 900, 764, 541, 690, 123,
959, 848, 964, 999, 433, 127, 95, 316, 187, 105, 389, 707, 519, 183, 345, 306, 530, 292, 116,
857, 205, 814, 181, 291, 265, 867, 168, 5, 384, 858, 128, 320, 682, 69, 295, 91, 196, 391,
408, 384, 496, 797, 67, 1015, 980, 413, 297, 486, 705, 413, 319, 910, 203, 501, 177, 468,
344, 345, 474, 728, 179, 602, 24, 862, 671, 320, 953, 868, 711, 337, 228, 183, 110, 295, 174,
66, 708, 472, 553, 389, 885, 872, 275, 65, 349, 453, 533, 693, 798, 1007, 398, 978, 586, 422,
816, 233, 742, 745, 77, 429, 59, 305, 612, 169, 601, 787, 236, 285, 235, 789, 675, 96, 637,
950, 161, 987, 379, 695, 656, 154, 678, 30, 108, 240, 453, 924, 474, 171, 645, 551, 601, 704,
857, 189, 874, 434, 976, 86, 719, 187, 875, 370, 284, 488, 297, 445, 451, 676, 116, 84, 830,
795, 114, 938, 11, 567, 838, 485, 739, 460, 13, 316, 140, 870, 505, 1014, 280, 458, 76, 999,
645, 951, 346, 929, 416, 643, 351, 867, 295, 467, 951, 102, 238, 42, 16, 250, 609, 855, 735,
324, 291, 748, 640, 431, 594, 122, 422, 874, 580, 498, 850, 201, 426, 172, 107, 842, 815,
458, 685, 86, 925, 613, 188, 140, 655, 205, 390, 240, 36, 101, 565, 327, 850, 181, 758, 420,
303, 156, 271, 883, 655, 97, 61, 57, 269, 168, 899, 60, 626, 560, 146, 527, 149, 335, 667,
804, 540, 33, 21, 576, 135, 586, 903, 985, 767, 637, 381, 47, 794, 652, 930, 425, 749, 991,
482, 1018, 135, 357, 54, 761, 917, 201, 265, 43, 536, 932, 847, 52, 966, 868, 628, 77, 430,
507, 38, 174, 120, 419, 221, 914, 48, 127, 315, 797, 95, 797, 792, 230, 130, 846, 992, 24,
23, 233, 67, 559, 141, 914, 611, 83, 759, 215, 160, 165, 722, 198, 339, 843, 618, 560, 733,
666, 688, 25, 439, 783, 822, 207, 1013, 953, 30, 981, 977, 53, 190, 20, 613, 332, 934, 200,
415, 669, 416, 576, 835, 114, 774, 150, 957, 368, 711, 667, 10, 375, 692, 450, 134, 490, 657,
123, 419, 687, 81, 372, 741, 271, 392, 330, 603, 303, 530, 1019, 972, 946, 571, 783, 37, 321,
934, 994, 690, 621, 637, 700, 996, 305, 126, 106, 796, 784, 229, 191, 447, 310, 564, 164,
582, 956, 494, 161, 235, 1, 156, 184, 947, 727, 967, 984, 25, 877, 955, 715, 474, 568, 391,
446, 874, 518, 552, 646, 278, 782, 837, 725, 68, 377, 890, 650, 310, 360, 812, 545, 361, 968,
729, 285, 672, 673, 245, 697, 526, 176, 388, 1001, 745, 779, 423, 595, 273, 976, 217, 551,
734, 30, 253, 802, 408, 119, 429, 718, 479, 217, 239, 841, 161, 969, 102, 833, 618, 347, 506,
120, 524, 894, 97, 245, 650, 521, 840, 923, 473, 33, 451, 183, 63, 704, 985, 471, 823, 390,
165, 278, 607, 405, 95, 769, 350, 197, 578, 968, 545, 61, 64, 45, 955, 162, 290, 581, 683,
106, 481, 132, 139, 932, 315, 202, 612, 276, 674, 411, 667, 839, 689, 250, 220, 785, 1019,
570, 982, 574, 514, 503, 635, 579, 548, 566, 741, 838, 124, 400, 944, 605, 532, 59, 513, 847,
262, 101, 99, 936, 512, 766, 751, 177, 1017, 972, 962, 1012, 518, 921, 562, 9, 400, 173, 588,
949, 740, 305, 763, 864, 705, 684, 445, 213, 743, 958, 36, 1005, 35, 135, 917, 547, 902, 645,
724, 895, 593, 663, 883, 87, 560, 422, 96, 960, 595, 684, 885, 311, 989, 625, 151, 670, 285,
596, 883, 4, 530, 919, 1010, 565, 31, 903, 88, 933, 524, 813, 804, 93, 452, 663, 181, 1012,
61, 277, 948, 657, 962, 810, 968, 927, 411, 96, 574, 696, 692, 433, 700, 199, 329, 686, 764,
360, 566, 853, 269, 66, 642, 49, 160, 70, 712, 341, 58, 774, 618, 1006, 407, 556, 792, 351,
30
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
460, 179, 447, 10, 875, 116, 443, 552, 315, 772, 214, 55, 108, 780, 908, 377, 847, 526, 426,
1007, 596, 115, 324, 654, 889, 942, 637, 272, 475, 405, 623, 935, 585, 47, 945, 436, 163,
364, 988, 478, 113, 179, 533, 221, 959, 418, 599, 782, 944, 1, 765, 517, 116, 65, 147, 1005,
1008, 784, 253, 459, 166, 877, 370, 751, 924, 291, 163, 63, 655, 128, 541, 768, 307, 50, 990,
242, 468, 565, 1, 389, 566, 766, 906, 683, 832, 29, 664, 816, 814, 918, 251, 980, 771, 621,
707, 671, 912, 870, 734, 543, 998, 251, 288, 281, 301, 254, 524, 770, 819, 525, 135, 361,
267, 17, 20, 75, 46, 685, 891, 860, 579, 118, 816, 326, 739, 499, 997, 627, 346, 707, 147,
320, 958, 435, 602, 235, 689, 102, 1005, 484, 627, 116, 845, 894, 133, 866, 970, 180, 527,
837, 16, 82, 956, 833, 408, 671, 308, 381, 275, 654, 64, 422, 975, 1022, 857, 553, 233, 522,
655, 215, 1006, 258, 331, 827, 128, 465, 669, 74, 645, 172, 912, 661, 254, 844, 470, 662,
491, 779, 19, 766, 409, 83, 164, 360, 81, 1021, 913, 315, 519, 544, 530, 501, 802, 861, 305,
931, 302, 974, 1005, 947, 123, 893, 585, 377, 713, 31, 16, 181, 810, 35, 947, 196, 119, 88,
556, 200, 85, 446, 515, 605, 990, 21, 82, 769, 883, 387, 676, 161, 338, 657, 85, 461, 527,
670, 838, 216, 701, 854, 397, 488, 890, 321, 684, 1009, 409, 216, 185, 494, 662, 701, 75,
629, 722, 158, 374, 581, 545, 26, 743, 883, 683, 828, 320, 186, 474, 135, 403, 151, 989, 800,
639, 855, 97, 299, 840, 506, 516, 2, 1001, 154, 703, 52, 783, 401, 210, 133, 983, 756, 159,
702, 615, 843, 506, 936, 5, 980, 47, 408, 107, 12, 185, 747, 868, 282, 22, 684, 789, 538,
686, 766, 693, 365, 818, 452, 767, 5, 586, 726, 761, 745, 404, 352, 564, 910, 264, 570, 866,
311, 978, 973, 324, 139, 696, 168, 422, 719, 852, 187, 233, 515, 953, 926, 880, 747, 355,
623, 752, 941, 325, 489, 662, 729, 842, 203, 615, 82, 773, 457, 394, 727, 407, 718, 867, 79,
886, 265, 798, 714, 452, 8, 205, 381, 934, 62, 104, 265, 685, 857, 182, 1011, 322, 845, 716,
140, 24, 308, 223, 797, 765, 617, 500, 148, 311, 343, 228, 173, 608, 2, 887, 36, 10, 69, 417,
945, 131, 522, 186, 816, 355, 369, 803, 677, 190, 496, 818, 214, 804, 17, 1011, 545, 634,
487, 694, 945, 831, 922, 94, 415, 924, 981, 452, 935, 26, 869, 856, 157, 367, 18, 974, 722,
387, 753, 376, 577, 225, 170, 791, 5, 187, 778, 551, 821, 242, 221, 742, 49, 119, 836, 464,
19, 793, 916, 954, 820, 762, 786, 977, 105, 805, 927, 828, 168, 657, 180, 746, 882, 350, 513,
888, 537, 268, 415, 334, 510, 636, 52, 559, 755, 888, 1023, 774, 657, 916, 705, 453, 654,
467, 407, 759, 248, 310, 563, 417, 967, 743, 139, 826, 69, 652, 690, 606, 920, 81, 940, 406,
717, 992, 965, 448, 856, 965, 198, 490, 857, 903, 943, 487, 347, 326, 222, 595, 637, 786,
1012, 580, 505, 127, 382, 575, 780, 48, 157, 676, 129, 74, 59, 846, 42, 0, 270, 899, 965,
469, 365, 798, 348, 284, 261, 695, 611, 484, 267, 224, 246, 255, 804, 751, 383, 163, 302,
139, 211, 460, 815, 341, 534, 874, 163, 576, 875, 434, 451, 816, 903, 816, 591, 227, 77, 852,
923, 688, 312, 166, 912, 558, 421, 692, 286, 804, 855, 588, 943, 43, 24, 735, 384, 558, 585,
547, 111, 436, 981, 562, 229, 860, 355, 820, 64, 432, 648, 987, 96, 961, 129, 1008, 495, 550,
676, 781, 331, 508, 346, 250, 551, 370, 985, 935, 929, 547, 458, 16, 983, 416, 578, 188, 252,
933, 1008, 316, 341, 633, 279, 437, 570, 408, 421, 41, 959, 74, 823, 266, 582, 145, 516, 109,
515, 478, 20, 420, 1, 478, 436, 984, 894, 1015, 149, 123, 924, 133, 439, 242, 766, 719, 679,
312, 103, 77, 354, 38, 151, 153, 304, 733, 298, 821, 842, 813, 275, 862, 210, 276, 316, 646,
236, 187, 637, 385, 310, 538, 519, 749, 780, 261, 444, 435, 574, 548, 512, 928, 586, 663, 57,
891, 372, 355, 688, 190, 144, 963, 28, 354, 215, 345, 1001, 451, 532, 614, 837, 842, 128,
332, 567, 908, 593, 1012, 320, 143, 536, 832, 47, 98, 472, 104, 989, 844, 459, 653, 11, 604,
592, 39, 958, 807, 384, 935, 235, 916, 526, 48, 734, 654, 380, 278, 539, 973, 266, 859, 93,
802, 667, 140, 900, 115, 245, 866, 960, 704, 495, 971, 284, 64, 1010, 219, 871, 371, 130, 82,
263, 656, 130, 998, 287, 510, 252, 826, 460, 518, 661, 553, 296, 304, 693, 172, 420, 938, 14,
356, 619, 510, 303, 903, 574, 289, 98, 421, 660, 229, 504, 924, 885, 634, 898, 148, 121, 126,
974, 581, 644, 611, 110, 940, 916, 803, 88, 312, 718, 103, 668, 313, 613, 971, 192, 163, 236,
291, 584, 897, 520, 64, 797, 381, 699, 671, 530, 820, 797, 480, 377, 417, 68, 487, 333, 984,
266, 421, 272, 984, 524, 940, 273, 113, 887, 466, 276, 99, 757, 861, 996, 253, 925, 769, 634,
600, 416, 140, 396, 189, 621, 773, 606, 689, 236, 939, 649, 503, 337, 921, 463, 861, 837,
737, 975, 700, 179, 227, 799, 936, 64, 772, 165, 990, 517, 799, 566, 934, 940, 963, 99, 537,
712, 706, 202, 949, 621, 851, 428, 958, 748, 891, 796, 561, 604, 747, 237, 783, 974, 12, 695,
15, 784, 860, 1005, 278, 636, 547, 188, 552, 486, 287, 65, 175, 993, 267, 100, 591, 94, 528,
525, 842, 395, 297, 379, 1000, 20, 616, 759, 995, 628, 431, 1010, 389, 267, 991, 667, 903,
514, 855, 431, 1001, 118, 496, 152, 88, 763, 252, 679, 857, 780, 180, 675, 151, 478, 30, 127,
498, 646, 887, 469, 251, 294, 455, 640, 561, 422, 283, 441, 937, 114, 872, 914, 232, 345, 42,
320, 84, 294, 999, 942, 50, 156, 593, 201, 634, 624, 329, 108, 246, 192, 578, 497, 486, 9,
113, 23, 432, 396, 464, 345, 510, 313, 235, 743, 658, 277, 39, 742, 571, 15, 660, 621, 171,
230, 822, 805, 854, 127, 913, 76, 319, 467, 574, 805, 477, 687, 829, 909, 60, 269, 230, 570,
582, 465, 289, 216, 742, 329, 959, 289, 344, 595, 910, 515, 825, 708, 296, 655, 836, 185,
732, 131, 653, 282, 937, 106, 969, 742, 1015, 5, 1011, 221, 576, 570, 686, 865, 786, 404,
170, 721, 693, 514, 293, 579, 5, 94, 263, 301, 750, 75, 487, 458, 207, 116, 740, 120, 222,
31
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
685, 862, 213, 691, 849, 434, 243, 395, 96, 84, 158, 500, 255, 879, 169, 769, 148, 748, 775,
243, 1011, 52, 993, 63, 539, 427, 270, 655, 143, 390, 877, 828, 228, 66, 495, 53, 500, 738,
449, 596, 823, 607, 72, 54, 462, 241, 823, 611, 989, 574, 854, 977, 627, 823, 16, 142, 226,
286, 798, 369, 676, 651, 173, 904, 718, 669, 957, 194, 383, 382, 791, 182, 989, 863, 236,
428, 81, 36, 15, 46, 610, 869, 1023, 213, 668, 15, 356, 894, 301, 130, 239, 977, 781, 412,
857, 475, 57, 791, 670, 441, 149, 437, 623, 115, 276, 860, 543, 357, 896, 558, 404, 482, 403,
403, 696, 47, 419, 28, 941, 720, 158, 156, 674, 939, 568, 507, 391, 626, 274, 37, 43, 424,
474, 666, 539, 750, 502, 58, 84, 374, 616, 488, 857, 1019, 891, 529, 42, 286, 557, 983, 1007,
715, 115, 657, 630, 683, 140, 1021, 285, 415, 34, 328, 839, 508, 995, 354, 235, 473, 412,
319, 848, 4, 807, 681, 1023, 674, 186, 41, 961, 743, 0, 944, 434, 115, 577, 40, 798, 717, 38,
60, 108, 72, 388, 947, 581, 359, 277, 816, 833, 689, 111, 657, 693, 918, 314, 692, 568, 500,
733, 505, 219, 733, 425, 653, 848, 1002, 693, 623, 696, 731, 683, 804, 804, 47, 728, 361,
407, 1005, 153, 216, 671, 264, 873, 340, 158, 163, 9, 726, 663, 742, 208, 882, 452, 633, 511,
276, 612, 180, 899, 284, 912, 558, 64, 692, 606, 792, 29, 1013, 774, 182, 205, 421, 446, 54,
761, 604, 217, 770, 306, 880, 489, 514, 738, 941, 124, 225, 193, 736, 405, 69, 1020, 293,
627, 60, 985, 209, 853, 1014, 198, 603, 172, 403, 0, 618, 457, 761, 198, 674, 508, 505, 530,
997, 1019, 244, 914, 119, 469, 83, 855, 875, 152, 851, 144, 780, 912, 106, 989, 741, 96, 164,
320, 269, 567, 320, 887, 1, 57, 62, 675, 565, 567, 182, 538, 562, 426, 428, 682, 896, 512,
513, 747, 664, 341, 891, 420, 229, 997, 386, 970, 70, 550, 266, 339, 93, 586, 202, 94, 643,
264, 770, 185, 831, 952, 723, 370, 354, 128, 28, 226, 640, 541, 973, 280, 882, 841, 701, 87,
814, 63, 33, 884, 613, 299, 199, 706, 885, 402, 801, 505, 666, 547, 690, 474, 475, 389, 844,
829, 517, 872, 32, 133, 389, 1005, 414, 248, 822, 91, 335, 613, 154, 369, 473, 767, 668, 673,
449, 530, 51, 226, 11, 717, 773, 701, 167, 224, 66, 1011, 30, 584, 859, 62, 717, 225, 43,
107, 473, 866, 198, 808, 455, 352, 153, 928, 95, 822, 577, 545, 328, 628, 771, 339, 322, 521,
16, 489, 745, 82, 477, 775, 666, 312, 837, 360, 537, 881, 467, 1010, 723, 666, 795, 154,
1018, 948, 58, 90, 746, 636, 635, 50, 240, 382, 389, 562, 903, 405, 28, 625, 488, 505, 376,
130, 817, 190, 490, 331, 47, 958, 317, 770, 600, 88, 924, 594, 13, 982, 684, 759, 594, 295,
810, 835, 678, 175, 373, 557, 581, 401, 158, 45, 906, 535, 175, 700, 725, 666, 7, 772, 600,
324, 518, 176, 413, 418, 770, 426, 376, 431, 161, 971, 726, 971, 782, 380, 123, 131, 938,
704, 533, 72, 749, 415, 607, 924, 91, 308, 566, 98, 56, 142, 423, 574, 318, 836, 992, 65,
238, 345, 496, 399, 292, 198, 347, 50, 579, 470, 181, 493, 150, 714, 565, 899, 106, 149, 799,
197, 457, 342, 296, 514, 484, 719, 64, 803, 531, 33, 868, 769, 378, 340, 144, 670, 538, 491,
720, 93, 961, 901, 586, 87, 592, 128, 986, 698, 277, 762, 895, 734, 80, 167, 224, 564, 886,
289, 343, 393, 322, 187, 138, 700, 527, 283, 346, 42, 774, 42, 135, 712, 943, 722, 799, 511,
850, 762, 185, 103, 500, 57, 837, 580, 224, 38, 120, 87, 327, 464, 480, 649, 651, 619, 325,
155, 902, 671, 197, 652, 713, 332, 340, 632, 30, 116, 120, 880, 878, 305, 983, 354, 362, 797,
934, 587, 835, 30, 674, 138, 494, 130, 787, 122, 749, 88, 277, 627, 759, 474, 256, 448, 806,
596, 56, 837, 712, 176, 693, 566, 482, 653, 920, 844, 426, 830, 407, 237, 861, 57, 375, 331,
188, 138, 453, 937, 226, 730, 541, 985, 180, 797, 409, 987, 369, 465, 800, 58, 642, 469, 624,
100, 98, 521, 944, 524, 327, 328, 761, 164, 385, 112, 496, 573, 250, 949, 487, 476, 656, 4,
437, 836, 801, 846, 799, 146, 288, 575, 204, 930, 21, 829, 6, 119, 326, 950, 644, 653, 254,
381, 818, 640, 494, 290, 189, 744, 215, 676, 197, 871, 680, 634, 684, 457, 457, 459, 604,
745, 11, 808, 651, 32, 613, 657, 151, 939, 583, 795, 569, 838, 153, 363, 454, 647, 653, 643,
367, 868, 296, 564, 716, 976, 175, 376, 410, 632, 835, 1014, 353, 846, 798, 1004, 878, 388,
637, 6, 303, 196, 801, 872, 10, 954, 211, 464, 577, 864, 84, 945, 709, 380, 485, 401, 332,
660, 777, 742, 268, 588, 732, 621, 411, 507, 601, 265, 895, 214, 271, 174, 411, 49, 23, 421,
1003, 234, 886, 557, 75, 970, 478, 784, 326, 963, 161, 658, 600, 938, 377, 868, 502, 85, 466,
913, 592, 43, 155, 463, 258, 426, 638, 669, 475, 661, 66, 455, 895, 952, 1012, 970, 898, 466,
730, 200, 405, 891, 859, 1005, 805, 212, 850, 284, 297, 292, 173, 890, 335, 328, 329, 593,
755, 967, 238, 206, 604, 305, 661, 476, 233, 649, 422, 108, 91, 129, 308, 497, 1020, 143,
478, 802, 355, 304, 62, 653, 596, 235, 519, 932, 564, 848, 501, 295, 792, 740, 501, 372, 21,
139, 848, 254, 788, 247, 362, 880, 376, 671, 353, 372, 814, 831, 150, 146, 112, 212, 799,
708, 448, 294, 616, 1012, 118, 94, 283, 910, 834, 784, 259, 855, 923, 83, 85, 688, 330, 448,
544, 706, 95, 897, 55, 909, 704, 205, 31, 816, 418, 830, 501, 866, 100, 93, 854, 219, 187,
113, 105, 1021, 897, 364, 852, 797, 448, 938, 461, 778, 362, 1005, 461, 457, 878, 516, 342,
558, 721, 374, 351, 115, 180, 852, 981, 281, 945, 811, 500, 109, 924, 605, 106, 798, 970,
959, 571, 394, 873, 8, 148, 211, 1013, 609, 668, 867, 101, 1010, 401, 823, 360, 752, 938,
541, 580, 896, 822, 502, 683, 298, 611, 584, 903, 717, 358, 849, 652, 929, 219, 501, 937,
368, 712, 926, 977, 356, 769, 55, 343, 146, 878, 703, 899, 792, 220, 455, 664, 18, 957, 324,
316, 544, 908, 196, 238, 242, 21, 890, 147, 241, 368, 60, 609, 56, 986, 562, 413, 731, 617,
756, 877, 471, 435, 752, 240, 656, 184, 904, 674, 117, 204, 991, 662, 88, 163, 900, 330, 184,
32
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
766, 477, 425, 110, 537, 10, 167, 499, 573, 580, 206, 166, 312, 60, 638, 747, 812, 878, 379,
996, 758, 30, 90, 963, 1021, 752, 27, 160, 628, 358, 344, 370, 835, 770, 481, 349, 780, 648,
848, 329, 204, 31, 496, 516, 91, 110, 239, 903, 988, 619, 876, 722, 649, 966, 661, 646, 694,
689, 806, 298, 23, 126, 668, 858, 896, 125, 183, 653, 773, 8, 982, 977, 39, 454, 469, 130,
564, 709, 9, 528, 304, 885, 227, 953, 827, 888, 575, 497, 553, 357, 795, 576, 483, 440, 411,
356, 565, 594, 1009, 315, 602, 967, 268, 641, 398, 738, 771, 962, 423, 781, 467, 727, 642,
694, 656, 446, 558, 207, 943, 88, 564, 715, 664, 23, 131, 51, 379, 696, 646, 364, 1011, 224,
308, 256, 866, 706, 994, 613, 644, 393, 370, 87, 96, 1013, 781, 752, 435, 316, 959, 354, 404,
499, 45, 44, 522, 176, 96, 902, 873, 742, 242, 860, 966, 550, 92, 808, 232, 62, 398, 877,
455, 768, 964, 551, 757, 722, 279, 168, 14, 214, 523, 418, 713, 568, 462, 212, 745, 558, 90,
594, 276, 332, 430, 219, 883, 523, 3, 91, 585, 401, 968, 17, 146, 909, 568, 903, 607, 848,
48, 621, 38, 571, 15, 752, 115, 477, 964, 860, 12, 30, 430, 288, 362, 861, 507, 221, 360,
511, 313, 945, 912, 257, 962, 34, 142, 507, 938, 749, 331, 986, 346, 369, 533, 361, 97, 648,
839, 37, 485, 851, 67, 915, 115, 430, 752, 623, 651, 88, 110, 964, 10, 1022, 198, 972, 33,
340, 455, 971, 66, 786, 933, 412, 132, 442, 774, 229, 66, 589, 267, 551, 416, 334, 443, 531,
764, 171, 130, 392, 260, 240, 332, 270, 239, 530, 218, 272, 871, 674, 219, 937, 436, 128,
325, 568, 570, 75, 798, 636, 664, 41, 164, 56, 375, 607, 588, 116, 778, 718, 508, 14, 959,
840, 284, 174, 347, 503, 446, 194, 153, 665, 107, 589, 793, 432, 134, 339, 508, 932, 975,
148, 973, 115, 205, 324, 722, 793, 440, 477, 487, 948, 491, 422, 765, 776, 596, 88, 255, 18,
282, 408, 683, 389, 997, 452, 821, 107, 791, 305, 15, 743, 454, 988, 858, 659, 289, 557, 428,
729, 10, 915, 654, 501, 314, 395, 253, 910, 483, 508, 929, 765, 916, 588, 130, 890, 17, 951,
997, 808, 233, 1013, 527, 687, 977, 362, 322, 242, 919, 750, 972, 929, 641, 602, 406, 955,
997, 660, 842, 456, 144, 747, 197, 37, 311, 327, 927, 328, 254, 900, 113, 487, 889, 640, 150,
843, 1002, 472, 61, 897, 198, 9, 802, 840, 611, 185, 771, 584, 845, 589, 16, 989, 312, 213,
2, 624, 540, 929, 952, 795, 806, 41, 258, 671, 682, 409, 490, 660, 881, 552, 534, 56, 561,
312, 896, 149, 497, 643, 733, 318, 209, 750, 284, 521, 963, 286, 121, 480, 192, 50, 251, 998,
91, 509, 645, 773, 918, 112, 410, 776, 664, 944, 832, 201, 232, 704, 350, 730, 323, 60, 24,
532, 810, 308, 30, 749, 595, 151, 205, 787, 201, 456, 761, 293, 966, 382, 42, 860, 494, 452,
612, 134, 372, 420, 336, 605, 100, 686, 311, 424, 746, 335, 956, 532, 644, 986, 258, 215,
114, 463, 1002, 315, 920, 739, 608, 862, 97, 651, 698, 592, 79, 287, 726, 452, 707, 38, 33,
808, 725, 344, 208, 447, 679, 140, 980, 299, 103, 214, 514, 217, 677, 492, 532, 573, 207,
117, 411, 305, 768, 86, 897, 847, 373, 599, 275, 56, 638, 308, 864, 339, 652, 48, 786, 308,
189, 742, 607, 292, 956, 98, 509, 610, 590, 17, 159, 798, 134, 571, 79, 902, 657, 976, 726,
6, 551, 1001, 62, 165, 286, 927, 504, 938, 975, 267, 222, 140, 1009, 830, 432, 942, 928, 941,
528, 494, 959, 687, 268, 69, 234, 347, 972, 891, 299, 674, 897, 851, 651, 960, 1016, 937,
863, 497, 852, 814, 764, 50, 955, 749, 880, 363, 667, 784, 281, 171, 255, 216, 859, 523, 285,
69, 871, 233, 961, 146, 907, 834, 997, 535, 770, 990, 448, 609, 463, 276, 400, 203, 327, 331,
952, 183, 694, 596, 968, 975, 767, 199, 167, 602, 722, 453, 672, 569, 686, 609, 716, 570,
419, 689, 81, 166, 655, 529, 775, 94, 806, 151, 297, 109, 482, 226, 292, 153, 822, 236, 104,
565, 435, 272, 144, 134, 725, 816, 703, 387, 401, 395, 957, 820, 61, 14, 986, 716, 544, 738,
811, 326, 889, 84, 435, 348, 310, 727, 501, 108, 964, 605, 674, 375, 877, 818, 509, 578, 610,
189, 966, 1011, 584, 899, 807, 645, 914, 770, 338, 434, 484, 125, 760, 349, 209, 171, 697,
520, 898, 174, 628, 838, 780, 278, 190, 633, 72, 699, 188, 682, 888, 130, 669, 449, 5, 453,
70, 919, 199, 408, 329, 683, 533, 65, 8, 743, 236, 706, 239, 111, 880, 867, 949, 636, 122,
115, 246, 194, 815, 434, 877, 679, 564, 522, 104, 569, 975, 175, 465, 150, 583, 794, 833, 93,
860, 842, 836, 72, 524, 51, 183, 380, 918, 109, 1017, 16, 224, 239, 211, 15, 673, 64, 695,
213, 586, 799, 782, 538, 974, 223, 688, 534, 1018, 498, 627, 854, 316, 439, 926, 840, 490,
86, 196, 384, 195, 189, 401, 419, 428, 612, 435, 77, 676, 106, 290, 238, 905, 49, 776, 856,
272, 441, 366, 266, 939, 993, 96, 231, 408, 1023, 47, 898, 85, 243, 258, 280, 433, 659, 699,
861, 247, 110, 939, 923, 216, 205, 138, 98, 254, 914, 954, 527, 331, 296, 793, 246, 265, 890,
477, 673, 889, 524, 547, 974, 768, 805, 230, 177, 441, 929, 14, 688, 16, 953, 588, 232, 135,
726, 330, 389, 616, 260, 916, 948, 556, 686, 170, 821, 552, 648, 470, 417, 148, 1017, 367,
916, 799, 597, 69, 216, 502, 84, 904, 518, 13, 468, 751, 148, 170, 57, 538, 787, 318, 430,
711, 874, 92, 881, 672, 644, 505, 118, 37, 654, 112, 404, 546, 911, 1001, 616, 103, 480, 700,
1007, 998, 713, 452, 725, 862, 622, 783, 376, 385, 77, 806, 72, 951, 899, 954, 599, 519, 435,
718, 557, 65, 830, 961, 612, 717, 939, 204, 820, 395, 904, 803, 369, 593, 231, 71, 431, 854,
854, 807, 215, 931, 590, 288, 858, 465, 218, 434, 984, 653, 128, 517, 719, 958, 455, 307,
651, 370, 511, 447, 765, 391, 226, 110, 984, 458, 181, 392, 288, 11, 175, 503, 942, 765, 791,
777, 206, 1009, 187, 167, 639, 315, 684, 334, 249, 115, 641, 900, 485, 128, 323, 226, 519,
549, 337, 479, 1007, 518, 871, 271, 530, 23, 775, 448, 788, 542, 201, 995, 528, 388, 138,
143, 703, 822, 477, 952, 938, 94, 828, 399, 222, 127, 626, 741, 677, 963, 196, 660, 457, 44,
33
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
932, 987, 67, 683, 412, 855, 201, 613, 826, 729, 1002, 964, 872, 681, 763, 325, 610, 677,
419, 414, 52, 641, 542, 678, 358, 195, 617, 555, 855, 51, 599, 763, 14, 666, 422, 426, 497,
624, 16, 300, 329, 1018, 240, 178, 675, 1003, 503, 261, 656, 923, 676, 709, 540, 194, 363,
899, 389, 981, 430, 220, 8, 5, 984, 22, 671, 382, 449, 144, 1006, 465, 444, 312, 459, 685,
490, 110, 664, 993, 372, 297, 892, 24, 1006, 409, 218, 345, 284, 607, 302, 714, 827, 310,
719, 787, 333, 366, 146, 782, 510, 128, 223, 955, 440, 682, 616, 930, 792, 256, 900, 140,
553, 768, 164, 535, 153, 382, 881, 437, 989, 159, 127, 793, 470, 846, 556, 803, 188, 702,
561, 699, 831, 784, 630, 247, 442, 222, 154, 210, 478, 30, 351, 8, 798, 515, 543, 952, 898,
400, 365, 863, 560, 493, 632, 6, 315, 165, 809, 504, 867, 346, 179, 674, 106, 809, 922, 548,
7, 52, 758, 485, 82, 85, 493, 880, 601, 13, 808, 475, 413, 150, 314, 973, 643, 947, 979, 958,
88, 764, 438, 955, 86, 617, 606, 192, 402, 504, 740, 409, 556, 475, 895, 638, 560, 364, 494,
137, 377, 279, 612, 791, 429, 927, 740, 48, 850, 696, 1006, 938, 436, 421, 869, 523, 14, 451,
715, 417, 955, 432, 826, 487, 907, 697, 101, 443, 38, 596, 581, 415, 875, 169, 182, 280, 72,
923, 328, 922, 595, 310, 836, 7, 731, 682, 530, 746, 109, 222, 139, 41, 654, 965, 528, 537,
639, 630, 980, 677, 202, 537, 68, 53, 707, 251, 333, 779, 150, 661, 678, 745, 971, 490, 752,
679, 148, 259, 401, 258, 481, 540, 299, 111, 481, 827, 648, 96, 433, 604, 773, 635, 118, 842,
688, 825, 69, 1021, 580, 219, 658, 234, 964, 606, 725, 692, 261, 873, 951, 662, 107, 408,
178, 406, 519, 659, 210, 143, 756, 643, 748, 505, 255, 866, 323, 943, 667, 392, 941, 223,
611, 575, 458, 551, 157, 159, 220, 418, 8, 147, 56, 116, 556, 234, 522, 51, 894, 732, 195,
626, 352, 943, 107, 607, 785, 431, 526, 428, 823, 443, 651, 411, 1019, 85, 962, 152, 244,
158, 571, 253, 306, 627, 369, 862, 862, 891, 913, 732, 600, 84, 334, 952, 3, 441, 535, 788,
872, 37, 192, 672, 481, 844, 59, 476, 929, 1021, 628, 150, 156, 175, 403, 462, 803, 772, 300,
641, 639, 189, 349, 215, 274, 683, 143, 277, 100, 678, 42, 973, 716, 234, 621, 173, 54, 680,
649, 984, 677, 253, 110, 833, 429, 513, 271, 208, 261, 571, 849, 900, 761, 174, 92, 11, 857,
235, 288, 957, 914, 330, 906, 606, 565, 503, 779, 619, 159, 404, 579, 837, 657, 689, 646, 62,
178, 918, 270, 439, 465, 95, 316, 202, 269, 408, 213, 102, 643, 502, 36, 533, 832, 942, 115,
373, 422, 894, 993, 581, 274, 548, 394, 932, 214, 17, 994, 392, 935, 241, 832, 376, 336, 124,
579, 606, 532, 792, 708, 151, 270, 744, 685, 79, 663, 800, 452, 61, 671, 421, 642, 945, 970,
13, 853, 160, 30, 824, 552, 965, 41, 360, 317, 377, 484, 896, 983, 1016, 665, 668, 144, 935,
388, 829, 1014, 27, 605, 443, 88, 252, 864, 731, 174, 810, 744, 3, 970, 774, 827, 499, 715,
868, 859, 8, 222, 320, 905, 181, 312, 546, 849, 456, 457, 214, 261, 448, 241, 867, 891, 330,
95, 731, 37, 269, 518, 781, 273, 464, 531, 76, 963, 222, 945, 799, 230, 143, 95, 111, 324,
407, 657, 150, 864, 91, 364, 101, 539, 605, 968, 406, 935, 40, 113, 972, 309, 631, 729, 582,
72, 236, 659, 11, 458, 580, 810, 689, 723, 905, 800, 23, 289, 434, 173, 129, 525, 537, 230,
40, 119, 175, 446, 30, 215, 559, 1003, 524, 167, 708, 83, 239, 945, 742, 250, 379, 298, 37,
44, 1021, 942, 845, 20, 207, 255, 194, 336, 780, 731, 567, 820, 850, 742, 242, 881, 957, 801,
860, 457, 968, 544, 540, 183, 465, 258, 434, 845, 556, 471, 889, 553, 389, 710, 574, 597,
965, 768, 933, 721, 475, 476, 517, 302, 194, 759, 159, 127, 537, 1019, 585, 481, 539, 101,
665, 1005, 360, 75, 826, 916, 546, 691, 446, 935, 378, 1020, 508, 319, 764, 418, 17, 215,
894, 534, 517, 65, 270, 676, 192, 807, 671, 777, 264, 187, 879, 929, 168, 215, 1004, 994,
107, 526, 661, 553, 438, 15, 549, 946, 335, 289, 340, 352, 505, 211, 886, 1022, 276, 132,
675, 468, 939, 322, 222, 180, 509, 77, 85, 677, 292, 66, 647, 399, 592, 285, 953, 6, 300,
478, 953, 635, 768, 269, 987, 249, 480, 850, 247, 756, 982, 922, 201, 898, 221, 423, 54, 730,
500, 139, 384, 792, 205, 7, 167, 798, 292, 96, 804, 593, 575, 733, 204, 319, 1003, 168, 568,
459, 1018, 815, 192, 976, 714, 393, 850, 935, 816, 904, 641, 292, 20, 1, 60, 225, 9, 227,
1023, 301, 324, 804, 894, 899, 513, 75, 194, 492, 243, 762, 952, 237, 553, 120, 189, 243,
513, 16, 154, 305, 920, 796, 597, 940, 797, 657, 142, 806, 884, 141, 84, 184, 945, 978, 59,
435, 29, 253, 927, 272, 1015, 855, 509, 545, 975, 699, 788, 464, 715, 943, 769, 611, 715,
342, 528, 488, 999, 670, 271, 860, 811, 355, 20, 733, 309, 80, 144, 339, 333, 47, 611, 325,
903, 97, 870, 854, 796, 634, 295, 487, 553, 40, 74, 244, 383, 602, 733, 358, 248, 1004, 194,
36, 335, 215, 769, 644, 295, 913, 983, 628, 960, 571, 953, 839, 668, 799, 670, 440, 410, 965,
927, 963, 1005, 1001, 184, 364, 580, 917, 723, 828, 897, 917, 864, 208, 108, 609, 852, 403,
498, 812, 8, 435, 359, 961, 250, 3, 737, 920, 443, 123, 861, 346, 62, 843, 323, 246, 183,
903, 139, 906, 708, 12, 800, 548, 220, 908, 134, 49, 288, 632, 861, 296, 43, 196, 233, 294,
199, 970, 190, 642, 69, 28, 988, 132, 871, 287, 378, 30, 167, 518, 937, 875, 530, 713, 399,
751, 597, 533, 800, 885, 142, 637, 157, 185, 833, 391, 479, 8, 337, 670, 650, 407, 698, 614,
539, 545, 901, 917, 575, 44, 411, 488, 919, 942, 177, 295, 669, 775, 828, 445, 636, 970, 58,
794, 132, 891, 161, 611, 899, 498, 257, 525, 905, 955, 115, 420, 476, 1016, 314, 28, 37, 725,
516, 956, 643, 694, 227, 288, 445, 32, 733, 57, 1002, 791, 851, 110, 658, 1012, 722, 533,
487, 979, 34, 368, 911, 149, 789, 363, 142, 79, 391, 179, 804, 908, 111, 424, 578, 339, 712,
1023, 371, 422, 56, 349, 189, 908, 460, 848, 896, 158, 357, 359, 113, 392, 728, 0, 541, 493,
34
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
364, 683, 572, 755, 862, 352, 639, 974, 776, 193, 289, 465, 192, 660, 887, 249, 1009, 52,
133, 445, 900, 5, 603, 234, 365, 717, 626, 69, 717, 143, 562, 57, 827, 110, 813, 665, 462,
428, 615, 215, 622, 904, 680, 814, 540, 543, 39, 526, 595, 172, 971, 472, 178, 551, 706, 543,
244, 308, 612, 961, 451, 150, 1019, 254, 260, 808, 920, 722, 212, 511, 937, 834, 392, 593,
625, 932, 112, 664, 434, 708, 837, 382, 156, 1015, 933, 862, 534, 153, 146, 122, 90, 597,
272, 85, 852, 532, 893, 748, 230, 82, 235, 144, 916, 627, 737, 517, 536, 850, 158, 970, 534,
995, 328, 690, 986, 237, 528, 496, 390, 674, 618, 481, 247, 890, 566, 75, 398, 436, 823, 628,
518, 35, 772, 410, 662, 486, 928, 174, 312, 62, 121, 846, 33, 449, 512, 1019, 687, 16, 491,
53, 690, 85, 534, 937, 975, 77, 1013, 349, 513, 812, 977, 7, 847, 726, 417, 486, 188, 321,
660, 500, 383, 781, 322, 416, 207, 834, 411, 894, 850, 902, 947, 516, 987, 458, 429, 938,
535, 418, 263, 24, 207, 217, 31, 30, 943, 448, 516, 107, 770, 153, 607, 129, 934, 929, 546,
117, 739, 957, 1011, 565, 836, 935, 57, 799, 369, 486, 714, 904, 905, 977, 928, 88, 170, 959,
118, 89, 383, 635, 196, 129, 788, 803, 259, 698, 708, 805, 816, 423, 738, 803, 988, 550, 714,
21, 326, 59, 508, 16, 963, 389, 993, 867, 477, 140, 802, 595, 229, 162, 206, 426, 291, 994,
205, 550, 669, 914, 331, 461, 313, 46, 240, 278, 596, 955, 299, 922, 1014, 807, 938, 954,
172, 908, 797, 649, 24, 576, 221, 253, 738, 427, 679, 5, 398, 885, 556, 43, 775, 887, 504,
64, 933, 744, 342, 506, 675, 642, 404, 666, 425, 319, 596, 598, 203, 369, 223, 227, 945, 444,
480, 659, 872, 136, 665, 246, 1021, 197, 289, 772, 60, 793, 836, 994, 513, 155, 476, 165,
797, 880, 831, 198, 175, 403, 796, 378, 772, 1020, 605, 694, 440, 62, 329, 288, 198, 994,
534, 195, 167, 823, 967, 228, 592, 779, 198, 82, 934, 674, 247, 707, 530, 54, 906, 706, 457,
678, 60, 205, 674, 666, 899, 91, 728, 205, 379, 926, 175, 914, 97, 343, 713, 40, 571, 282,
819, 769, 364, 730, 419, 611, 413, 949, 665, 295, 631, 98, 974, 692, 303, 624, 334, 179, 715,
38, 384, 71, 964, 559, 985, 37, 902, 674, 77, 449, 956, 896, 194, 296, 602, 613, 907, 1016,
539, 548, 287, 146, 646, 237, 838, 950, 862, 148, 105, 553, 186, 489, 624, 126, 24, 585, 163,
927, 236, 240, 352, 168, 113, 547, 465, 715, 136, 348, 707, 675, 897, 995, 822, 519, 208,
636, 445, 46, 785, 550, 600, 971, 15, 200, 74, 40, 786, 237, 967, 1022, 478, 295, 166, 591,
842, 631, 282, 979, 980, 990, 630, 853, 961, 428, 348, 145, 41, 794, 192, 826, 320, 792, 773,
336, 992, 847, 376, 754, 61, 319, 752, 539, 614, 919, 106, 433, 526, 388, 388, 482, 354,
1018, 311, 291, 423, 660, 437, 464, 430, 629, 266, 750, 397, 15, 62, 365, 863, 438, 96, 924,
757, 848, 439, 348, 743, 545, 781, 246, 933, 145, 728, 264, 139, 16, 555, 562, 676, 992, 2,
82, 597, 268, 832, 994, 284, 895, 336, 123, 309, 432, 23, 43, 256, 462, 391, 1000, 1007, 148,
222, 916, 293, 950, 156, 432, 966, 712, 995, 618, 680, 997, 700, 254, 242, 509, 224, 526,
380, 560, 649, 689, 992, 672, 732, 225, 110, 99, 201, 93, 247, 423, 1009, 540, 349, 142, 973,
292, 854, 944, 910, 510, 917, 587, 764, 135, 72, 989, 661, 452, 525, 286, 117, 494, 958, 850,
719, 44, 949, 920, 137, 173, 319, 123, 713, 668, 265, 662, 960, 95, 582, 847, 605, 476, 410,
346, 611, 482, 311, 249, 934, 836, 535, 27, 306, 470, 877, 1, 514, 803, 921, 652, 976, 216,
775, 665, 885, 16, 304, 821, 111, 886, 644, 716, 338, 30, 38, 950, 512, 349, 175, 422, 162,
710, 450, 468, 156, 303, 470, 671, 82, 367, 299, 34, 584, 50, 700, 445, 66, 1004, 242, 177,
866, 887, 893, 181, 917, 932, 107, 406};
//---Caso 1:
tamanho_cache = 128;
words_por_linha = 4;
taxa_de_erro = buscaMemoria(tamanho_cache, endereco, words_por_linha);
35
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
//---Caso 3:
tamanho_cache = 128;
words_por_linha = 16;
taxa_de_erro = buscaMemoria(tamanho_cache, endereco, words_por_linha);
//--------------------------------------------------------
//---Caso 9:
tamanho_cache = 512;
words_por_linha = 4;
taxa_de_erro = buscaMemoria(tamanho_cache, endereco, words_por_linha);
36
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
words_por_linha = 8;
taxa_de_erro = buscaMemoria(tamanho_cache, endereco, words_por_linha);
return 0;
}
37
Microcontrolador PIC 16F84A ‐ DCA‐UFRN
Bibliografia
[1] Cartolano , E., & Avegliano , P. (2004). Experiência Microcontroladores PIC. Escola Politécnica
Universidade de São Paulo, Departamento de Engenharia de Computação, São Paulo.
[6] Stallings, W. Top Level View of Computer Function and Interconnection. In: Computer
Organization and Architecture 8th Edition.
[7] Wilmshurst, T. (2006). Designing embedded systems with PIC microcontrollers: principles and
applications. Newnes.
38