Olá [Música] pessoal essa aula da e periféricos aqui nós vamos começar aqui falar das arquiteturas aí de um computador as arquiteturas internas né a nível de periféricos a nível de unidade central de processamento e terminamos com diagrama de blocos né e periféricos a gente vai começar a entender hoje alguns periféricos básicos né não a programação deles e mais entender como eles funcionam portas de entrada e saída isso aí é o principal né são os pinos lá onde vocês vão fazer as ligações e todos esses circuitos é desse material que eu já passei para vocês a parte de é só vamos falar um pouquinho aí que padrões circuitos que geram tempos e contagem de eventos e conversores analógico para digital também nós temos os de as né mas não é assunto de hoje então falando da arquitetura né de processamento de um microcontrolador ele possui a CPU né EA CPU ela caracteriza-se pela manipulação de bits tá então geralmente a manipulação de bits que vai gerar as instruções e que são instruções então nós temos alguns exemplos aqui de instruções movimentar bits então o fabricante ele já ele já determina a circuitos que geram instruções e movimentação deles é ele já projeto esse circuito para nós é eu posso ter ser coelhos que setam e receber tão Mix que que é isso é colocar se você colocar nível baixo nível 10 e nível 11 nos nos respectivos Bis e eu posso ter circuitos que geram também as instruções de comprimento the beach né complementar o bit é a função inversor ao norte de né então é um bit que zero passa a ser um e vice-versa eu posso ter também instruções são circuitos digitais que testam Beach porque eu preciso saber resultados então preciso de teste limite fica testar um mídia testar quando ele for nível alto a testar quando ele for nível baixo tá então tudo isso é manipulando Bis e agora eu tenho instruções também de uso Geral com a CPU Neve executa essas instruções de geral que aí ela trabalha com dados né então fluxo de dados Então ela faz a parte de movimentar esses dados que aí a gente já pode tratar como um byte aí né 8 bits no caso aí dos pics família 16 e 18 essa movimentação de dados é é a nível de 8 bits por vez Marte e eu tenho instruções para controle de fluxo também do nosso código porque vocês quando montam o fluxograma vocês fala assim eu ligo LED e depois desliga o LED ele tem que seguir esse fluxo as instruções tem que seguir um fluxo só que você tá montando lá no seu código-fonte dá uma sequência que você tá colocando lá ela tem seguir esse controle de fluxo aí nós temos instruções para trabalhar com as operações lógicas que são basicamente a função não a função EA função ou e a função ou exclusivo que achou né ah Sora é muito usada para fazer teste limite né então operação chora faz muito perto de mim e existe também circuitos que fazem controle geral da nossa CPU ou tudo isso já vem em mim o único cidade do fabricante tomar um fabricante ele tem esse set de instruções não Datasheet no nosso caso os microcontroladores Pic da família 16 a maioria deles são 35 introdução do nosso é 35 16087 a família né 87 x A então ele tem essas 35 instruções teremos aulas também para né para visualizar e entender mais essas instruções esse material também ele vai trazer uma visão geral hoje nós vamos entrar muito de muito em detalhes dos circuitos né bom então quando a gente fala de um microcontrolador né então eu teria esses bloquinhos aqui eles ficam dentro do microcontrolador né com aqui eu teria né todos esses blocos com a CPU tudo dentro do microcontrolador os Portes e que fazem a comunicação externa né então com os Portes aqui eu voltei a ligação de sensores e atuadores a que eu vou precisar para o pai para o meu microcontrolador fazer os controles aí do projeto e internamente claro nós temos a CPU memória RAM memória ROM e diversos periféricos Então hoje a gente vai até falado timer e e contadores mas tem os osciladores É então acho que você teu olha só ela que tá fazendo o controle de tudo isso aqui tá você tem ou faz o controle e tu e periféricos o e falando de periféricos né eles são circuitos digitais e incorporados ao circuito integrado no microcontrolador Então dentro desse nosso encapsulamento Desse nosso pequeno estudo aqui de 40 pinos nós temos diversos circuitos dentes representados por esses retângulos aqui coloridos né então os principais portas e aí opção os pinos da porta serial que a parte de comunicação temporizadores e contadores e conversores Hades e tem os de assiduamente são importantes né então hoje vamos falar um pouquinho desses periféricos aqui de uma maneira geral também e o acesso os periféricos é feito por meio dos nossos pinos que são os portes e essa palavra porta mim ela vim também ela tem uma história de Porto né onde o navio atraca né então esse porte aí ligação é o atracamento que você vai fazer elétrico não é dor os seus periféricos do seu sensores e atuadores aqui no caso né então o acesso aos periféricos é feito por meio dos pinos do microcontrolador Via hardware e eu configuro viasoft observa em que cada pino ele tem geralmente mais do que uma função a Barrinha separa as funções vamos ver vamos pensar aqui ó no pino 2 e os dois ele tem duas funções o RH 0/0 o que que é isso aqui significa que eu posso trabalhar um sinal digital ou analógica ele é configurável ouvindo dois eu tava falando que os pinos do microcontrolador eles são configuráveis Então observa em que o pino 2 ele tem duas funções ora-01110 ele é digital e analógico então eu posso configurar ele para trabalhar no modo digital moda na loja o pilo também tem duas funções o pino 3 também agora observa o pino 4 o pico quatro ele tem uma duas três quatro funções e o pino 5 tem três o pino 6 tem três real pino 7 tem quatro funções então eles são programáveis além de um programar eles como entrada e saída eu programa o circuito que vai trabalhar com a função específica dele e essa característica se chama que os pinos eles são multiplexados que se nos vemos não fossem multiplexados ou seja tivessem mais do que uma função para implementar todas essas funções com 40 pinos eu não ia conseguir eu ia precisar mais de 100 pinos então com essa característica de utilizar um pino para mais do que uma função eu ganho espaço né Então em vez de eu ter um microcontrolador com mais de 100 pinos Eu tenho um de 40 tô falando das portas de entrada e saída que é esse primeiro periférico que a gente tá né Trabalhando aí que são os pinos que a gente liga sinais de entrada e saída né Então as portas de entrar esses entrada e saída de um microcontrolador e são a interface com os componentes externos que a gente quer controlar eles são configuráveis e te amei demais eu posso configurar o byte também é como entrada ou saída isso permite o seu uso para receber informações e sensores tem como enviar comandos aos atuadores do processo ou seja sensores a entrada atuador e saída e essas portas de alho elas são multiplexados pois a maioria das portas possuem mais do que uma função é o que eu acabei explicar dos filhos né Então observa em que quando eu configuro o registrador tres É esse aqui em cima é né bom então quando ele tá zero significa que é aos poucos quando ele tá um ó é input e o porte é um registrador O que determina o nível lógico do meu pino né não é ele que tá ligado diretamente com o pino de conexão externa bom então Aqui nós temos um exemplo de um sensor que é um Encoder óptico que ele está gerando ou se função do giro de uma engrenagem sensor ele tem que enviar as informações do microcontrolador por isso que esse pepino aqui ó ele está configurado como entrada e vão eles no caso Olá configurado como entrada esse botão uma chave mecânica aqui ó e agora o LED aqui e ele está configurado como saída Então esse pena que ele está configurado como saída para estacionar no LED e esse outro e no Aqui também tá configurado como saída porque ele está controlando um transistor esse transistor um relé é a Então aqui tem uma visualização que eu acho que até facilita o entendimento pé do Tri e do porte o porte está sem valor aqui né o porte na saída eu vou determinar o nível alto o nível baixo nele agora o porte quando o pino tá configurado como entrada não 66 lembra eu comentei que eu tenho uma alta impedância aqui então aqui eu vou ter uma alta impedância e assalto impedância ela vai simplesmente determinar se esse sensor tá me enviando um nível alto ou um nível baixo aí o corte aqui só tá recebendo os níveis lógicos quando ele está configurado como entrada né Oi e aí quando aqui a gente tem detalhe de um pino né um hino que é esse aqui ó esse pepino quando ele tá configurado pelo 3 é bom zero que essa posição que tá a chave aqui ó zero que é saída significa que eu Humor Legal circuito interno dele que gera um nível lógico para o hino a berinjela o meu nível lógico aqui o pino que pode ser 10 ou então vai ter uma parte de controle aqui no forte que envia esse sinal agora quando tres está configurado para um olha só essa chave ela muda de posição ela vem aqui para baixo É porque ela vem para baixo e um entrada aí o que eu vou ter ligado aqui nesse pino vai ser um sensor e vai enviar um nível lógico para esse circuito aqui de entrada que é o input Oi e esse circuito passa por um ou por uma outra chave e seleção que é a chave que eu tenho também que configurar dizendo que se esse sinal que vai entrar nesse pino ele é analógico o ou digital E se for analógico essa chave ela tem que estar ligada aqui para baixo porque aí ele entra no circuito do conversor a de porque ele vai pegar o nível analógica e transformar um código E se for digital a chave fica ligado do jeito que ela está E aí ele recebe o nível 0 ou nível 1 desse tempo Oi e essa chave pessoal ela é um transistor então na prática lá dentro do circuito integrado essa chave ela é um transistor Então quando vocês escrevem lá no código tres igual a um significa que você tá manipulando um transistor lá dentro dele né É isso que é programar um larga através do software Você programa um raro manipulando essa Chaves essas chaves são transístores [Música] e agora vamos entender um exemplos o registrador triz Ah então você já sabem que o tres quando ele tiver um é entrada e quando tiver zero é saída e vamos configurar pizza Beach quando eu configuro o bit a bit eu tenho que pôr o nome do esporte que aqui no caso é o 3B. Nome do beat ó e aqui é o RB1 significa eu estou fazendo a configuração do Pino RB1 com o valor 1 e o valor um significa que entrada e essa é uma ação não significa que o RB1 que é o pino 34 ele tem esse sentido da seta que ele vai receber um sinal tá configurar como entrada o 3B. Rb30 tá configurado com 0 significa que ele é saída então o pino rb3 que é o pino 36 ó ele tá configurado como saída Oi e a última são aqui de setup é o 3B.
Rb6 igual a um então é entrada também que é o rb6 que é o pino 39 então isso aqui geralmente a gente faz no setup essa configuração aqui de pino para ele trabalhar com uma entrada e saída vai depender o que é que eu vou ligar aqui né para ir trabalhar com uma entrada ou saída eu tô usando o 3B Porque eles estão todos juntinhos aqui né o corte B é do 40 ao 33 e já o porte de ele tá separado tá pode Deus ser estão todos separados únicos fisicamente juntos é o corte bebê então nesses exemplos eu vou usar tudo forte b de bola mas o exemplo vale para qualquer pino tá qualquer letra aí de de porte o fio manipular agora o byte Eu não coloco. E o número do Beach né eu tô manipulando agora só o pai então eu escrevo tres Bem igual a zero zero em binário é isso aqui ó e são 80 então se eu escrever 3 B = 0 ou linhas B = 0 B que a notação binária né e 80 Eu vou ter esse mesmo resultado aqui ó todos os pinos do porte B estarão configurados como saída o que tudo é zero ela saída né no preço E agora se eu escrever 3 B = 1 e eu vou ter todos os pinos configurados como entrada Ah não isso aqui é um erro comum um erro comum se inscrever tres Bem igual a um você não vai ter todos os pinos do porte B como entrada por quê que que é um em binário e olha aqui um em binária é isso aqui ó eu não sei que você escrever 3 B = um só esse kit aqui que vai ser um o resto é zero e esse bit o bit 0 bit menos significativo pino 33 rb0 os outros saída só vão 33 que vai ser entrada bom então isso aqui pessoal é um erro comum no início aí quando vocês começam a Gerar Esses códigos aí para controlar o microcontrolador então se você escrever e Chris B = 1 é esse resultado que vocês terão só o bit menos significativo com a RD 0 que vai ser entrada o resto é saída na dúvida aí a trabalhar no binário o plano levar no começo trabalhem com o sistema binário E se eu escrever agora 3 B = 2 55 Aí sim aí eu vou ter tudo todos os pinos configurados como entrada porque 255 em binário essa sequência de 800 notação binária né então eu tenho 81 sair sim se inscrever 3 B = 2 55 todos os pinos suporte tb estarão configurados como entrada e agora vamos mudar para o porte manipular o corte bit-a-bit o registrador porte é o que configura um nível lógico do pico ou do Norte esse primeiro exemplo é potb. RB1 igual a um significa que eu vou para o nível alto no pino 34 do se tiver um LED ligado aqui ele vai acender o vermelhinho sol o branquinho é off o seu colocar uma ação porte b.
RB1 igual a 1 e depois porte de ponto rb3 igual ao outro manipulando os Bis R1 e aí B3 com ligam um não é o pino 36 e o pino 34 tá bom Um o resto autom e agora manipulando Bite e se inscrever porte B = 0 tudo é zero porque zero em decimal é aqueles 80 sem dignar-se E se eu escrevi porte B = 2 55 todos os pinos do porte B vão ligar vamos para nível alto porque 255 decimal é aquela sequência binária de 8181 binários e 255 decimal E se eu escrevo usar agora o sistema hexa que é 0x E lembrando que o ex a cada a letra do hexa equivale a quatro e E se eu escrever 0x 0 f Essa é a mesma coisa que eu escrevi zero b0001 então se você separar aqui em binário UEFI tá aqui e 10 aqui né zero essa sequência E400F é uma sequência de quatro uns Oi e aí nós teremos esse resultado aqui Esse resultado é os bits menos significativos 4 bits menos significativos eles vão ficar com nível alto e os quatro bits mais significativos com nível baixo e é quatro bits o nome que é dado para quatro isso é o nome antigo Tá mas ele chama nibble a nibble é quatro meses baixo 8 bits nível 4 E se eu falar nibble que que significa isso mão de baixo nível 4 bits Então os quatro bits baixos ou menos significativos quem são esses aqui seria uni-ball Jenny Lou aqui bom e esses quatro bits mais significativos eu posso chamar de nibley ai ai a HBO ai ne boude 4G High Beats mais altos low os bits mais baixos né Sempre seguindo aquela sequência de bit menos significativo vai ser o da direita e o bit mais significativo da esquerda E se eu escrevi 0b 01010101 significa Eu vou ter esse resultado aqui né o bit 0 começa com o céu e no 33 e depois fica 10 10 10 10 ou se inscrever porte b0x e o hexa 1552 resultado que se você separar aqui né 0110 1 a 5 10 10 1 a 5 né então escrevendo no sistema binário ou no hexa teremos o mesmo resultado aí e se inscrever zero B zero 010000 pode ver atribui esse valor ao porte B e eu vou ter que os Beats 5 e 4 que são os pinos 38 e 37 eles vão pa nível alto né Não esse aqui e vai ser o 24 e esse aqui 15 e aqui eu seis aqui o set ou escrever 0x 0 30 no sistema ex né porque se você separar aqui esses quatro vezes aqui é o 0 e 00 1 a 3 por isso que é 30 em hexa a outra manipulação debate 0 x 35 que resultado Eu vou ter esse aqui porque 35 em araxa e essa sequência que em binária 01010101 aqui é um três esses quatro bits representam três né esses eram 01 a 15 E aí a bit a bit porte de ponto rb2 igual a 1 e porte de ponto rb5 igual ao então coloquei nível alto no Beat dois e no 25 aqui ó 22 Alpino 35 e o 25 é o 38 e se inscrever porte B = 0 tudo ok e se inscrever porte B = um tudo um Tá errado esse é um erro comum é porque se inscrever porte B = um só o bit e do rb0 que vai estar ligado o resto vai estar desligado o olá o correto é esse se você escrever porte Bem igual ao a escrever porte de igual a um Eu vou ter esse resultado aqui só o bit 0 é o pino 33 que vai estar comum Oi e aí um sinal de entrada e a gente usa o botão aqui nesse exemplo não é um botão aqui com resistor de pull-up ele tá sendo ligado aqui no pino ra0 Então esse botão tres dele eu teria que configurar ele da seguinte maneira O que é porte aponto ra0 igual a um porque eu tenho um botão ligado no pino ra0 ó e aqui eu tenho LED desse lado aqui E esse lado ué Ele tá ligado o LED aqui no nosso pino r1 se é led eu tenho que configurar o pino RB um como saída porte b. br 1 = 0 e não é corte Bené entre o triste que configura o pino 3B.