Pesquisar neste blog

30/09/2019

Somador, subtrator, divisor e multiplicador no Logisim



Circuito de um microprocessador e seus comandos com mmemônico

CPU de uma ULA no Logisim 2.7














CI_Ula_Nova


















CPU_Ev2




















































Créditos para o professor Giuliano - IFMT - Microprocessadores

Clique aqui para fazer o download do arquivo feito no Logism

Palavras chave:

Adder, subtractor, divisor and multiplier in Logisim
Opteller, aftrekker, verdeler en vermenigvuldiger in Logisim
Bộ cộng, phép trừ, số chia và số nhân trong Logisim
Логисим дахь холбогч, хасагч, хуваагч ба үржүүлэгч
ตัวบวก, ตัวหาร, ตัวหารและตัวคูณใน Logisim
Adder, subtraherare, divisor och multiplikator i Logisim
Logisim'de toplayıcı, çıkartıcı, bölen ve çarpan
Sommatore, sottrattore, divisore e moltiplicatore in Logisim
Adder, изваждане, делител и умножител в Logisim

16/09/2019

Divisão binária no Logisim

Objetivo:
Fazer um circuito de divisão binária, onde para fazer a divisão é subtraído n vezes o divisor até chegar no resultado. Se n vezes subtraído e o resto = 0 então divisão binária OK.
Divisão no Logisim 2.7


10/09/2019

Importar um arquivo txt e transferir para um ArrayList em Java

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lexica;
import java.io.*;
import java.util.ArrayList;
/**
 *
 * @author HENRIQUE
 */
public class Main1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws FileNotFoundException{
     
        FileReader arquivo = new FileReader("C:\\Users\\HENRIQUE\\Desktop\\lexico.txt");
        BufferedReader learq = new BufferedReader(arquivo);
     
        ArrayList<String> linhas = new ArrayList<>();
        ArrayList<String[]> palavras = new ArrayList<>();
        try{
            String linha = learq.readLine();
            while (linha != null){
                linhas.add(linha);
                linha = learq.readLine();
             
            }
        }catch (IOException e){
            System.out.println(e.getMessage());
        }
        for(String s : linhas){
            palavras.add(s.split(" "));//melhor para visualizar a impressão
            //palavras.add(s.split(""));//ou se preferir
        }
        for(int i= 0; i < palavras.size(); i++){
            for(int j= 0; j< palavras.get(i).length; j++){
                if(!palavras.get(i)[j].trim().isEmpty()){
                    System.out.println(palavras.get(i)[j]);
                }
            }
        }
        System.out.println("____//___");
    }
}

07/09/2019

Gramática no emulador Gals


Gerador de análise Léxica e Sintática no Gals
gramatica no Gals


Exemplo de fatorial no Gals

Saída do analisador


Clique aqui para fazer o download do arquivo feito no Gals

Palavras chave:

Generator Analisis Leksikal lan Sintaktis
Генератор лексического и синтаксического анализа Галса
Генератор лексико-синтаксичного аналізу Галса
מחולל ניתוחים לקסיקליים ותחביריים
Generatore di analisi lessicale e sintattica di Gals
Gals Gineadóir Anailíse Lexical agus Syntactic
Gals Lexikální a syntaktická generátorová analýza
የጌዝስ ሌክሲካል እና የሕዋሳዊ ትንታኔ ጄኔሬተር።
Gals Lexical at Syntactic Analysis Generator
加爾斯詞彙和句法分析生成器

04/09/2019

Fluxo de dados

Fluxo de dados no Logisim 2.7




























Palavras chave:

Logisim data flow
זרימת נתונים של לוגיסים
Ροή δεδομένων Logisim
Data est in fluxus Logisim
Logisim data diherike
Потік даних Logisim
Логисим поток данных
Aliran data logisim

02/09/2019

Registradores via barramento

Esta é uma atividade sobre interligação e operação inter-registradores via barramento (DCE).

Objetivo: Fazer operações posteriormente através de leitura de dados por  entrada, troca de dados inter-registradores e escrever dados dos registradores.



























Palavras chave:

बस रेकॉर्डर
Registratori di autobus
Bussinspelare
बस रेकर्डरहरू
د بس ریکارډر
Rikodin bas
Rikodin bas
公交車記錄儀
Linja-autojen nauhurit
Zolemba mabasi
Máy ghi âm xe buýt
Busopnemers

27/08/2019

Registrador de deslocamento 8 bits

CIRCUITO TRANSMISSÃO DE DADOS SERIAL/PARALELO POR DESLOCAMENTO

Objetivo:
Pegar os dados de R0 para RTX em paralelo, depois transferir para RRX em série e transferir em paralelo para R1.
Registrador de deslocamento no Logisim 2.7



























Clique aqui para fazer o download do arquivo feito no Logisim

Créditos para o aluno "João Vitor do IFMT - Instituto Federal de Mato Grosso"

Palavras chave:

SERIAL / PARALLEL DATA TRANSMISSION CIRCUIT
CIRCUITO DE TRANSMISIÓN DE DATOS SERIE / PARALELO
अनुभवात्मक / पार्सल डेटा ट्रान्समिशन सर्कीट
IṣẸ / PARALLEL DATA TRANSMISSION CIRCUIT
SERIES / PARALLEL DATA TRANSMISJONSCIRCUIT
串行/并行数据传输电路
CIRCUIT SERAT / PARALLEL DATA TRANSMISSION
OBVOD SERIAL / PARALLEL DATA
SERIEN / PARALLEL DATA TRANSMISSJONSKRING
SERIALK / PARALLEL DATYARAN KIRANGIRTIN
SERIEN / PARALLEL DATA TRANSMISSION CIRCUIT
СЕРІЙНИЙ / ПАРАЛЕЛЬНИЙ ПРОДАЖ ДЛЯ ДАНИХ

09/08/2019

GALS

Gals " Gerador de Analisadores Léxicos e Síntáticos "
Emulador Gals


























Saída executada
Saída executada ex1


























Exemplo no emulador GALS













01/08/2019

Ler arquivo em java

Objetivo: Ler um arquivo em Linguagem Java e transferir os dados do arquivo para um vetor:


import conceito.VetorObjetos;
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Aplicacao1 {

    public static void main(String[] args) throws IOException{
             
        String nomeArquivo = null;
        String nomeArquivoCompleto = "C:\\Users\\HENRIQUE\\Documents\\texto.txt";
        nomeArquivo = nomeArquivoCompleto;

        FileInputStream fin = null;
        BufferedReader in = null;
        String linha = null;
        int qtddLinhas = 0;

        String[] contatos = new String[qtddLinhas];
        VetorObjetos vet = new VetorObjetos(qtddLinhas);
        ArrayList list = new ArrayList();
     
        try {
            fin = new FileInputStream(nomeArquivo);
            in = new BufferedReader(new InputStreamReader(fin));

            while (in.ready()) {
                linha = in.readLine();

                if (linha == null) {
                    break;
                }
                list.add(linha);//adicionando os dados na lista
                linha = linha.trim();

                if (linha.length() != 0) {
                    System.out.println(linha);//imprimindo o arquivo
                    qtddLinhas++;
                }
            }
            for(int i=0; i<qtddLinhas-1; i++){
                System.out.print(" "+list.get(i));
            }
         
            System.out.println("\nQuantidade de linhas = " + qtddLinhas);
            in.close();
        } catch (FileNotFoundException e) {
            System.out.println("Arquivo não encontrado ...");
            System.exit(1);
        }

    }
}

13/07/2019

Threads usando com Java

Crie um semáforo (sinal de trânsito) usando Threads. O semáforo deve ficar verde por x segundos, depois brevemente amarelo seguido de y segundos na cor vermelha.

Resolução:
Enun CorSemafaro
/**
 *
 * @author HENRIQUE
 */
public enum CorSemafaro {
    //VERDE, AMARELO, VERMELHO;
 
    //opcional
    VERDE(1000), AMARELO(300), VERMELHO(2000);//
    private int tempoEspera;//

    private CorSemafaro(int tempoEspera) {//
        this.tempoEspera = tempoEspera;//
    }
    public int getTempoEspera() {//
        return tempoEspera;//
    }
}

Classe ThreadSemaforo

public class ThreadSemaforo implements Runnable{
    private CorSemafaro cor;
    private boolean parar;
    private boolean corMudou;
 
    public ThreadSemaforo() {
        this.cor = CorSemafaro.VERMELHO;//inicia com vermelho
        this.parar = false;
        this.corMudou = false;
        new Thread(this).start();//executa o metodo run
    }

    @Override
    public void run() {
        while(!parar){
            try{
                /*
                switch (this.cor){
                    case VERMELHO: Thread.sleep(2000);break;
                    case AMARELO: Thread.sleep(300);break;
                    case VERDE: Thread.sleep(1000);break;
                    default:
                        break;
                */
                Thread.sleep(this.cor.getTempoEspera());//opcional
                this.mudarCor();
            }catch(InterruptedException e){
                e.printStackTrace();
            }
        }
    }
    private synchronized void mudarCor(){
        switch (this.cor){
            case VERMELHO:
                this.cor = CorSemafaro.VERDE; break;
            case AMARELO: this.cor = CorSemafaro.VERMELHO; break;
            case VERDE: this.cor = CorSemafaro.AMARELO; break;
         
            default:
                break;
        }
        this.corMudou = true;
        notify();//notifica a thread estiver esperando
    }
 
    public synchronized void esperaCorMudar(){
        while(!this.corMudou){
            try{
                wait();
            }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
        this.corMudou = false;
    }
 
    public synchronized void deligarSemafaro(){
        this.parar = true;
    }
 
    public CorSemafaro getCor() {
        return cor;
    }

    public boolean isParar() {
        return parar;
    }
 
}

Classe principal

public class Aplicacao1 {
    public static void main(String[] args) {
        ThreadSemaforo semafaro = new ThreadSemaforo();
     
        for(int i= 0; i< 10; i++){
            System.out.println(semafaro.getCor());
            semafaro.esperaCorMudar();
        }
    }
}

12/07/2019

Deadlock usando Thread com Java

Crie um semáforo (sinal de trânsito) usando Threads. O semáforo deve ficar verde por x segundos, depois brevemente amarelo seguido de y segundos na cor vermelha.

Resolução:

Classe ThreadSemafaro

import com.sun.swing.internal.plaf.synth.resources.synth;
public class ThreadSemafaro implements Runnable {

private CorSemafaro cor;
private boolean parar;
private boolean corMudou;

public ThreadSemafaro(){
this.cor = CorSemafaro.VERMELHO;//iniciando com a cor vermelha

this.parar = false;
this.corMudou = false;

new Thread(this).start();
}

@Override
public void run() {

while(!parar){
try {
/*switch (this.cor) {
case VERMELHO:
Thread.sleep(2000);
break;
case AMARELO:
Thread.sleep(300);
break;
case VERDE:
Thread.sleep(1000);
break;
default:
break;
}*/
Thread.sleep(this.cor.getTempoEspera());
this.mudarCor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

private synchronized void mudarCor(){
switch (this.cor) {
case VERMELHO:
this.cor = CorSemafaro.VERDE;
break;
case AMARELO:
this.cor = CorSemafaro.VERMELHO;
break;
case VERDE:
this.cor = CorSemafaro.AMARELO;
break;
default:
break;
}
this.corMudou = true;
notify();
}

public synchronized void esperaCorMudar(){
while(!this.corMudou){
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
this.corMudou = false;
}

public synchronized void desligarSemafaro(){
this.parar = true;
}

public CorSemafaro getCor() {
return cor;
}
}

Enun CorSemaforo

public enum CorSemafaro {
    VERDE(1000), AMARELO(300), VERMELHO(2000);
 
    private int tempoEspera;
    CorSemafaro(int tempoEspera){
        this.tempoEspera = tempoEspera;
    }
    public int getTempoEspera(){
        return tempoEspera;
    }
}

Método principal

public class Principal1 {

    public static void main(String[] args) {
ThreadSemafaro semafaro = new ThreadSemafaro();

for (int i=0; i<10; i++){
            System.out.println(semafaro.getCor());
            semafaro.esperaCorMudar();
           }
semafaro.desligarSemafaro();
    }
}

04/07/2019

Somador e subtrator completo 7483

Circuito somador e subtrator completo 74LS83
Somador e subtrator completo


































Somador e subtrator completo


















Clique aqui para fazer o download do arquivo feito no Logisim 2.7

Todo crédito desta postagem é para Deus e nosso salvador Jesus Cristo.

Palavras chave:

Complete subtractor and adder circuit
Hoàn thành trừ và mạch cộng
Voltooi subtractor en adder stroombaan
完整的減法器和加法器電路
Hoʻopiha i nā mea unuhi a me nā kaapuni hou
Поўная схема вымання і сумматара
Kompleto nga subtractor ug adder circuit
Kompletan sklop za oduzimanje i zbrajanje
Atupẹṣẹ ti pari ati adiye adder
Heill undirdráttur og adder hringrás
Msaada kamili na mzunguko wa nyongeza
Gcwalisa i-subtractor kunye neesekethe

03/07/2019

Somador Completo

Somador completo


Clique aqui para fazer o download do arquivo feito no Logisim 2.7

Todo crédito deste site é para Deus e nosso salvador Jesus Cristo.

Palavras chave:
Full Adder
Voller Addierer
Volle Adder
الأفعى الكامل
Adder complet
全加器
전체 가산기
Täydellinen täyttäjä
Complet Complet
מלא
Adder Lengkap
Pełny dodatek
Полный сумматор
Tam Toplayıcı