Microcontroladores (µcs) e microprocessadores (µps) A família 80C51. 80C51: Arquitectura do núcleo de base. Os µcs da família 80C51

Tamanho: px
Começar a partir da página:

Download "Microcontroladores (µcs) e microprocessadores (µps) A família 80C51. 80C51: Arquitectura do núcleo de base. Os µcs da família 80C51"

Transcrição

1 A família 80C51 Organização: Microcontroladores versus microprocessadores Os microcontroladores da família 80C51 Interface com o exterior Modelo de programação Processamento dos pedidos de interrupção Modos de endereçamento e tipos de instruções Exemplo: Simulação de um registo de deslocamento A família 80C51-1 Microcontroladores (µcs) e microprocessadores (µps) Um microcontrolador é fundamentalmente um componente que integra os três blocos principais na arquitectura de um computador: CPU, memória e E/S Entre µcs e µps existem as seguintes diferenças: Os µcs dispõem de E/S interna de vários tipos Os µcs podem dispor de ROM / EPROM Os µcs são sobretudo vocacionados para tarefas de controlo, onde 8 bits são a solução mais comum A família 80C51-2 Os µcs da família 80C51 A família 80C51 apresenta uma arquitectura interna algo complexa, o que a poderia desaconselhar como veículo para a introdução a este domínio. Contudo: Trata-se de componentes com grande uso na prática, para os quais existe uma enorme variedade de aplicações de apoio ao projecto, comerciais ou do domínio público A complexidade não é tanto devida à arquitectura do CPU interno, mas mais pela necessidade de se multiplexarem muitos sinais em poucos pinos A família 80C C51: Arquitectura do núcleo de base Interrupções externas Sinais de controlo (cristal exterior) Controlo de interrupções CPU Oscilador Interrupções internas 4 portas de E/S paralela P0 P2 P1 P3 Endereços / dados A família 80C51-4 4K ROM Porta série TxD RxD 128 RAM Temporizadores / Contadores (2 T/C de 16 bits) Entradas dos contadores

2 Variantes dentro da família 80C51 As variantes principais que estão disponíveis nesta família têm as seguintes características principais: Função RAM (EP)ROM Timers / counters E/S paralela Interfaces série Interrupções externas 1 a 10 Frequência de relógio Encapsulamento A família 80C51-5 Variantes 64 bytes a bytes 0 a 32 Kbytes 1 a 3 (16 bits) 2 a 7 portas (8 bits) RS-232C, I 2 C, CAN 32 KHz a 40 MHz 24 a 80 pinos (DIP, LCC, QFP) Organização de memória A família 80C51 distingue entre memória de programa (MP) e memória de dados (MD): A MP contém o programa a executar (instruções e operandos), enquanto a MD serve apenas para dados Uma vez que existe apenas um barramento de endereços e um barramento de dados, a distinção entre MP e MD é feita através do sinal de leitura (MP: /PSEN, MD: /RD) Na MP efectuam-se apenas operações de leitura, sendo que na MD se efectuam operações de leitura e escrita A família 80C51-6 Organização de memória Ainda a distinção MP / MD: A existência de dois tipos de memória obriga o 80C51 a ter internamente dois apontadores (PC, DP) A selecção do sinal de leitura apropriado (/PSEN ou /RD) é feita automaticamente pela instrução a executar MP e MD não são necessariamente ROM e RAM, podendo mesmo coexistir no mesmo componente de memória, e.g. uma NVRAM (de onde viria o sinal de leitura, neste caso?) A família 80C51-7 Organização de memória Os recursos internos de MP e MD podem ser complementados externamente: Memória de programa (MP) (externa) 0FFFh /EA=0 (externa) 0000h /PSEN FFFFh 1000h /EA=1 (interna) A família 80C51-8 Memória de dados (MD) FFh 00h (externa) (interna) /RD /WR FFFFh 0000h

3 Organização de memória O 80C51 inicializa a execução do programa a partir do endereço 0000H, que poderá ser de MP interna ou externa, de acordo com o estado do pino /EA: Quando /EA=0, o 80C51 começa a execução do programa pela MP externa Nos casos em que existe MP interna, forçar /EA=0 significa que esta memória não deve ser considerada (no entanto, se existir MP interna, será normalmente por aí que se iniciará a execução do programa) A família 80C51-9 Organização de memória Alguns aspectos importantes quanto à MD: Os 128 endereços superiores permitem de facto aceder a 256 posições, de acordo com o modo de endereçamento (conforme seja directo ou indirecto, como veremos adiante) Do total de 384 posições assim existentes, 128 correspondem aos registos de funções especiais (SFR, special function registers) (por exemplo, o DP ocupa dois destes 128 SFR) A família 80C51-10 FFh 00h (interna) Interface com o exterior Barramentos: cristal XTAL1 XTAL2 RST /EA-VPP ALE-/PROG /PSEN VSS VCC V Porto 0 (ou barramento de dados e endereços AD[0:7]) Porto 1 Porto 2 (ou barramento de endereços A[8:15]) Porto 3 (ou os seguintes sinais: RxD, TxD, /INT0 e /INT1, T0 e T1, /WR e /RD) Interface com o exterior XTAL1 Repare-se ainda que: cristal XTAL2 P0 / AD[0:7] 8 O barramento de endereços é partilhado com P3 / os portos de E/S paralela 0 e 2 O porto 0 é também partilhado com o barramento de dados AD[0..7]: A multiplexagem dados / endereços (oito bits menos significativos) é feita no domínio temporal (primeiro o endereço e depois os dados) VCC V P1 P2 / A[8:15] A família 80C51-11 A família 80C51-12

4 Interface com o exterior Atendendo à multiplexagem temporal em AD[0..7], o 80C51 proporciona o sinal de controlo (ALE) para uma latch externa que memoriza a metade menos 80C51 significativa do endereço: A família 80C51-13 AD[0:7] Porto 0 8 A[8:15] Porto 2 Porto 3 ALE /WR /RD 8 Registo 8 D[0:7] A[0:7] A[8:15] Memória Interface com o exterior Barramento de controlo: RST (reset) /EA-VPP /PSEN ALE-/PROG /INT0 e /INT1 (entradas de interrupção) T0 e T1 A família 80C51-14 /WR /RD XTAL1 e XTAL2 (pinos do oscilador interno) Configuração de pinos Diagramas temporais P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0 - RxD P3.1 - TxD P3.2 - /INT0 P3.3 - /INT1 P3.4 - T0 P3.5 - T1 P3.6 - /WR P3.7 - /RD XTAL2 XTAL1 0 V V P0.0 - AD0 P0.1 - AD1 P0.2 - AD2 P0.3 - AD3 P0.4 - AD4 P0.5 - AD5 P0.6 - AD6 P0.7 - AD7 /EA - V PP ALE - /PROG /PSEN P2.7 - A15 P2.6 - A14 P2.5 - A13 P2.4 - A12 P2.3 - A11 P2.2 - A10 P2.1 - A9 P2.0 - A8 Leitura da MP externa: ALE /PSEN 140 ns (mín.) 80 ns (máx.) A0:A7 Instrução A0:A7 Porto ns (máx.) Porto 2 A8:A15 A8:A15 A família 80C51-15 A família 80C51-16

5 Diagramas temporais Leitura da MD externa: Diagramas temporais Escrita na MD externa: ALE ALE /PSEN 440 ns (mín.) /PSEN 440 ns (mín.) /RD 152 ns (máx.) /WR 70 ns (mín.) Porto 0 A0:A7 (Ri ou DPL) Dados 648 ns (máx.) A0:A7 (PCL) Instr. Porto 0 A0:A7 (Ri ou DPL) Dados A0:A7 (PCL) Instr. Porto 2 P2.0:P2.7 ou A8:A15 (do DPH) A8:A15 (PCH) Porto 2 P2.0:P2.7 ou A8:A15 (do DPH) A8:A15 do PCH A família 80C51-17 A família 80C51-18 Modelo de programação A RAM (MD) interna revisitada Diagrama de blocos da arquitectura de base: 8 8 P0 drivers P2 drivers RAM P0 latch P2 latch EPROM Reg. B Stack pointer Acum. Controlo IR PSW ALU SFR P1 latch P3 latch P1 drivers P3 drivers 8 8 Prog. counter Data pointer FFH (128 bytes superiores) 80H 7FH (128 bytes inferiores) 0 Acessível por endereçamento indirecto (RAM) Acessível por endereçamento directo e indirecto (RAM) Acessível por endereçamento directo (SFRs) Registos de funções especiais (SFRs) Bits de selecção do banco na palavra de estado (PSW) Espaço endereçável ao bit (endereços de bit entre 0 e 7F) 11 Quatro bancos 10 de oito registos cada (registos 01 R0 a R7) 00 Valor inicial (após reset) do apontador para a stack (SP) 30H 20H 18H 10H 08H 0 7FH 2FH 1FH 17H 0FH 07H A família 80C51-19 A família 80C51-20

6 Os registos de funções especiais (SFR) (conjuntos de oito bytes) F8H FFH F0H B F7H E8H EFH E0H ACC E7H D8H DFH D0H PSW D7H C8H CFH C0H C7H B8H IP BFH B0H P3 B7H A8H IE AFH A0H P2 A7H 98H SCON SBUF 9FH 90H P1 97H 88H TCON TMOD TL0 TL1 TH0 TH1 8FH 80H P0 SP DPL DPH PCON 87H A família 80C51-21 Pedidos de interrupção A arquitectura do núcleo de base do 80C51 suporta cinco fontes de interrupção: Duas interrupções externas (pinos /INT0 e /INT1) Duas interrupções provenientes dos timers Uma interrupção proveniente do porto série Cada uma destas fontes pode ser habilitada ou inibida e a cada uma pode ser atribuída alta ou baixa prioridade (em ambos os casos, individualmente) A família 80C51-22 Pedidos de interrupção Sobre a prioridade das interrupções: O atendimento a uma interrupção de baixa prioridade pode ser interrompido por uma interrupção de alta prioridade, mas não vice-versa (e se forem interrupções da mesma prioridade?) No que respeita a pedidos simultâneos, será atendido primeiro o que tiver mais alta prioridade; se forem iguais, será realizada uma sequência de pooling para determinar qual será atendido primeiro A família 80C51-23 Pedidos de interrupção O atendimento a um pedido de interrupção começa com o armazenamento do valor actual do PC na stack, a que se segue uma chamada à respectiva rotina de atendimento: Fonte de interrupção Pino exterior External Interrupt 0 (/INT0) Overflow no timer 0 (TF0) Pino exterior External Interrupt 1 (/INT1) Overflow no timer 1 (TF1) Concluiu-se uma recepção ou transmissão série (RI, TI) A família 80C51-24 Endereço de atendimento 0003H 000BH 0013H 001BH 0023H

7 Modos de endereçamento Endereçamento directo Será adoptada nesta apresentação a mesma classificação e organização que são seguidas na folha de características do componente (Philips) Por cada modo de endereçamento, apresenta-se uma explicação sumária e alguns exemplos ilustrativos da sua utilização O operando é especificado através de um endereço de oito bits que se encontra na posição de MP seguinte à que contém o código da instrução (só pode ser usado com as posições internas de RAM e com os SFR): mov r0,5fh (r0) (5fh) nenhuma A8 5F 2 2 mov a,p1 (a) (90h) nenhuma E A família 80C51-25 A família 80C51-26 Endereçamento indirecto Endereçamento ao registo É usado um registo para especificar o endereço do operando (tanto pode ser usado com as posições de RAM internas como externas): O próprio código da instrução contém um campo com três bits que identifica qual dos registos R0 a R7 deve ser usado (dentro do banco seleccionado): mov a,@r1 (a) ((r1)) nenhuma E7 1 1 movx a,@r1 (a) ((r1)) nenhuma E3 1 2 ((dptr)) (a) nenhuma F0 1 2 mov a,r1 (a) (r1) nenhuma E9 1 1 inc r5 (r5) (r5)+1 nenhuma 0D 1 1 A família 80C51-27 A família 80C51-28

8 Endereçamento específico dos registos No caso das instruções que são específicas de certos registos (por exemplo, do acumulador): Endereçamento imediato O valor do operando está contido na posição de MP seguinte à que contém o código da instrução: cpl a (a) /(a) nenhuma F4 1 1 inc dptr (dptr) (dptr)+1 nenhuma A3 1 2 cjne r5,#2ah,marca (pc) (pc)+3 se (r5) 2ah (pc) (pc)+rel se (r5)<2ah (c) 1 senão (c) 0 BD 2A F1 3 2 mov a,#76h (a) #76h nenhuma A família 80C51-29 A família 80C51-30 Endereçamento indexado É usado para a leitura de valores armazenados na MP, servindo como apontador um registo de 16 bits (DP ou PC): movc a,@a+dptr (a) ((a)+(dptr)) nenhuma movc a,@a+pc (pc) (pc)+1 (a) ((a)+(pc)) nenhuma (pc) (a)+(dptr) nenhuma Ainda os modos de endereçamento Apesar de a folha de características do 80C51 não o referir explicitamente, este componente suporta também um modo de endereçamento a que é habitualmente dada a designação de endereçamento relativo (e.g. jb P1.2,marca) Neste modo, e em vez do endereço de destino, o operando consiste na diferença (offset) entre esse endereço e o endereço actual A família 80C51-31 A família 80C51-32

9 Ainda os modos de endereçamento O offset é apresentado como um byte em complemento para dois, o que permite saltos de até 127 bytes para a frente ou 128 bytes para trás: A família 80C51-33 Decimal Complemento para dois (hexadecimal 80) (hexadecimal 81) (hexadecimal 82) (hexadecimal FE) (hexadecimal FF) (hexadecimal 00) (hexadecimal 01) (hexadecimal 02) (hexadecimal 7E) (hexadecimal 7F) Ainda os modos de endereçamento Esta solução permite poupar um byte na especificação do endereço, sendo o valor do offset calculado pela aplicação que gera o código objecto Exemplo: Endereços no exemplo considerado: A 000B 000C marca: 000D A família 80C Código instr. Código instr. (60h, código de jz marca) (05h, valor do offset) endereço da instrução seguinte (deverá ser incrementado 5 vezes para chegar ao endereço da marca) endereço para onde se pretende saltar Tipos de instruções O importante não é conhecer todas as instruções (nem isso seria possível), mas sim conhecer bem as características dos seus cinco grupos principais: Instruções aritméticas (arithmetical) Instruções lógicas (logical) Transferência de dados (data transfer) Instruções Booleanas (Boolean) Instruções de salto (jump) A família 80C51-35 Instruções aritméticas Mnemónica Operação Modos endereçamento Tempo de dir. ind. reg. im. execução ( µ s) add a,<byte> (a) = (a)+<byte> 1 addc a,<byte> (a) = (a)+<byte>+(c) 1 subb a,<byte> (a) = (a)-<byte>-(c) 1 inc a (a) = (a)+1 (específico do ACC) 1 inc <byte> <byte> = <byte>+1 1 inc dptr (dptr) = (dptr)+1 (específico do DP) 2 dec a (a) = (a)-1 (específico do ACC) 1 dec <byte> <byte> = <byte>-1 1 mul ab (b) b. a[15:8], (a) b. a[7:0] (específico do ACC e B) 4 div ab (a)=int[a/b], (b)=mod[a/b] (específico do ACC e B) 4 da a Ajuste para decimal (específico do ACC) 1 A família 80C51-36

10 Instruções aritméticas Exemplos: addc a,#3bh (a) (a)+(c)+#3bh c, ac, ov 34 3B 2 1 mul ab b b. a[15:8], a b. a[7:0] A família 80C51-37 c=0, ov A4 1 4 Instruções lógicas Mnemónica Operação Modos endereçamento Tempo de dir. ind. reg. im. execução ( µ s) anl a,<byte> (a) = (a) <byte> 1 anl <byte>,a <byte> = <byte> (a) 1 anl <byte>,#data <byte> = <byte> #data 2 orl a,<byte> (a) = (a) <byte> 1 orl <byte>,a <byte> = <byte> (a) 1 orl <byte>,#data <byte> = <byte> #data 2 xrl a,<byte> (a) = (a) <byte> 1 xrl <byte>,a <byte> = <byte> (a) 1 xrl <byte>,#data <byte> = <byte> #data 2 clr a (a) = 0 (específico do ACC) 1 cpl a (a) = /(a) (específico do ACC) 1 rl a Rotaciona (a) à esquerda rlc a Rotaciona (a) à esquerda através do c A família 80C51-38 (específico do ACC) 1 (específico do ACC) 1 rr a Rotaciona (a) à direita (específico do ACC) 1 rrlc a Rotaciona (a) à direita através do c (específico do ACC) 1 swap a (a[3:0]) (a[7:4]) (específico do ACC) 1 Instruções lógicas Exemplos: orl 4eh,#3bh (4eh) (4eh) #3bh nenhuma 43 4E 3B 3 2 clr a (a) 0 nenhuma E4 1 1 Instruções de transferência de dados Estas instruções sub-dividem-se em três grupos principais: Transferência de dados na MD interna Transferência de dados na MD externa Leitura de tabelas armazenadas na MP Cada um destes tipos será agora considerado individualmente A família 80C51-39 A família 80C51-40

11 Transferência de dados: MD interna Mnemónica Operação Modos endereçamento Tempo de dir. ind. reg. im. execução ( µ s) mov a,<fonte> (a) = <fonte> 1 mov <dest>,a <destino> = (a) 1 mov <dest>,<fonte> <destino> = <fonte> 2 mov dptr,#data16 (dptr) = #data16 2 push <fonte> inc (sp); mov ((sp)),<fonte> pop <destino> mov <destino>,((sp)); dec (sp) 2 2 xch a,<byte> (a) <byte> 1 xchd a,@ri (a[3:0]) ((ri[3:0])) 1 Transferência de dados: MD interna Exemplos: mov 7fh,3bh (7fh) (3bh) nenhuma 85 3B 7F 3 2 mov dptr,#3b07h dptr[15:8] #3bh dptr[7:0] #07h nenhuma 90 3B xch a,r7 (a) (r7) nenhuma CF 1 1 A família 80C51-41 A família 80C51-42 Transferência de dados: MD externa Transferência de dados: Leitura de tabelas na MP Bits de endereço Mnemónica Operação Tempo de execução ( µ s) Mnemónica Operação Tempo de execução ( µ s) 8 bits movx a,@ri (i=0 ou 1) Carrega (a) com ((ri)) 2 8 bits (i=0 ou 1) Carrega ((ri)) com (a) 2 16 bits movx a,@dptr Carrega (a) com ((dptr)) 2 16 bits Carrega ((dptr)) com (a) 2 movc a,@a+dptr Carrega (a) com o conteúdo da MP em ((a)+(dptr)) movc a,@a+pc Carrega (a) com o conteúdo da MP em ((a)+(pc)) 2 2 movx a,@r1 (a) ((r1)) nenhuma E3 1 2 ((dptr)) (a) nenhuma F0 1 2 movc a,@a+dptr (a) ((a)+(dptr)) nenhuma movc a,@a+pc (pc) (pc)+1; (a) ((a)+(pc)) nenhuma A família 80C51-43 A família 80C51-44

12 Instruções Booleanas Mnemónica Operação Tempo de execução ( µ s) anl c,<bit> (c) = (c) <bit> 2 anl c,/<bit> (c) = (c) /<bit> 2 orl c,<bit> (c) = (c) <bit> 2 orl c,/<bit> (c) = (c) /<bit> 2 mov c,<bit> (c) = <bit> 1 mov <bit>,c <bit> = (c) 2 clr c (c) = 0 1 clr <bit> <bit> = 0 1 setb c (c) = 1 1 setb <bit> <bit> = 1 1 cpl c (c) = /(c) 1 cpl <bit> <bit> = /<bit> 1 jc marca Salta para marca se (c)=1 2 jnc marca Salta para marca se (c)=0 2 jb <bit>,marca Salta para marca se <bit>=1 2 jnb <bit>,marca Salta para marca se <bit>=0 2 jbc <bit>,marca Se <bit>=1 então [salta para marca; <bit> 0] 2 A família 80C51-45 Instruções Booleanas Exemplos: orl c,/acc.4 (c) (c) /acc.4 c A0 E4 2 2 clr p2.7 (p2.7) 0 nenhuma C2 A7 2 1 jb p1.2,marca (pc) (pc)+3; se (p1.2)=1 então (pc) (pc)+rel A família 80C51-46 nenhuma D3 3 2 Instruções de salto Estas instruções sub-dividem-se em dois grupos principais: Salto não condicional Salto condicional Cada um destes tipos será agora considerado individualmente Instruções de salto não condicional Mnemónica Operação Tempo de execução ( µ s) jmp marca Salta para marca (ljmp, sjmp) 2 Salta para ((a)+(dptr)) 2 call marca Chama a subrotina em marca (lcall, acall) 2 ret Retorna da subrotina 2 reti Retorna da interrupção 2 nop Nenhuma operação (para além de (pc) (pc)+1) 1 A família 80C51-47 A família 80C51-48

13 Instruções de salto não condicional Exemplos: ljmp marca (pc) marca nenhuma lcall marca (pc) (pc)+3; (sp) (sp)+1; ((sp)) (pc[7:0]); (sp) (sp)+1; ((sp)) (pc[15:8]) (pc) marca reti (pc[15:8]) ((sp)); (sp) (sp)-1; (pc[7:0]) ((sp)); (sp) (sp)-1; nenhuma nenhuma Instruções de salto condicional Mnemónica Operação Modos endereçamento Tempo de jz marca Salta para marca se (a)=0 jnz marca djnz <byte>,marca cjne a,<byte>,marca cjne <byte>,#data,marca Salta para marca se (a) 0 Decrementa <byte> e salta para marca se <byte> 0 Salta para marca se (a) <byte> Salta para marca se <byte> #data dir. ind. reg. im. exec. ( µ s) (específico do ACC) 1 (específico do ACC) A família 80C51-49 A família 80C51-50 Instruções de salto condicional Exemplos: jz marca (pc) (pc)+2; se (a)=0 então (pc) (pc)+rel djnz 5fh,marca (pc) (pc)+3; (5fh) (5fh)-1; se (5fh) 0 então (pc) (pc)+rel (pc) (pc)+3; se ((r1)) #22h então (pc) (pc)+rel se ((r1))<#22h então (c) 1; senão (c) 0 A família 80C51-51 nenhuma 60 CA 2 2 nenhuma D5 5F C7 3 2 se ((r1))<#22h (c) 1 senão (c) 0 B7 22 C4 3 2 Exemplo de aplicação Para consolidar os conhecimentos adquiridos, consideraremos agora o caso de pretendermos simular o funcionamento de um registo de deslocamento, como o que se apresenta a seguir: A família 80C51-52 IN CLK D CLK D CLK Q Q OUT[0] OUT[1] OUT[2] OUT[3] D CLK OUT[4] OUT[5] OUT[6] OUT[7] D CLK Q Q D CLK D CLK Q Q D CLK D CLK Q Q

14 Exemplo de aplicação Os pressupostos são os seguintes: O sinal de relógio é activo à transição ascendente No estado inicial, todas as saídas deverão estar a 0 A relação entre as entradas (IN e CLK) e as saídas (OUT[0..7]) deverá ser tão próxima quanto possível da que teria lugar através da implementação em hardware IN CLK OUT[0] OUT[1] OUT[2] OUT[3] OUT[4] OUT[5] OUT[6] OUT[7] Sequência de passos A sequência de passos até à solução é a seguinte: Efectuar a atribuição entre os sinais exteriores e os pinos de E/S paralela do microcontrolador Reflectir sobre a sequência de operações que implementem a funcionalidade pretendida Codificar esta sequência em assembly Obter o código objecto, simular o seu funcionamento (verificação de projecto) e implementar na prática A família 80C51-53 A família 80C51-54 Atribuição de recursos A simplicidade do exemplo considerado dispensa-nos o uso de recursos externos a um 87C51, pelo que poderemos especificar a seguinte atribuição: Linhas de saída OUT[0..7] do registo de deslocamento estarão ligadas ao porto 1 (respectivamente P1[0..7]) Linhas de entrada ligadas ao porto 0 (CLK em P0.0 e IN em P0.1) Sequência de operações a realizar A sequência de operações a realizar pode especificar-se como se segue: Aguardar pela subida no sinal de relógio (CLK) Após a subida em CLK, deslocar o conteúdo de OUT[0..7] uma posição, no sentido de OUT[0] para OUT[7] (para a esquerda, considerando que OUT[7] está à esquerda) Se a entrada IN estiver em 1, colocar OUT[0] em 1; caso contrário, colocar OUT[0] em 0 A família 80C51-55 A família 80C51-56

15 Codificação em assembly Verificação de projecto E4 inicio clr a F5 90 mov p1,a ; coloca OUT[0..7] em FD marca1 jnb p0.0,marca1 ; espera que CLK suba A2 81 mov c,p0.1 ; coloca IN no Carry rlc a ; realiza o deslocamento F5 90 mov p1,a ; actualiza as saidas B FD marca2 jb p0.0,marca2 ; espera que o CLK desca E 80 F3 sjmp marca end tasm: Number of errors = 0 (analisar com pormenor; para que serve a linha 10?) A família 80C51-57 É necessário esperar pela descida do relógio (linha 10), para evitar que uma única subida em CLK provoque múltiplas operações de deslocamento (dependendo da relação entre CLK e o relógio do 87C51): CLK OUT[0] Intervalo correspondente à execução das linhas 0006 a 0009, após o que tem lugar a actualização das saídas P1[0..7] A família 80C51-58 Verificação de projecto Considerando CLK a 1 KHz e o relógio do 87C51 a 12 MHz, quantas operações de deslocamento ocorreriam se não tivéssemos aquele cuidado? inicio clr a 1 µ s (1 ciclo 12 MHz) mov p1,a 1 µ s (1 ciclo 12 MHz) marca1 jnb p0.0,marca1 2 µ s (2 ciclo 12 MHz) mov c,p0.1 1 µ s (1 ciclo 12 MHz) rlc a 1 µ s (1 ciclo 12 MHz) mov p1,a 1 µ s (1 ciclo 12 MHz) marca2 jb p0.0,marca2 2 µ s (2 ciclo 12 MHz) sjmp marca1 2 µ s (2 ciclos 12 MHz) A família 80C51-59 CLK OUT[0] Verificação de projecto É ainda também importante atentarmos na diferença entre o tempo de propagação de um circuito com FF-D e a simulação via 87C51: Poderão daqui advir problemas (funcionamento incorrecto)? A família 80C51-60 IN (P0.1) CLK (P0.0) OUT[0] (P1.0) t1 Momento em que é efectuada a leitura de CLK (jnb p0.0) t2 Momento em que é efectuada a leitura de IN (mov c,p0.1) 2 µs

16 Expansão da funcionalidade Suportar uma entrada Habilita (em P0.2):.org 0 #include def8752.asm inicio clr a mov p1,a ; coloca OUT[0..7] em 0 marca1 jnb p0.0,marca1 ; espera que CLK suba mov c,p0.1 ; coloca IN no Carry jnb p0.2,marca2 ; Habilita activo? rlc a ; realiza o deslocamento mov p1,a ; actualiza as saidas marca2 jb p0.0,marca2 ; espera que o CLK desca sjmp marca1.end A família 80C51-61.org...? #include...? Expansão da funcionalidade Suportar entradas de Habilita (P0.2) e Sentido (P0.3):.org 0 #include def8752.asm inicio clr a mov p1,a ; coloca OUT[0..7] em 0 marca1 jnb p0.0,marca1 ; espera que CLK suba mov c,p0.1 ; coloca IN no Carry jnb p0.2,marca2 ; Habilita activo? jnb p0.3,dir ; Sentido para a direita? esq rlc a ; deslocamento para a esquerda sjmp actual dir rrc a ; deslocamento para a direita actual mov p1,a ; actualiza as saidas marca2 jb p0.0,marca2 ; espera que o CLK desca sjmp marca1.end A família 80C51-62 Avaliação do resultado As interrupções revisitadas Comparando as duas alternativas (FF-D e 87C51) para a implementação do exemplo considerado, que conclusões podemos tirar relativamente a: Tempo de desenvolvimento? Flexibilidade da implementação? Rapidez de funcionamento? Como é que a resposta às questões anteriores é afectada pela complexidade do caso em estudo? /INT0 TF0 /INT1 TF1 TI RI IT0 IT1 IE0 IE1 Fontes de interrupção IE0 e IE1 são flags de interrupção que pertencem ao registo TCON (SFR com endereço 88H) A família 80C51-63 A família 80C51-64

17 Gestão das interrupções /INT0 Interrupções externas TF0 /INT IT0 IT1 IE0 IE1 TF1 O código executado pelo microcontrolador pode activar / desactivar (set / cleared) todas as flags de interrupção Cada fonte de interrupção pode ser habilitada / inibida individualmente (registo IE nos SFR) A cada fonte de interrupção pode ser atribuída uma prioridade alta ou baixa (registo IP nos SFR) RI /INT0 e /INT1 podem ser activos ao nível ou à transição, de acordo com o conteúdo do registo TCON (SFR com endereço 88H) Se as interrupções forem activas à transição, as flags que as geram são limpas pelo hardware quando a respectiva rotina é executada (caso contrário, terá que ser o código do utilizador a fazê-lo) TI A família 80C51-65 A família 80C51-66 Interrupções dos T/C RI As interrupções pedidas pelos temporizadores / contadores são geradas por TF0 e TF1, activadas por rollover nos registos dos respectivos T/C (excepto T/C 0 em modo 3, como veremos adiante) Quando é gerada uma interrupção proveniente dos T/C, a flag que a gerou é limpa pelo hardware quando a respectiva rotina é executada /INT0 TF0 /INT1 TF1 TI IT0 IT1 IE0 IE1 Interrupções da comunicação série RI Os pedidos de interrupção do periférico de comunicação série resultam do OR entre as flags RI (recepção) e TI (transmissão) Nenhuma destas flags é limpa pelo hardware quando a respectiva rotina é executada (o código da rotina tem primeiro que identificar a causa da interrupção e depois limpar a flag) /INT0 TF0 /INT1 TF1 TI IT0 IT1 IE0 IE1 A família 80C51-67 A família 80C51-68

18 O registo IE (end. SFR A8H) endereçável ao bit Este registo permite-nos habilitar / inibir cada fonte de interrupção: IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0 O registo IP (end. SFR B8H) endereçável ao bit Este registo permite-nos atribuir a cada fonte de interrupção uma prioridade alta ou baixa: IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0 EA - - ES ET1 EX1 ET0 EX PS PT1 PX1 PT0 PX0 EA inibe todas as interrupções se estiver em 0; se estiver em 1, estarão habilitadas as que tiverem o seu IE.x em 1 ES: periférico série; ET1 e ET0: dos T/C; EX1 e EX0: externas (pinos /INT1 e /INT0) A família 80C51-69 Uma fonte de interrupção terá alta prioridade quando o seu bit IP.x estiver em 1 baixa quando estiver em 0 PS: periférico série; PT1 e PT0: dos T/C; PX1 e PX0: externas (pinos /INT1 e /INT0) A família 80C51-70 O registo TCON (end. SFR 88H) endereçável ao bit Para além de controlar os T/C, este registo também se relaciona com as interrupções externas: TC.7 TC.6 TC.5 TC.4 TC.3 TC.2 TC.1 TC.0 TF1 TR1 TF0 IEx: O hardware activa (set) esta flag à transição descendente em /INTx e limpa-a (cleared) quando a respectiva rotina de atendimento é executada ITx: Se estiver em 1 a interrupção em /INTx é activa à transição descendente; caso contrário, é activa ao nível 0. A família 80C51-71 TR0 IE1 IT1 IE0 IT0 Atendimento das interrupções Ao atender uma interrupção, o hardware do 80C51 determina a execução de uma instrução LCALL para a respectiva rotina de atendimento: Endereços de atendimento: IE0-0003H; TF0-000BH; IE1-0013H; TF1-001BH; RI ou TI H A flag associada à interrupção é limpa pelo hardware nuns casos, mas noutros terá que o ser pelo código LCALL força o PC na stack, mas quaisquer outros registos (e.g. ACC, PSW,...) terão que ser guardados pelo código A família 80C51-72

19 Retorno das interrupções A execução da rotina de atendimento continua até que seja encontrada uma instrução RETI (return from interrupt): RETI informa o processador que terminou o atendimento à interrupção e extrai da stack o endereço de retorno RET (retorno de subrotina) faria algo semelhante, mas manter-se-ia a indicação de estar em curso o atendimento a uma interrupção (qual o problema?) A família 80C51-73 Exemplo (KEIL): Interrupções via /INT0 ; código para ilustrar o atendimento de interrupções ; externas em /INT0, activas à transição cseg at 0 salta: jmp inicio ; uma vez que 0003H tem que conter o código de atendimento ; a /INT0, em 0000 cabe apenas uma instrução de salto cseg at 0003h intext0: inc r1 reti ; o atendimento a /INT0 apenas incrementa o R1, pelo que o ; seu conteúdo nos diz quantas interrupções foram atendidas cseg at 0010h inicio: mov r1,#0 ; inicializa R1 com 0 mov tcon,#01 mov ie,#81h ; programa o funcionamento das interrupções via /INT0 ciclo: mov a,p0 add a,p1 mov p2,a jmp ciclo ; está sempre a colocar em P2 o valor de P1+P0 Introdução ao Projecto endcom Sistemas Digitais e Microcontroladores A família 80C51-74 Int. via /INT0: Visualização no dscope Os temporizadores / contadores (T/C) do 80C51 Existem dois T/C com 16 bits, podendo cada um funcionar como temporizador (T) ou contador (C): Como temporizador o registo é incrementado por cada ciclo máquina (12 ciclos de relógio) Como contador o registo é incrementado à descida do sinal no pino (T0 ou T1) sendo T0 / T1 amostrados uma vez em cada ciclo máquina, a detecção de descida leva 24 ciclos de relógio (primeira amostra 1, segunda 0) A família 80C51-75 A família 80C51-76

20 Controlo de funcionamento dos T/C O controlo de cada T/C é feito através dos registos TMOD e TCON (dois dos SFR): O estado (activo / parado) é controlado através do registo TCON A definição da função pretendida (temporizador ou contador) é feita pelo bit C-/T em TMOD Para cada T/C (seja como temporizador ou como contador) existem quatro modos de funcionamento, definidos pelos pares de bits (M1,M0) em TMOD A família 80C51-77 T/C: Modos 0 e 1 TCON: (iguais nos dois T/C) TMOD: Este modo é compatível com o temporizador do 8048 (8 bits com pré-divisão por 32) No modo temporizador, e com Gate em 1, podemos medir a largura do impulso em /INTx O modo 1 é igual ao 0, mas agora em 16 bits A família 80C51-78 T/C: Modo 2 (igual nos dois T/C) TCON: TMOD: T/C: Modo 3 TCON: (diferente para cada T/C) TMOD: A contagem é em 8 bits (TL1) Quando se excede o limite da contagem ( overflow ) é pedida uma interrupção e TL1 é automaticamente recarregado com o conteúdo de TH1 (que se mantém) A família 80C51-79 A família 80C51-80

21 T/C: Modo 3 Comentários ao modo 3: Neste modo, o T/C 1 está parado (como quando TR1=0) TL0 e TH0 funcionam de modo independente (em 8 bits) TH0 funciona como temporizador, controlado por TR1 e pedindo interrupções via TF1 (repare-se que TR1 e TF1 pertenciam ao T/C 1, nos outros modos de funcionamento) Nota: O T/C 1 pode ainda ser usado (retirando-o do modo 3), mas sem poder controlar TF1 O registo TCON (end. SFR 88H) endereçável ao bit Os bits TFx e TRx estão associados aos T/C: TC.7 TC.6 TC.5 TC.4 TC.3 TC.2 TC.1 TC.0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TFx: Pede as interrupções do T/C x (set por hardware quando ocorre overflow; limpa por hardware quando se salta para a rotina de atendimento) TRx: controlo de estado (activo / parado) do T/C x (controlado por software para activar / parar o T/C x) A família 80C51-81 A família 80C51-82 O registo TMOD (end. SFR 89H) endereçável ao bit Existem quatro bits por cada T/C: TM.7 TM.6 TM.5 TM.4 TM.3 TM.2 TM.1 TM.0 Gate C-/T M1 Gate: Em conjunto com TRx, controla o estado (activo / parado) do C/T (ver esquemas que descrevem os modos de funcionamento) C-/T: Define a função (0: temporizador; 1: contador) M1,M0: Definem o modo de funcionamento (0 a 3) A família 80C51-83 M0 Gate C-/T M1 M0 Exemplo (KEIL): Funcionamento do T/C 1 ; exemplo para ilustrar o funcionamento dos T/C com interrupções ; T/C 1 funciona como contador de 8 bits com auto-reload ; deve complementar-se P1.0 quando forem contados três impulsos exteriores cseg at 0 inicio: mov tmod,#60h ; contador, modo 2 (quando TR1=1 e T1 desce) mov ie,#88h ; permite interrupções do T/C 1 mov tl1,#0fdh ; para contar apenas três vezes mov th1,#0fdh ; para recarregar o TL1 setb tr1 ; permite início da contagem jmp $ ; apenas para ficar aqui parado cseg at 001bh tc1int: ; complementa o bit P1.0 cpl p1.0 reti end A família 80C51-84

22 T/C 1: Visualização no dscope A porta de comunicação série no 80C51 Pode transmitir e receber em simultâneo (é do tipo full duplex ) Os registos de recepção e transmissão são ambos acedidos através do SBUF (SFR c/ end. 99H): A escrita no SBUF carrega o registo de transmissão A leitura do SBUF acede ao registo de recepção (fisicamente diferente) A porta série tem quatro modos de funcionamento A família 80C51-85 A família 80C51-86 Porta série: Modos de funcionamento 0 e 1 Modo 0 - Transmissão em 8 bits (LSB primeiro), com taxa de transmissão (baud rate) de 1/12 da frequência de relógio. Os dados entram e saem via RxD, estando o relógio de transmissão em TxD. Modo 1 - Transmissão em 10 bits: Start bit (0), bits de dados (LSB primeiro) e um Stop bit (1), com baud rate variável. Envio por TxD e recepção por RxD. Porta série: Modos de funcionamento 2 e 3 Modo 2 - Transmissão em 11 bits: Start bit (0), bits de dados (LSB primeiro), um nono bit programável (e.g. o bit de paridade no registo PSW) e um Stop bit (1). O baud rate pode ser 1/32 ou 1/64 da frequência do relógio. Envio por TxD e recepção por RxD. Modo 3 - Como no modo 2, mas agora com baud rate variável. A família 80C51-87 A família 80C51-88

23 Taxas de transmissão (baud rate) No modo 0, o baud rate é fixo e igual a 1/12 da frequência de relógio No modo 2, o baud rate depende do bit SMOD no registo PCON (SFR c/ end. 87H), sendo dado por (2 SMOD / 64) x (frequência) (1/64 ou 1/32, portanto) Nos modos 1 e 3, o baud rate é variável e determinado pelo T/C 1 (e também depende do bit SMOD) A família 80C51-89 Uso do T/C 1 para determinar o baud rate Nos modos 1 e 3 o baud rate é determinado pela seguinte expressão: (2 SMOD / 32) x (ritmo de overflow do T/C 1) As interrupções através deste T/C devem estar inibidas O T/C 1 pode funcionar como temporizador ou como contador, em qualquer modo de funcionamento, excepto o modo 3 (recorde-se que neste modo o T/C 1 está parado) A família 80C51-90 Geração do baud rate via T/C 1: Forma habitual No caso mais comum, o T/C é usado no seu modo 2 (modo 2 do T/C 1) (como temporizador com auto-reload) O baud rate da porta série, nos seus modos 1 e 3, é (modos 1 e 3 da porta série) então dado por (2 SMOD / 32) x (frequência / (12 x (256-(TH1)))) (TH1): Conteúdo do T/C 1, oito bits mais significativos Para uma frequência de 11,0592 MHz, quais os valores de SMOD e (TH1), para resultar um baud rate de bps? A família 80C51-91 O registo SCON (end. SFR 98H) endereçável ao bit Bits SM0, SM1 e SM2: SC.7 SC.6 SC.5 SC.4 SC.3 SC.2 SC.1 SC.0 SM0 SM1 SM2 SM0 e SM1: Definem o modo de funcionamento (0 a 3). SM2: Habilita a capacidade de comunicação em sistemas do tipo multiprocessador, nos modos 2 e 3. Neste caso, o nono bit em 1 dá origem a um pedido de interrupção, para indicar que chegou um endereço de nó. A família 80C51-92 REN TB8 RB8 TI RI

24 SCON (end. SFR 98H) endereçável ao bit (2) Bits REN, TB8 e RB8: SC.7 SC.6 SC.5 SC.4 SC.3 SC.2 SC.1 SC.0 SCON (end. SFR 98H) endereçável ao bit (3) Bits TI e RI: SC.7 SC.6 SC.5 SC.4 SC.3 SC.2 SC.1 SC.0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 SM2 REN TB8 RB8 TI RI REN: Controlado por software para permitir (1) ou inibir (0) a recepção. TB8: Nono bit a transmitir nos modos 2 e 3 (controlado por software). RB8: Nos modos 2 e 3, é o nono bit recebido. No modo 1, se SM2=0, é o stop bit recebido. No modo 0, não é usado. A família 80C51-93 TI: Flag de interrupção por envio. Activada por hardware no final do oitavo bit em modo 0, ou no início do Stop bit nos restantes modos. Deve ser limpa por software. RI: Flag de interrupção por recepção. Activada por hardware no final do oitavo bit em modo 0, ou a meio do Stop bit nos restantes modos. Deve ser limpa por software. A família 80C51-94 Exemplo (KEIL): Escreve em P1 o byte recebido ; segmento de código para ilustrar a recepção série no 80C51 ; cada byte recebido é escrito na porta 1 cseg at 0 salta: jmp inicio cseg at 0023h int_psr: clr ri ; limpa a flag que indica interrupção por recepção mov p1,sbuf ; copia para a porta 1 o byte que acabou de chegar reti cseg at 0030h inicio: mov scon,#70h ; porta série em modo 1 (SM0,SM1)=(0,1), recepção habilitada (REN=1) ; activa RI quando lê o Stop bit (SM2=1) mov tmod,#20h ; T/C 1 como temporizador (C/T=0) em modo 2 (M1,M0)=(1,0) mov tl1,#0fdh mov th1,#0fdh ; com SMOD em 0 por omissão, resulta um baud rate de bps mov ie,#90h ; habilita apenas as interrupções da porta série setb tr1 ; activa o funcionamento do T/C 1 jmp $ Introdução ao Projecto end com Sistemas Digitais e Microcontroladores A família 80C51-95 Porta série: Visualização no dscope A família 80C51-96

25 Outro exemplo: Recepção de uma tabela de valores Requisitos: Armazena os bytes recebidos em MD interna, a começar em 30H Termina quando receber a sequência ASCII FIM : 46H- 49H-4DH (nesse caso, reinicializa o apontador para 30H) Baud rate de bps (gerados pelo T/C 1), palavras de 10 bits (start bit, dados, stop bit) Considere-se o funcionamento a 11,0592 MHz Conclusão Objectivo principal do capítulo: Apresentar a arquitectura em que se baseia a família de microcontroladores 80C51 Pistas para a continuação do estudo: Evolução da arquitectura 80C51 (e.g. arquitectura XA) Outros microcontroladores (e.g. Motorola 68HCXX e Microchip PIC) A família 80C51-97 A família 80C51-98

Interrupções por hardware

Interrupções por hardware Interrupções Existem interrupções por software e por hardware, embora as que nos interessem mais neste contexto sejam as interrupções por hardware As interrupções por software são instruções que causam

Leia mais

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução Prova Substitutiva Uma Solução Aluno: Matrícula: Uso de Interrupções e do Temporizador 1. Faça um programa (usando o assembly do 8051) para acionamento de um motor de corrente contínua, com as seguintes

Leia mais

EXERCÍCIOS RESOLVIDOS

EXERCÍCIOS RESOLVIDOS EXERCÍCIOS RESOLVIDOS Modos de endereçamento direto ; inclui no programa assembly o arquivo (REG51.inc) ORG 0000H ; o programa inicia na linha 0000H da EPROM MOV A,#01010101B ; carrego no ACC por binário

Leia mais

Conjunto de Instruções do 8051

Conjunto de Instruções do 8051 Apêndice B Conjunto de Instruções do 8051 A.G. e E.T.M. / 2001 (revisão) O 8051 apresenta 111 tipos de instruções, sendo 49 de um byte, 45 de dois bytes e 17 de três bytes. Levando-se em contas as variações

Leia mais

MICROCONTROLADORES FAMÍLIA 8031/8051

MICROCONTROLADORES FAMÍLIA 8031/8051 MANUAL MICROCONTROLADORES FAMÍLIA 8031/8051 PROF. EDSON PEDRO FERLIN CURITIBA, PR ABRIL 2004 Sumário CAPÍTULO 1 INTRODUÇÃO... 3 CAPÍTULO 2 VISÃO GERAL... 4 1.1) Características de Hardware... 6 1.1) Pinagem

Leia mais

µcontroladores da Família 51

µcontroladores da Família 51 DEPARTAMENTO DE ELECTROTECNIA Sistemas Digitais µcontroladores da Família 51 João Paulo Baptista Índice 1 Família de Micro Controladores 8051 1 2 Arquitectura Base 1 3 PinOut do µcontrolador 2 4 Sistema

Leia mais

PROJETOS COM MICROCONTROLADORES

PROJETOS COM MICROCONTROLADORES Escola de Engenharia Elétrica e de Computação Universidade Federal de Goiás PROJETOS COM MICROCONTROLADORES Versão em Processo de Atualização Prof. Dr. José Wilson Lima Nerys Goiânia, 2009 Projetos com

Leia mais

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga Aplicações de Microprocessadores I Prof. Adilson Gonzaga Exercício -1 Fazer um programa em Assembly do 8051 que informe a temperatura de um forno. O programa deve enviar inicialmente um String em ASCII

Leia mais

Comunicação Serial. Comunicação Serial

Comunicação Serial. Comunicação Serial RECEPÇÃO TRANSMISSÃO D7 D6 D5 D4 D3 D2 D1 D0 DESLOCAMENTO DESLOCAMENTO D7 D6 D5 D4 D3 D2 D1 D0 D0 D0 D7 D6 D5 D4 D3 D2 D1 D1 D0 D1 D7 D6 D5 D4 D3 D2 D2 D0 D1 D2 D7 D6 D5 D4 D3 D3 D0 D1 D2 D3 D7 D6 D5 D4

Leia mais

SEMINÁRIO ASSEMBLY: Arquitetura 8051

SEMINÁRIO ASSEMBLY: Arquitetura 8051 UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA Curso de Ciências da Computação SEMINÁRIO ASSEMBLY: Arquitetura 8051 Fernando Takeshi Sato Diego Schmitt

Leia mais

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk Assembly 8051 Num sistema microprocessado, geralmente, não existe um sistema operacional; O programa desenvolvido pelo programador deve cuidar tanto da lógica do programa, bem como da configuração e acesso

Leia mais

EEC2104 Microprocessadores

EEC2104 Microprocessadores EEC2104 Microprocessadores Edição 2005/2006 Contadores / Temporizadores Contadores/temporizadores em geral... Hardware para contagem de impulsos Externos Internos (derivados do relógio interno) Contagem

Leia mais

CEFET-SP. Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão 6.0 2004 Wilson Ruiz. Wilson Ruiz

CEFET-SP. Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão 6.0 2004 Wilson Ruiz. Wilson Ruiz CEFET-SP Microcontroladores Família MCS-51 Conceitos, Aplicações e Projetos versão 6.0 2004 Wilson Ruiz Harpia harpyja Harpia ou Águia Real Brasil 1 CAPÍTULO 1: HARDWARE DOS MICROCONTROLADORES DA FAMÍLIA

Leia mais

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO Parte I Fundamentos Teóricos O que diferencia um microcontrolador (como o 8051) de um microprocessador é o fato de que o primeiro pode apresentar, integrados

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores Escola de Engenharia Elétrica, Mecânica e de Computação Universidade Federal de Goiás Laboratório de Microprocessadores e Microcontroladores Experimento 4: Temporizadores e Motor de Passo Alunos: Matrícula:

Leia mais

Microcontroladores Família MCS51

Microcontroladores Família MCS51 Microcontroladores Família MCS51 Colégio Técnico de Campinas COTUCA Disciplina TDM II- Departamento Eletroeletrônica 1- Conceitos Básicos Um sistema computador é constituído por três blocos de base ligados

Leia mais

A família de microcontroladores 8051

A família de microcontroladores 8051 EEL7030 A família de microcontroladores 8051 1 Comentários sobre microcontroladores Um microcontrolador é um componente que tem, num único chip, além de uma CPU, elementos tais como memórias ROM e RAM,

Leia mais

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma

Oprojeto apresenta três níveis de dificuldade: fácil, médio e difícil. No modo fácil tem-se uma Jogo de Memória (Memorex v. 3.0) José Wilson Lima Nerys Universidade Federal de Goiás jwlnerys@gmail.com Abstract No presente projeto uma sequência de Leds é criada pelo microcontrolador, e deve ser repetida

Leia mais

LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES

LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES Escola de Engenharia Elétrica e de Computação Universidade Federal de Goiás LABORATÓRIO DE MICROPROCESSADORES E MICROCONTROLADORES Prof. Dr. José Wilson Lima Nerys Goiânia, 1º semestre de 2012 Laboratório

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

Leia mais

1345 Arquitectura de Computadores

1345 Arquitectura de Computadores 1345 Arquitectura de Computadores Relatório do 2º Teste formativo Ano lectivo 1999/2000 Resolução da questão 1 O mapa de memória pedido é o seguinte: Endereço do fim da página FFFFH DFFFH BFFFH 9FFFH 7FFFH

Leia mais

Parte II O microcontrolador Intel 8051

Parte II O microcontrolador Intel 8051 Parte II O microcontrolador Intel 8051 1 Comentários sobre microcontroladores Um microcontrolador é um componente que tem, num único chip, além de uma CPU, elementos tais como memórias ROM e RAM, temporizadores,

Leia mais

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória

Microprocessadores e Microcontroladores Parte 3. Expansão de Memória Mapeamento de Memória Microprocessadores e Microcontroladores Parte 3 Expansão de Memória José Wilson Lima Nerys www.eee.ufg.br/ jwilson 2013 Um microcontrolador padrão da família 8051 possui normalmente uma memória de programa

Leia mais

USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO. EXP4 : Interrupções do uc 8051

USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO. EXP4 : Interrupções do uc 8051 USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO EXP4 : Interrupções do uc 8051 Prof. Vladimir Chvojka Jr Eng. Elétrica- Lab. Integrado - uc 8051 - Prof. Vladimir Chvojka Jr Exp4:

Leia mais

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número de registos visíveis Número de operandos Endereçamento

Leia mais

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.) LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento

Leia mais

SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL

SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL Setembro de 4 MEMÓRIAS - SUMÁRIO: MEMÓRIAS INTEGRADAS RAM ROM PROM EPROM LÓGICA PROGRAMÁVEL PLAs PALs FPGAs Setembro de 4 MEMÓRIAS - MEMÓRIAS Na sequência do

Leia mais

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086). Cap2.1 2. Arquitetura do microprocessador 8086 2.1 A família Intel iapx86 (ou 80X86) Processador Co-proc. Ano de introdução No. de bits No. de transistores Velocidade (MHz) 4004-1971 4 2.205-8008 - 1972

Leia mais

UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA THIAGO POUZA MUSSOLINI

UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA THIAGO POUZA MUSSOLINI UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA THIAGO POUZA MUSSOLINI DESENVOLVIMENTO DE UM MICROCONTROLADOR DE 8 BITS EM VHDL BASEADO NO CONJUNTO DE INSTRUÇÕES DO 8051

Leia mais

SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL

SISTEMAS DIGITAIS MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL MEMÓRIAS E CIRCUITOS DE LÓGICA PROGRAMÁVEL Sistemas Digitais MEMÓRIAS -! SUMÁRIO:! MEMÓRIAS INTEGRADAS! RAMs! ROMs! LÓGICA PROGRAMÁVEL! PROMs! PLAs! PALs! FPGAs! IMPLEMENTAÇÃO DE MÁQUINAS DE ESTADO UTILIZANDO

Leia mais

Lista de Exercícios 1

Lista de Exercícios 1 Conceitos envolvidos: a) Memória de Dados (interna e externa) b) Memória de Programa (interna e externa) c) Operações aritméticas e lógicas d) Portas e) Endereçamento a Bit f) Contadores e Temporizadores

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

MICRO CONTROLADORES MCS-51

MICRO CONTROLADORES MCS-51 MICRO CONTROLADORES MCS-51 RICARDO ZELENOVSKY R1 82 1N4148 SW PUSHBUTTON SW1 D1 VCC 47K R2 74LS14 1 U5A 2 C1 10u VCC RST R9 220 LED6 10 U5E 11 *RST VCC Q_AM 74LS14 RST LED2 R4 4 3 P1.0 U5B 220 R_VM 74LS14

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

Controlador de Motor de Passo baseado num 8051

Controlador de Motor de Passo baseado num 8051 Controlador de Motor de Passo baseado num 8051 1ª Parte Implementação do circuito de accionamento do motor de passo Dimensione o circuito de accionamento do motor de passo N82100. Seleccione o transformador

Leia mais

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte.

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte. Memória Função: armazenamento de dados e instruções Estrutura Lógica: Endereço Conteúdo 0000 0000 h 1010 0010 0256 0A20 h 1101 1100 0D63 52E2 h 0011 1111 0D63 52E3 h 0110 1001 FFFF FFFE h 0111 0101 FFFF

Leia mais

Programador/a de Informática

Programador/a de Informática 481040 - Programador/a de Informática UFCD - 0770 Dispositivos e periféricos Sessão 4 SUMÁRIO Memórias Primárias RAM ROM Cache Comunicam diretamente com o processador; Armazenam pequenas quantidades de

Leia mais

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga Aplicações: Conversão de Códigos e Motor de Passo Aplicação 1 Conversão de Código ASCII para Hexadecimal Alguns periféricos, tais como Teclados Alfa-numéricos, Monitores de Vídeo, Displays de Cristal Líquido,

Leia mais

4.3 - DMA & Chipset. CEFET-RS Curso de Eletrônica. Profs. Roberta Nobre & Sandro Silva. e

4.3 - DMA & Chipset. CEFET-RS Curso de Eletrônica. Profs. Roberta Nobre & Sandro Silva. e CEFET-RS Curso de Eletrônica 4.3 - DMA & Chipset Profs. Roberta Nobre & Sandro Silva robertacnobre@gmail.com e sandro@cefetrs.tche.br Unidade 04.3.1 DMA Dados podem ser transferidos entre dispositivos

Leia mais

EPAC Microcontroladores Organização do curso 30/8/2007

EPAC Microcontroladores Organização do curso 30/8/2007 EPAC 2007 Microcontroladores 8051 Thiago B. Ló Guilherme Galante Organização do curso 1. Parte I Introdução Visão Geral da família 8051 O circuito básico Atividades Práticas 2. Parte II Interrupções Contadores

Leia mais

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa 4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra:

Leia mais

Introdução da memória de programa

Introdução da memória de programa Introdução da memória de programa clock dados load_ir instrução IR CE 1xx 001 0 emória RO endereco Contém instruções (2 bytes) Q enable Contador de Programa (PC) inc_pc Unidade de Controlo OPR B FLGS R

Leia mais

Estrutura do programa e programação Assembly com 8051. O que entende por linguagem assembly?

Estrutura do programa e programação Assembly com 8051. O que entende por linguagem assembly? O que entende por linguagem assembly? i. Apresenta um nível de abstração intermédia entre os dois extremos: linguagem máquina e linguagem alto-nível ii. Facilita a programação pela substituição do código

Leia mais

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas

Conjunto de instruções. O Conjunto de Instruções. Conjunto de instruções. Instruções típicas. Instruções típicas. Instruções típicas Conjunto de instruções O Conjunto de Instruções ISA Instruction Set Architecture Alguns conceitos... Linguagem máquina Combinação de 0 s e 1 s organizados segundo palavras que são as instruções que o processador

Leia mais

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly

Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Laboratório de Sistemas Processadores e Periféricos Lista de comandos de Assembly Gustavo G. Parma Lista dos comandos assembly que serão utilizados ao longo das práticas. 1 Comandos 1. ADD destino, fonte

Leia mais

Lista de Exercícios 2 Prof. Daniel Caetano Solução

Lista de Exercícios 2 Prof. Daniel Caetano Solução Unidade 4 Lista de Exercícios 2 Prof. Daniel Caetano Solução 4.1) Converta os seguintes números decimais para hexadecimal: 145, 226, 1043, 3456 91h, E2h, 413h, D80h 4.2) Sem converter as bases, faça as

Leia mais

Instruções de movimentação de dados

Instruções de movimentação de dados Instruções de movimentação de dados Instrução MOV O 8051 possui instruções que permitem copiar o conteúdo de um registrador ou localidade para outro registrador ou localidade de memória. Nas seções anteriores

Leia mais

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são:

Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: Linguagem Assembly Os 3 principais tipos de Instruções (INSTRUTION SET) dos up são: INSTRUÇÕES DE TRANSFERÊNCIA DE DADOS - Movem dados entre Registradores, Registradores e Memória e Valores Fixos para

Leia mais

Funcionamento básico de um computador

Funcionamento básico de um computador Funcionamento básico de um computador Processador Unidade de dados Unidade de controlo Arquitetura de computador básica Linguagem assembly Exemplos Arquitetura de Computadores Funcionamento básico de um

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

A utilização de elementos de memória como as ROM s permitem realizar a implementção de circuitos combinatórios: ROM Dados = OUT S

A utilização de elementos de memória como as ROM s permitem realizar a implementção de circuitos combinatórios: ROM Dados = OUT S Sequenciadores A utilização de elementos de memória como as ROM s permitem realizar a implementção de circuitos combinatórios: Endereços = IN S ROM Dados = OUT S Se num circuito sequêncial as saídas são

Leia mais

Assembly Primeiros Passos

Assembly Primeiros Passos Aula 5 Assembly Primeiros Passos 5.1 Objectivos......................... 1 5.2 Introdução........................ 2 5.3 Programação em linguagem assembly........ 3 5.4 Modelo de programação................

Leia mais

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções...

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10 4 10. CPU (CENTRAL PROCESSOR UNIT) Como vimos no capítulo

Leia mais

Arquitetura do 8086/8088

Arquitetura do 8086/8088 Arquitetura do 8086/8088 Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução

Leia mais

António Abreu Departamento de Engenharia Electrotécnica Escola Superior de Tecnologia de Setúbal Campus do IPS, Setúbal

António Abreu Departamento de Engenharia Electrotécnica Escola Superior de Tecnologia de Setúbal Campus do IPS, Setúbal 8051 António Abreu Departamento de Engenharia Electrotécnica Escola Superior de Tecnologia de Setúbal Campus do IPS, 2910 761 Setúbal abreu@est.ips.pt 2 Conteúdo 1 Introdução 13 1.1 O Documento...........................

Leia mais

8051 PROGRAMAÇÃO EM C

8051 PROGRAMAÇÃO EM C 1 8051 PROGRAMAÇÃO EM C C E ASSEMBLY for-loop em C int z; for (z=255; z>0; z--) P1=z; loop em Assembly MOV R1,#255 ABC: MOV P1,R1 DJNZ R1,ABC 2 TIPOS DE DADOS (DATA TYPES) E ATRASOS (TIME DELAY) EM C DO

Leia mais

MICROPROCESSADORES E MICROCONTROLADORES

MICROPROCESSADORES E MICROCONTROLADORES MICROPROCESSADORES E MICROCONTROLADORES Parte 1 José Wilson Lima Nerys www.eee.ufg.br/~jwilson jwilson@eee.ufg.br 1 Prof. José Wilson Lima Nerys 1 Microprocessadores MICROPROCESSADORES E MICROCONTROLADORES

Leia mais

Introdução à programação em linguagem assembly

Introdução à programação em linguagem assembly Introdução à programação em linguagem assembly Espaço de endereçamento Instruções de acesso à memória Modos de endereçamento Diretivas Tabelas Pilha Rotinas Arquitetura de Computadores Introdução à programação

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 3 Visão de alto nível da função e interconexão do computador slide 1 Conceito de programa Sistemas hardwired são inflexíveis.

Leia mais

Professor: M. Sc. Cristiano Mariotti

Professor: M. Sc. Cristiano Mariotti Professor: M. Sc. Cristiano Mariotti http://www.mscmariotti.pro.br As informações processadas nos computadores são compostas por caracteres, sendo que cada caractere, representado por 0 ou 1, é chamado

Leia mais

AMBIENTE DE DESENVOLVIMENTO INTEGRADO PARA ENSINO E PROGRAMAÇÃO DE MICROCONTROLADORES DA FAMÍLIA MCS51

AMBIENTE DE DESENVOLVIMENTO INTEGRADO PARA ENSINO E PROGRAMAÇÃO DE MICROCONTROLADORES DA FAMÍLIA MCS51 CENTRO UNIVERSITÁRIO UNIVATES CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO THIAGO SCHIMUNECK AMBIENTE DE DESENVOLVIMENTO INTEGRADO PARA ENSINO E PROGRAMAÇÃO DE MICROCONTROLADORES

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código

Leia mais

Memórias Parte 1. SEL-0415 Introdução à Organização de Computadores. Aula 4. Prof. Dr. Marcelo Andrade da Costa Vieira

Memórias Parte 1. SEL-0415 Introdução à Organização de Computadores. Aula 4. Prof. Dr. Marcelo Andrade da Costa Vieira Departamento de Engenharia Elétrica - EESC-USP SEL-0415 Introdução à Organização de Computadores Memórias Parte 1 Aula 4 Prof. Dr. Marcelo Andrade da Costa Vieira Memória Semicondutora Elemento Básico

Leia mais

DISPLAY LCD. Ilton L. Barbacena Claudio Afonso Fleury

DISPLAY LCD. Ilton L. Barbacena Claudio Afonso Fleury DIPLAY LCD Ilton L. Barbacena Claudio Afonso Fleury Outubro - 1996 01. INTRODUÇÃO Os módulos LCD são interfaces de saída muito útil em sistemas microprocessados. Estes módulos podem ser gráficos e a caracter.

Leia mais

Programação ao nível da máquina. Operações lógicas e aritméticas

Programação ao nível da máquina. Operações lógicas e aritméticas Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic

Leia mais

Instrumentação Suportada em Computadores Pessoais

Instrumentação Suportada em Computadores Pessoais Instrumentação Suportada em Computadores Pessoais A. Lopes Ribeiro arturlr@ist.utl.pt 1 2 Objectivos Formar estudantes com capacidade de intervir ao nível de projecto e implementação de sistemas automáticos

Leia mais

12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM)

12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM) Instituto Federal de Santa Catarina Área de Telecomunicações SST20707 Síntese de Sistemas de Telecomunicações Prof. Roberto de Matos Aviso de direitos Autorais: Transparências baseadas no trabalho do Prof.

Leia mais

ção de Computadores I

ção de Computadores I Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores I Aula 4 1. Projeto da Arquitetura

Leia mais

2ª Lista de Exercícios de Arquitetura de Computadores

2ª Lista de Exercícios de Arquitetura de Computadores 2ª Lista de Exercícios de Arquitetura de Computadores Questões 1. Um microprocessador realiza uma sondagem periódica (polling) junto a um módulo de E/S a cada 0,5 ms. Cada sondagem em si gasta 500 ciclos.

Leia mais

PROJETO CONTROLE DE ACESSO Á AMBIENTES BASEADO EM I-BUTTON

PROJETO CONTROLE DE ACESSO Á AMBIENTES BASEADO EM I-BUTTON UnicenP Centro Universitário Positivo Núcleo de Ciências Exatas e Tecnológicas Curso de Engenharia da Computação PROJETO CONTROLE DE ACESSO Á AMBIENTES BASEADO EM I-BUTTON Autor: Fernando Bomfim Boszczowski

Leia mais

ção de Computadores II

ção de Computadores II Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2 2. MIPS monociclo:

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br Conceito final será constituído de duas avaliações: 1ª Conceito avaliação teórica 2ª Conceito

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 19 Barramentos: Estruturas de Interconexão Rodrigo Hausen 14 de outubro de 2011 http://cuco.pro.br/ach2034 1/40 Apresentação 1. Bases Teóricas 2. Organização de computadores

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Circuitos Lógicos Sequenciais (Parte

Leia mais

Partilha de Recursos. Através da Plataforma DropBox

Partilha de Recursos. Através da Plataforma DropBox Partilha de Recursos Através da Plataforma DropBox Autor: Fernando Rui Campos Licenciamento: Attribution-Noncommercial-No Derivative Works 2.5 Portugal Versão 1.0 9 Janeiro 2011 Página 1 de 10 Introdução

Leia mais

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos

Sistemas Embebidos I , Tiago Miguel Dias ADEETC - Secção de Arquitecturas e Sistemas Operativos Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia Informática e de Computadores

Leia mais

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS Capítulo 15 do livro-texto, págs. 309 a 330 Impressora Scanner Monitor Flop Disk Modem Floppy drive "CPU" HD CD ROM Teclado Mouse Dispositivos

Leia mais

Introdução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16

Introdução aos Computadores Introdução à Ciência de Computadores Outubro 2011 1 / 16 Introdução aos Computadores Introdução à Ciência de Computadores Nelma Moreira Departamento de Ciência de Computadores da FCUP Outubro 2011 Introdução aos Computadores Introdução à Ciência de Computadores

Leia mais

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico

Leia mais

Capítulo 2 Operadores. A função scanf()

Capítulo 2 Operadores. A função scanf() Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(

Leia mais

Engenharia Electrotécnica/ Engenharia Informática Microprocessadores e Aplicações

Engenharia Electrotécnica/ Engenharia Informática Microprocessadores e Aplicações Conversão de Binário para BCD A conversão de um número binário para BCD depende do valor a ser convertido: caso a: 0 a 99 (2 algarismos BCD) caso b: 0 a 255 (1 byte) caso c: 0 a 999 (3 algarismos BCD)

Leia mais

Gestão de memória - Memory Management Unit (MMU)

Gestão de memória - Memory Management Unit (MMU) Gestão de memória - Memory Management Unit (MMU) A distinção entre espaço de edereçamento virtual e espaço de endereçamento físico é fundamental na eficiente gestão do recurso memória física (RAM) por

Leia mais

Organização e Arquitetura de Computadores. Leslier S. Corrêa

Organização e Arquitetura de Computadores. Leslier S. Corrêa Organização e Arquitetura de Computadores Leslier S. Corrêa O nome refere-se ao matemático John Von Neumann, que foi considerado o criador dos computadores da forma como são projetados até hoje. Entretanto,

Leia mais

ARITMÉTICA BINÁRIA. Adão de Melo Neto

ARITMÉTICA BINÁRIA. Adão de Melo Neto ARITMÉTICA BINÁRIA Adão de Melo Neto 1 Sumário Adição Multiplicação Subtração Divisão Complemento de 1 Complemento de 2 Representação de um número com sinal Sinal magnitude Complemento de 2 Valor em decimal

Leia mais

Sistemas Embarcados:

Sistemas Embarcados: Sistemas Embarcados: Microcontroladores Prof. Protásio Laboratório de Microengenharia/DEE/CEAR/UFPB Programação Assembly 8051 Programação Assembly Ferramentas de simulação MCU 8051 IDE v1.4.7 An open source

Leia mais

Arquitectura de Computadores. Dicas e Truques do Assembly do P3

Arquitectura de Computadores. Dicas e Truques do Assembly do P3 Instituto Superior Técnico Arquitectura de Computadores Dicas e Truques do Assembly do P3 Prof. Renato Nunes Versão 2.0 03/03/2008 1. Introdução Este documento contém vários pedaços de código, instruções

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais Introdução aos Sistemas Operacionais Eleri Cardozo FEEC/Unicamp 1 Definição de Sistema Operacional Um sistema operacional é um gerenciador de recursos de hardware ou uma máquina virtual que oferece uma

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM Cap1.1 ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM 1. Conceitos básicos Bit = BInary digit = vale sempre 0 ou 1 elemento básico de informação Byte Word = 8 bits processados em paralelo (ao

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Introdução ao Hardware Informática Básica e Aplicada PROFESSOR: DANIEL BRANDÃO

Introdução ao Hardware Informática Básica e Aplicada PROFESSOR: DANIEL BRANDÃO Introdução ao Hardware Informática Básica e Aplicada PROFESSOR: DANIEL BRANDÃO 1 Quem sou eu? Daniel Brandão Graduado em Sistemas para Internet Especialista em Tecnologia Para Aplicações Web Desenvolvedor

Leia mais

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 2º Teste - 03/07/2008

Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 2º Teste - 03/07/2008 Arquitectura de Computadores 2007/2008 2º Semestre Repescagem 2º Teste - 03/07/2008 INSTRUÇÕES: - A duração da prova é de 1,5 horas. - Responda apenas nos locais indicados. - Identifique todas as folhas

Leia mais

Portos de Entrada/Saída

Portos de Entrada/Saída MICROPROCESSADORES Eng.ª Electrotécnica 2º Trabalho de Laboratório Portos de Entrada/Saída Ano lectivo 2005/2006 Ana Antunes 1- Objectivo Utilizar os portos de E/S (entrada/saída) de um microcontrolador

Leia mais

Comércio e Manutenção de Produtos Eletrônicos. Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM. Versão 1.

Comércio e Manutenção de Produtos Eletrônicos. Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM. Versão 1. Comércio e Manutenção de Produtos Eletrônicos Manual CP-WS1 Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM PROXSYS Versão 1.4 Setembro -2015 Controlador Industrial CP-WS1

Leia mais

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. EA869 Pipeline Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Objetivos Conhecer técnicas de como melhorar o desempenho de um processador.

Leia mais

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE

Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Arquitectura de Computadores RECUPERAÇÃO DO 1º TESTE Ano Lectivo: 200/2009 Data: 6 de Janeiro de 2006 INFORMAÇÕES GERAIS Duração: 2h00 1. Mantenha na secretária apenas a sua identificação e uma caneta

Leia mais