Programlama Sitesi Hazır Program | C++ Builder Java C/C++ Php .Net

Anasayfa Programlama C++ Builder Seri Çarpma Devresi ve Simülasyonu


Seri Çarpma Devresi ve Simülasyonu

AÇIKLAMA

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.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt

Program Kodu:

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Unit1.h"
  6. #include "kaydir.cpp"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm1 *Form1;
  11.  
  12. int dur=0;
  13. int interv;
  14.  
  15. //---------------------------------------------------------------------------
  16. __fastcall TForm1::TForm1(TComponent* Owner)
  17.         : TForm(Owner)
  18. {
  19.  
  20. }
  21. //---------------------------------------------------------------------------
  22.  
  23. void __fastcall TForm1::Button1Click(TObject *Sender)
  24. {
  25. seri_carpma.Initialize1();
  26.  
  27. Timer1->Enabled=false;
  28.  
  29. LabelInitialize_1(Label1);
  30.  
  31. if(Bin->Checked==true)
  32. seri_carpma.BinToArray(Edit1->Text.Length(), Edit2->Text.Length(), Edit1->Text, Edit2->Text);
  33.  
  34. else
  35. seri_carpma.DecToArray(Edit1->Text, Edit2->Text);
  36.  
  37. Label_SayiGirdi(Label1);
  38.  
  39. seri_carpma.NewInitialize();
  40.  
  41. PulseCiz(Label1);
  42.  
  43. Button_Initialize(Button2);
  44. }
  45. //---------------------------------------------------------------------------
  46.  
  47. void __fastcall TForm1::Button2Click(TObject *Sender)
  48. {
  49. seri_carpma.Initialize2();
  50.  
  51. LabelInitialize_2(Label3);
  52.  
  53. Timer1->Enabled=true;
  54.  
  55. seri_carpma.analitik_cizgi(Canvas);
  56.  
  57. seri_carpma.andlogic();
  58.  
  59. seri_carpma.analitik_ilk_satir(Canvas);
  60.  
  61. seri_carpma.adder();
  62.  
  63. seri_carpma.analitik_diger_satirlar(Canvas);
  64.  
  65. seri_carpma.last_Initialize();
  66.  
  67. ButtonInitialize_2(Button2);
  68.  
  69. }
  70. //---------------------------------------------------------------------------
  71. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  72. {
  73. Kaydir_ToAnd(Label4);
  74.  
  75. Kaydir_ToAdder(Label4);
  76.  
  77. Kaydir_ToAcc(Adder);
  78.  
  79. Kaydir_ToMult(Label8);
  80. }
  81. //---------------------------------------------------------------------------
  82.  
  83. void __fastcall TForm1::Image3Click(TObject *Sender)
  84. {
  85. if(dur%2==0)
  86. Timer1->Enabled=false;
  87. else
  88. Timer1->Enabled=true;
  89. dur++;
  90. }
  91. //---------------------------------------------------------------------------
  92.  
  93. void __fastcall TForm1::Image4Click(TObject *Sender)
  94. {
  95. interv++;
  96. Timer1->Interval=50+interv*7;
  97. }
  98. //---------------------------------------------------------------------------
  99.  
  100. void __fastcall TForm1::Image5Click(TObject *Sender)
  101. {
  102. if(interv==-7)
  103. interv=-7;
  104. else
  105. interv--;
  106. Timer1->Interval=50+interv*7;
  107. }
  108. //---------------------------------------------------------------------------
  109.  
  110. void __fastcall TForm1::Image2Click(TObject *Sender)
  111. {
  112. Image6->Visible=true;       
  113. }
  114. //---------------------------------------------------------------------------
  115.  
  116. void __fastcall TForm1::Image6Click(TObject *Sender)
  117. {
  118. Image6->Visible=false;
  119. }
  120. //---------------------------------------------------------------------------
  121.  

Bunun Haricinde:

Buttons.cpp

Kaydır.cpp

MyStackImp.cpp

OnayImp.cpp

dosyalarında da kodlar yazılmıştır.Proje klasorü içinden incelenebilir.

 

 

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Perşembe, 07 Nisan 2011 20:39 )  

Kimler Çevrimiçi

Yok