IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   C ve C++ (https://www.ircforumlari.net/c-ve-c/)
-   -   Seri Çarpma Devresi ve Simülasyonu (https://www.ircforumlari.net/c-ve-c/600410-seri-carpma-devresi-ve-simulasyonu.html)

Swat 11 Temmuz 2014 10:22

Seri Çarpma Devresi ve Simülasyonu
 
C++ Builder 5 projesidir.

Seri çarpma devresiyle binary ve decimal sayıların nasıl çarpıldığını simülasyon ile gösterir. Çarpmak istediğimiz sayılar Input ve Multiplier register'lara yerleştirilir.Input Reg. ile Multiplier Reg.'in son bit AND'lenir. Sonuç ile Acc. Reg. Adder Unit'te toplanır ve Acc. Reg'a kaydırılır. Sağdan taşan bit Mult. Reg.'in başına kaydırılır. Sonuç Accumulator Reg.dan Multiplier Reg.'a doğru okunur.

Kod:

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "kaydir.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
int dur=0;
int interv;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
seri_carpma.Initialize1();
 
Timer1->Enabled=false;
 
LabelInitialize_1(Label1);
 
if(Bin->Checked==true)
seri_carpma.BinToArray(Edit1->Text.Length(), Edit2->Text.Length(), Edit1->Text, Edit2->Text);
 
else
seri_carpma.DecToArray(Edit1->Text, Edit2->Text);
 
Label_SayiGirdi(Label1);
 
seri_carpma.NewInitialize();
 
PulseCiz(Label1);
 
Button_Initialize(Button2);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
seri_carpma.Initialize2();
 
LabelInitialize_2(Label3);
 
Timer1->Enabled=true;
 
seri_carpma.analitik_cizgi(Canvas);
 
seri_carpma.andlogic();
 
seri_carpma.analitik_ilk_satir(Canvas);
 
seri_carpma.adder();
 
seri_carpma.analitik_diger_satirlar(Canvas);
 
seri_carpma.last_Initialize();
 
ButtonInitialize_2(Button2);
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Kaydir_ToAnd(Label4);
 
Kaydir_ToAdder(Label4);
 
Kaydir_ToAcc(Adder);
 
Kaydir_ToMult(Label8);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Image3Click(TObject *Sender)
{
if(dur%2==0)
Timer1->Enabled=false;
else
Timer1->Enabled=true;
dur++;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Image4Click(TObject *Sender)
{
interv++;
Timer1->Interval=50+interv*7;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Image5Click(TObject *Sender)
{
if(interv==-7)
interv=-7;
else
interv--;
Timer1->Interval=50+interv*7;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Image2Click(TObject *Sender)
{
Image6->Visible=true;     
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Image6Click(TObject *Sender)
{
Image6->Visible=false;
}
//---------------------------------------------------------------------------



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 03:55.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk