Microcontroladores (µcs) e microprocessadores (µps) A família 80C51. 80C51: Arquitectura do núcleo de base. Os µcs da família 80C51
|
|
- Letícia de Barros de Carvalho
- 6 Há anos
- Visualizações:
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 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 maisMicroprocessadores 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 maisEXERCÍ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 maisConjunto 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 maisMICROCONTROLADORES 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
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 maisPROJETOS 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 maisAplicaçõ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 maisComunicaçã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 maisSEMINÁ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 maisMicrocontrolador 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 maisEEC2104 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 maisCEFET-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 maisEXPERIÊ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 maisCPU. 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 maisLaborató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 maisMicrocontroladores 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 maisA 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 maisOprojeto 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 maisLABORATÓ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 maisAcetatos 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 maisProf. 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 mais1345 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 maisParte 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 maisMicroprocessadores 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 maisUSJT 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 maisA 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 maisArquitectura 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 maisSISTEMAS 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 maisNo. 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 maisUNIVERSIDADE 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 maisSISTEMAS 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 maisLista 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 maisOrganizaçã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 maisMICRO 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 maisDisciplina: 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 maisControlador 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 maisMemó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 maisProgramador/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 maisAplicaçõ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 mais4.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 maisEPAC 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 maisProfessor: 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 maisIntroduçã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 maisEstrutura 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 maisConjunto 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 maisLaborató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 maisLista 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 maisInstruçõ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 maisOs 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 maisFuncionamento 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 maisULA 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 maisInterrupçõ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 maisA 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 maisAssembly 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 mais10. 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 maisArquitetura 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 maisAntó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 mais8051 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 maisMICROPROCESSADORES 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 maisIntroduçã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 maisWilliam 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 maisProfessor: 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 maisAMBIENTE 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 maisArquitetura 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 maisMemó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 maisDISPLAY 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 maisProgramaçã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 maisInstrumentaçã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 mais12/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
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 mais2ª 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 maisPROJETO 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
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 mais4. 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 maisMicrocontroladores. 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 maisOrganizaçã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 maisOrganizaçã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 maisPartilha 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 maisSistemas 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 maisLABORATÓ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 maisIntroduçã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 maisSistemas 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 maisCapí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 maisEngenharia 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 maisGestã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 maisOrganizaçã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 maisARITMÉ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 maisSistemas 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 maisArquitectura 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 maisIntroduçã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 maisTó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 maisORGANIZAÇÃ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 maisAlgoritmos 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 maisIntroduçã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 maisArquitectura 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 maisPortos 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 maisComé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 maisEA869 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 maisArquitectura 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