Project state from simon

master
Mike Schwörer 5 years ago
parent 6587f1bfde
commit fd747d6c87
Signed by: Mikescher
GPG Key ID: D3C7172E0A70F8CF
  1. BIN
      PIC_Sim_Hardware/PIC_SIM.exe
  2. BIN
      PIC_Sim_Hardware/PIC_VIEW.pdf
  3. BIN
      PIC_Sim_Hardware/PicViewDoc.pdf
  4. 22
      PIC_Simulator.sln
  5. 6
      PIC_Simulator/App.config
  6. 13
      PIC_Simulator/Befehlssatz.cs
  7. 68
      PIC_Simulator/Einlesen.cs
  8. 372
      PIC_Simulator/Form1.Designer.cs
  9. 173
      PIC_Simulator/Form1.cs
  10. 132
      PIC_Simulator/Form1.resx
  11. 85
      PIC_Simulator/PIC_Simulator.csproj
  12. 27
      PIC_Simulator/Program.cs
  13. 36
      PIC_Simulator/Properties/AssemblyInfo.cs
  14. 71
      PIC_Simulator/Properties/Resources.Designer.cs
  15. 117
      PIC_Simulator/Properties/Resources.resx
  16. 30
      PIC_Simulator/Properties/Settings.Designer.cs
  17. 7
      PIC_Simulator/Properties/Settings.settings
  18. 357
      PIC_Simulator/Register.cs
  19. BIN
      Projektinformationen/Auswertungstabelle_Simulator_2016.pdf
  20. BIN
      Projektinformationen/DataSheet.pdf
  21. BIN
      Projektinformationen/Datenblatt.pdf
  22. BIN
      Projektinformationen/Lastenheft.docx
  23. 0
      Projektinformationen/Neues Textdokument.txt
  24. 43
      Projektinformationen/PIC Commands.txt
  25. BIN
      Projektinformationen/Projekt_Simulator.pdf
  26. 35
      TPicSim Testprogramme/TPicSim1.LST
  27. 33
      TPicSim Testprogramme/TPicSim1.src
  28. 314
      TPicSim Testprogramme/TPicSim10.LST
  29. 312
      TPicSim Testprogramme/TPicSim10.src
  30. 50
      TPicSim Testprogramme/TPicSim11.LST
  31. 48
      TPicSim Testprogramme/TPicSim11.src
  32. 78
      TPicSim Testprogramme/TPicSim12.LST
  33. 76
      TPicSim Testprogramme/TPicSim12.src
  34. 78
      TPicSim Testprogramme/TPicSim13.LST
  35. 41
      TPicSim Testprogramme/TPicSim2.LST
  36. 64
      TPicSim Testprogramme/TPicSim3.LST
  37. 80
      TPicSim Testprogramme/TPicSim4.LST
  38. 50
      TPicSim Testprogramme/TPicSim5.LST
  39. 95
      TPicSim Testprogramme/TPicSim6.LST
  40. 83
      TPicSim Testprogramme/TPicSim7.LST
  41. 116
      TPicSim Testprogramme/TPicSim8.LST
  42. 40
      TPicSim Testprogramme/TPicSim9.LST
  43. 46
      TPicSim Testprogramme/Uebersicht.txt

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26228.12
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PIC_Simulator", "PIC_Simulator\PIC_Simulator.csproj", "{61AE0011-89B1-46B3-B2EA-E0949BD27605}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{61AE0011-89B1-46B3-B2EA-E0949BD27605}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61AE0011-89B1-46B3-B2EA-E0949BD27605}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61AE0011-89B1-46B3-B2EA-E0949BD27605}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61AE0011-89B1-46B3-B2EA-E0949BD27605}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PIC_Simulator
{
class Befehlssatz
{
}
}

@ -0,0 +1,68 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace PIC_Simulator
{
public class Einlesen
{
//Globale Variablen der Klasse:
public int LengthArray = 0;
public string[] result;
public int writeToArray(StreamReader sr)
{
// StreamReader jede Zeile in Listenelement schreiben
var list = new List<string>();
string line;
while ((line = sr.ReadLine()) != null)
{ if (!line.StartsWith(" ") )
{
list.Add(line);
}
}
//Schreiben der Listenelemente in String Array
result = list.ToArray();
LengthArray = result.Length -1; //-1 Wegen Start des Arrays bei Index 0!
// MessageBox.Show("Zeilen des Programms:" + LengthArray );
//PCount Variable von Form1 holen und für readExec als Param nutzen
Form1 instForm1 = new Form1();
readExecCode(instForm1.PCounter);
return LengthArray;
}
//Ausführbarer Maschinencode aus Zeile des Arrays herausschneiden
public void readExecCode(int index) {
try
{
result[index] = result[index].Substring(5, 4);
// MessageBox.Show(result[index]);
execCode(index);
}
catch { }
}
public string execCode(int index) {
// MessageBox.Show("Index der Row welche ausgeführt werden soll" + index);
MessageBox.Show("Code der ausgeführt werden soll" + result[index]);
Register Ausführen = new Register();
Ausführen.findOrder(result[index].ToString());
return result[index];
// Hier ist der Start für die Befehlsausführung des PIC bzw. Übergabe an Befehlssatz
// Return übergibt Auszuführenden Code!!
}
}
}

@ -0,0 +1,372 @@
namespace PIC_Simulator
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("INDF");
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.box_CodeView = new System.Windows.Forms.RichTextBox();
this.lbl_path = new System.Windows.Forms.Label();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.cmd_Start = new System.Windows.Forms.Button();
this.cmd_next = new System.Windows.Forms.Button();
this.cmd_reset = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.cmdOpenFile = new System.Windows.Forms.ToolStripMenuItem();
this.programmÖffnenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.beendenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.hilfeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cmdOpenDoc = new System.Windows.Forms.ToolStripMenuItem();
this.label4 = new System.Windows.Forms.Label();
this.cmdSetClock = new System.Windows.Forms.Button();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.listView1 = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader8 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.cmd_Stop = new System.Windows.Forms.Button();
this.lbl_Timer = new System.Windows.Forms.Label();
this.insertTime = new System.Windows.Forms.TextBox();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.BackColor = System.Drawing.SystemColors.Control;
this.label1.Location = new System.Drawing.Point(39, 96);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(0, 17);
this.label1.TabIndex = 1;
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(11, 577);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(105, 17);
this.label2.TabIndex = 2;
this.label2.Text = "Programmpfad:";
//
// box_CodeView
//
this.box_CodeView.Location = new System.Drawing.Point(11, 95);
this.box_CodeView.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.box_CodeView.Name = "box_CodeView";
this.box_CodeView.Size = new System.Drawing.Size(833, 462);
this.box_CodeView.TabIndex = 3;
this.box_CodeView.Text = "";
this.box_CodeView.WordWrap = false;
//
// lbl_path
//
this.lbl_path.AutoSize = true;
this.lbl_path.Location = new System.Drawing.Point(116, 577);
this.lbl_path.Name = "lbl_path";
this.lbl_path.Size = new System.Drawing.Size(0, 17);
this.lbl_path.TabIndex = 4;
//
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// cmd_Start
//
this.cmd_Start.Location = new System.Drawing.Point(15, 36);
this.cmd_Start.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.cmd_Start.Name = "cmd_Start";
this.cmd_Start.Size = new System.Drawing.Size(67, 28);
this.cmd_Start.TabIndex = 5;
this.cmd_Start.Text = "Start";
this.cmd_Start.UseVisualStyleBackColor = true;
this.cmd_Start.Click += new System.EventHandler(this.cmd_Start_Click);
//
// cmd_next
//
this.cmd_next.Location = new System.Drawing.Point(168, 38);
this.cmd_next.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.cmd_next.Name = "cmd_next";
this.cmd_next.Size = new System.Drawing.Size(67, 26);
this.cmd_next.TabIndex = 6;
this.cmd_next.Text = "Schritt";
this.cmd_next.UseVisualStyleBackColor = true;
this.cmd_next.Click += new System.EventHandler(this.cmd_next_Click);
//
// cmd_reset
//
this.cmd_reset.Location = new System.Drawing.Point(253, 38);
this.cmd_reset.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.cmd_reset.Name = "cmd_reset";
this.cmd_reset.Size = new System.Drawing.Size(67, 26);
this.cmd_reset.TabIndex = 7;
this.cmd_reset.Text = "Reset";
this.cmd_reset.UseVisualStyleBackColor = true;
this.cmd_reset.Click += new System.EventHandler(this.cmd_reset_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(331, 42);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(112, 17);
this.label3.TabIndex = 8;
this.label3.Text = "Programmzähler";
//
// menuStrip1
//
this.menuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.cmdOpenFile,
this.hilfeToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Padding = new System.Windows.Forms.Padding(5, 2, 0, 2);
this.menuStrip1.Size = new System.Drawing.Size(1397, 28);
this.menuStrip1.TabIndex = 9;
this.menuStrip1.Text = "menuStrip1";
//
// cmdOpenFile
//
this.cmdOpenFile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.programmÖffnenToolStripMenuItem,
this.beendenToolStripMenuItem});
this.cmdOpenFile.Name = "cmdOpenFile";
this.cmdOpenFile.Size = new System.Drawing.Size(57, 24);
this.cmdOpenFile.Text = "Datei";
//
// programmÖffnenToolStripMenuItem
//
this.programmÖffnenToolStripMenuItem.Name = "programmÖffnenToolStripMenuItem";
this.programmÖffnenToolStripMenuItem.Size = new System.Drawing.Size(201, 26);
this.programmÖffnenToolStripMenuItem.Text = "Programm öffnen";
this.programmÖffnenToolStripMenuItem.Click += new System.EventHandler(this.programmÖffnenToolStripMenuItem_Click);
//
// beendenToolStripMenuItem
//
this.beendenToolStripMenuItem.Name = "beendenToolStripMenuItem";
this.beendenToolStripMenuItem.Size = new System.Drawing.Size(201, 26);
this.beendenToolStripMenuItem.Text = "Beenden";
this.beendenToolStripMenuItem.Click += new System.EventHandler(this.beendenToolStripMenuItem_Click);
//
// hilfeToolStripMenuItem
//
this.hilfeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.cmdOpenDoc});
this.hilfeToolStripMenuItem.Name = "hilfeToolStripMenuItem";
this.hilfeToolStripMenuItem.Size = new System.Drawing.Size(53, 24);
this.hilfeToolStripMenuItem.Text = "Hilfe";
//
// cmdOpenDoc
//
this.cmdOpenDoc.Name = "cmdOpenDoc";
this.cmdOpenDoc.Size = new System.Drawing.Size(234, 26);
this.cmdOpenDoc.Text = "Dokumentation öffnen";
this.cmdOpenDoc.Click += new System.EventHandler(this.cmdOpenDoc_Click);
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(1038, 36);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(129, 17);
this.label4.TabIndex = 10;
this.label4.Text = "Quarzfrequenz in s";
//
// cmdSetClock
//
this.cmdSetClock.Location = new System.Drawing.Point(1273, 34);
this.cmdSetClock.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.cmdSetClock.Name = "cmdSetClock";
this.cmdSetClock.Size = new System.Drawing.Size(67, 24);
this.cmdSetClock.TabIndex = 11;
this.cmdSetClock.Text = "setzen";
this.cmdSetClock.UseVisualStyleBackColor = true;
this.cmdSetClock.Click += new System.EventHandler(this.cmdSetClock_Click);
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1,
this.columnHeader2,
this.columnHeader3,
this.columnHeader4,
this.columnHeader5,
this.columnHeader6,
this.columnHeader7,
this.columnHeader8});
this.listView1.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
listViewItem2});
this.listView1.Location = new System.Drawing.Point(906, 95);
this.listView1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(434, 350);
this.listView1.TabIndex = 14;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
//
// columnHeader1
//
this.columnHeader1.Text = "0";
//
// columnHeader2
//
this.columnHeader2.Text = "1";
//
// columnHeader3
//
this.columnHeader3.Text = "2";
//
// columnHeader4
//
this.columnHeader4.Text = "3";
//
// columnHeader5
//
this.columnHeader5.Text = "4";
//
// columnHeader6
//
this.columnHeader6.Text = "5";
this.columnHeader6.Width = 62;
//
// columnHeader7
//
this.columnHeader7.Text = "6";
//
// columnHeader8
//
this.columnHeader8.Text = "7";
//
// cmd_Stop
//
this.cmd_Stop.Location = new System.Drawing.Point(85, 37);
this.cmd_Stop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.cmd_Stop.Name = "cmd_Stop";
this.cmd_Stop.Size = new System.Drawing.Size(67, 27);
this.cmd_Stop.TabIndex = 15;
this.cmd_Stop.Text = "Stop";
this.cmd_Stop.UseVisualStyleBackColor = true;
this.cmd_Stop.Click += new System.EventHandler(this.cmd_Stop_Click);
//
// lbl_Timer
//
this.lbl_Timer.AutoSize = true;
this.lbl_Timer.Location = new System.Drawing.Point(940, 34);
this.lbl_Timer.Name = "lbl_Timer";
this.lbl_Timer.Size = new System.Drawing.Size(44, 17);
this.lbl_Timer.TabIndex = 16;
this.lbl_Timer.Text = "Timer";
//
// insertTime
//
this.insertTime.Location = new System.Drawing.Point(1192, 38);
this.insertTime.Name = "insertTime";
this.insertTime.Size = new System.Drawing.Size(61, 22);
this.insertTime.TabIndex = 17;
this.insertTime.Text = "100";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1397, 600);
this.Controls.Add(this.insertTime);
this.Controls.Add(this.lbl_Timer);
this.Controls.Add(this.cmd_Stop);
this.Controls.Add(this.listView1);
this.Controls.Add(this.cmdSetClock);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.cmd_reset);
this.Controls.Add(this.cmd_next);
this.Controls.Add(this.cmd_Start);
this.Controls.Add(this.lbl_path);
this.Controls.Add(this.box_CodeView);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.menuStrip1);
this.MainMenuStrip = this.menuStrip1;
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "PIC Simulator";
this.Load += new System.EventHandler(this.Form1_Load);
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.RichTextBox box_CodeView;
private System.Windows.Forms.Label lbl_path;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Button cmd_Start;
private System.Windows.Forms.Button cmd_next;
private System.Windows.Forms.Button cmd_reset;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem cmdOpenFile;
private System.Windows.Forms.ToolStripMenuItem programmÖffnenToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem hilfeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem cmdOpenDoc;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button cmdSetClock;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ColumnHeader columnHeader2;
private System.Windows.Forms.ColumnHeader columnHeader3;
private System.Windows.Forms.ColumnHeader columnHeader4;
private System.Windows.Forms.ColumnHeader columnHeader5;
private System.Windows.Forms.ColumnHeader columnHeader6;
private System.Windows.Forms.ColumnHeader columnHeader7;
private System.Windows.Forms.ColumnHeader columnHeader8;
private System.Windows.Forms.ToolStripMenuItem beendenToolStripMenuItem;
private System.Windows.Forms.Button cmd_Stop;
private System.Windows.Forms.Label lbl_Timer;
private System.Windows.Forms.TextBox insertTime;
}
}

@ -0,0 +1,173 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using PIC_Simulator;
namespace PIC_Simulator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Globale Variablen
public int ArrayLaenge =0;
public int PCounter = -1;
public int time;
public int timeIntervall;
Einlesen instEinlesen = new Einlesen();
private void label1_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
box_CodeView.Font = new Font("Consolas", 8);
timeIntervall = 1000;
}
private void cmd_Start_Click(object sender, EventArgs e)
{
timer1.Interval = timeIntervall; // 1 Sekunde
timer1.Enabled = true;
}
private void cmd_next_Click(object sender, EventArgs e)
{
// MessageBox.Show("Array laenge übergeben:" + ArrayLaenge);
if (PCounter == ArrayLaenge) { MessageBox.Show("Programm ist komplett durchlaufen!"); }
else {
PCounter = PCounter + 1;
try
{
//Zeilenmarkierung aufheben
highLightALine(box_CodeView, PCounter - 1, Color.White);
}
catch { }
//Counter im Label inkrementieren
int shownCounter = PCounter;
shownCounter++;
label3.Text = shownCounter.ToString();
}
//Aktuelle Zeile markieren
highLightALine(box_CodeView, PCounter, Color.Green);
instEinlesen.readExecCode(PCounter);
}
private int getPCounter() {
return PCounter;
}
private void programmÖffnenToolStripMenuItem_Click(object sender, EventArgs e)
{
// Datei über openFileDialog1 Auswählen und in Anzeige öffnen
FileStream fs;
StreamReader sr;
string zeile;
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
sr = new
StreamReader(openFileDialog1.FileName);
DialogResult = MessageBox.Show(sr.ReadToEnd(), "Programm Vorschau", MessageBoxButtons.OKCancel);
sr.Close();
// Abfrage von Ergebnis des Dialogs, wenn ja Datei laden
if (DialogResult == DialogResult.OK)
{
fs = new FileStream(openFileDialog1.FileName, FileMode.Open);
sr = new StreamReader(fs);
while (sr.Peek() != -1)
{
zeile = sr.ReadLine();
box_CodeView.Text += zeile + "\n";
}
sr.Close();
lbl_path.Text = openFileDialog1.FileName;
// StreamReader jede Zeile in Listenelement schreiben über Funktionsaufruf in der Klasse Einlesen
ArrayLaenge = instEinlesen.writeToArray(sr = new StreamReader(openFileDialog1.FileName));
}
}
}
private void cmdOpenDoc_Click(object sender, EventArgs e)
{
string path = Application.StartupPath;
MessageBox.Show( path);
System.Diagnostics.Process.Start(@"C:\Users\nicol\Desktop\Projekte\PIC_Simulator\Projektinformationen\DataSheet.pdf");
}
//Funktion um Zeile aktuell ausgeführte Zeile zu markieren
void highLightALine(RichTextBox rtb, int line, Color hiLight)
{
int i1 = rtb.GetFirstCharIndexFromLine(line);
int i2 = rtb.GetFirstCharIndexFromLine(line + 1);
if (i2 < 0) i2 = rtb.Text.Length;
rtb.SelectionStart = i1;
rtb.SelectionLength = i2 - i1;
rtb.SelectionBackColor = hiLight;
}
private void cmdSetClock_Click(object sender, EventArgs e)
{
timeIntervall = Convert.ToInt32(insertTime.Text);
}
private void cmd_reset_Click(object sender, EventArgs e)
{ //######################### Muss ergänzt und getestet werden !!!
// Hier müssen alle Werte wieder auf den Standard gesetzt werden!
highLightALine(box_CodeView, PCounter, Color.White);
PCounter = -1;
label3.Text = PCounter.ToString();
//######################### Muss ergänzt und getestet werden !!!
}
private void buildtbl_Register() {
}
private void beendenToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void timer1_Tick(object sender, EventArgs e)
{
Einlesen QuarzExec = new Einlesen();
PCounter = PCounter + 1;
label3.Text = PCounter.ToString();
}
private void cmd_Stop_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
}
}
}

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="box_CodeView.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>211, 17</value>
</metadata>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>367, 17</value>
</metadata>
</root>

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{61AE0011-89B1-46B3-B2EA-E0949BD27605}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>PIC_Simulator</RootNamespace>
<AssemblyName>PIC_Simulator</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Befehlssatz.cs" />
<Compile Include="Einlesen.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Register.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace PIC_Simulator
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("PIC_Simulator")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("PIC_Simulator")]
[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("61ae0011-89b1-46b3-b2ea-e0949bd27605")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion: 4.0.30319.42000
//
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
// der Code neu generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PIC_Simulator.Properties
{
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse
// über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PIC_Simulator.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace PIC_Simulator.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

@ -0,0 +1,357 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Forms;
namespace PIC_Simulator
{
class Register
{
// Speicherarray anlegen:
List<int[]> arrMemList = new List<int[]>();
// BANK 0 definieren
byte BANK0_INDF = 0x0; //0000 0000
byte BANK0_TMR0 = 0x0; //0000 0000
byte BANK0_PCL = 0x0; //0000 0000
byte BANK0_STATUS = 0x18; //0001 1000
byte BANK0_FSR = 0x0; //0000 0000
byte BANK0_PORTA = 0x0; //0000 0000
byte BANK0_PORTB = 0x0; //0000 0000
byte BANK0_EEDATA = 0x0; //0000 0000
byte BANK0_EEADR = 0x0; //0000 0000
// BANK 1 definieren
byte BANK1_INDF = 0x0; //0000 0000
byte BANK1_OPTION_REG = 0xFF; //1111 1111
byte BANK1_PCL = 0x0; //0000 0000
byte BANK1_STATUS = 0x18; //0001 1000
byte BANK1_FSR = 0x0; //0000 0000
byte BANK1_TRISA = 0x1F; //0001 1111
byte BANK1_TRISB = 0xFF; //1111 1111
byte BANK1_EECON1 = 0x0; //0000 0000
byte BANK1_EECON2 = 0x0; //0000 0000
// Gemeinsam genutzte Register
byte BANK_PCLATH = 0x0; //0000 0000
byte BANK_INTCON = 0x0; //0000 0000
//############## PIC COMMANDS BINARY #############################
// --- Bit-Oriented File Register Operations ---
public string BCF = "0100"; // 4 Stellen zum Vergleichen
public string BSF = "0101";
public string BTFSC = "0110";
public string BTFSS = "0111";
//--- Byte-Oriented File Register Operations ---
public string ADDWF = "000111"; //6 Stellen zum Vergleichen
public string ANDWF = "000101"; //6
public string COMF = "001001"; //6
public string DECF = "000011"; //6
public string DECFSZ = "001011"; //6
public string INCF = "001010"; //6
public string INCFSZ = "001111"; //6
public string IORWF = "000100"; //6
public string MOVF = "001000"; //6
public string RLF = "001101"; //6
public string RRF = "001100"; //6
public string SUBWF = "000010"; //6
public string SWAPF = "001110"; //6
public string XORWF = "000110"; //6
public string CLRF = "0000011"; //7 Stellen zum Vergleichen
public string CLRW = "0000010"; //7
public string MOVWF = "0000001"; //7
public string NOP1 = "00000000000000"; //14 Stellen zum Vergleichen
public string NOP2 = "00000000100000"; //14
public string NOP3 = "00000001000000"; //14
public string NOP4 = "00000001100000"; //14
// --- Literal and Control Operations ---
public string CALL = "100"; //3 Stellen zum Vergleichen
public string GOTO = "101"; //3
public string MOVLW = "1100"; //4 Stellen zum Vergleichen
public string RETLW = "1101"; //4
public string SUBLW = "11110"; //5 Stellen zum Vergleichen
public string ADDLW = "11111"; //5
public string ANDLW = "111001"; //6 Stellen zum Vergleichen
public string IORLW = "111000"; //6
public string XORLW = "111010"; //6
public string CLRWDT = "00000001100100"; //14
public string RETFIE = "00000000001001"; //14
public string RETURN = "00000000001000"; //14
public string SLEEP = "00000001100011"; //14
//############## PIC COMMANDS BINARY #############################
// Findet den auszuführenden Befehl
public void findOrder(string Order)
{
string OrderBinary;
string Reduced;
// Hex to Int Umrechnung Funktionsaufruf
OrderBinary = hex2binary(Order);
// 14 Zeichen
Reduced = OrderBinary;
if (Reduced.Equals(NOP1))
{
MessageBox.Show("Erfolgreich NOP1" + Reduced);
}
else if (Reduced.Equals(NOP2))
{
MessageBox.Show("Erfolgreich NOP2" + Reduced);
}
else if (Reduced.Equals(NOP3))
{
MessageBox.Show("Erfolgreich NOP3" + Reduced);
}
else if (Reduced.Equals(NOP4))
{
MessageBox.Show("Erfolgreich NOP4" + Reduced);
}
else if (Reduced.Equals(CLRWDT))
{
MessageBox.Show("Erfolgreich CLRWDT" + Reduced);
}
else if (Reduced.Equals(RETFIE))
{
MessageBox.Show("Erfolgreich RETFIE" + Reduced);
}
else if (Reduced.Equals(RETURN))
{
MessageBox.Show("Erfolgreich RETURN" + Reduced);
}
else if (Reduced.Equals(SLEEP))
{
MessageBox.Show("Erfolgreich SLEEP" + Reduced);
}
else
{ // Reduzieren und Vergleich mit 7 Zeichen
Reduced = OrderBinary.Substring(0, 7);
}
//7 Zeichen
if (Reduced.Equals(CLRF))
{
MessageBox.Show("Erfolgreich CLRF" + Reduced);
}
else if (Reduced.Equals(CLRW))
{
MessageBox.Show("Erfolgreich CLRW" + Reduced);
}
else if (Reduced.Equals(MOVWF))
{
MessageBox.Show("Erfolgreich MOVWF" + Reduced);
}
else {
// Reduzieren und Vergleich mit 6 Zeichen
Reduced = OrderBinary.Substring(0, 6);
}
// 6 Zeichen
if (Reduced.Equals(ANDWF))
{
MessageBox.Show("Erfolgreich ANDWF " + Reduced);
}
else if (Reduced.Equals(COMF))
{
MessageBox.Show("Erfolgreich COMF " + Reduced);
}
else if (Reduced.Equals(DECF))
{
MessageBox.Show("Erfolgreich DECF " + Reduced);
}
else if (Reduced.Equals(DECFSZ))
{
MessageBox.Show("Erfolgreich DECFSZ " + Reduced);
}
else if (Reduced.Equals(INCF))
{
MessageBox.Show("Erfolgreich INCF " + Reduced);
}
else if (Reduced.Equals(INCFSZ))
{
MessageBox.Show("Erfolgreich INCFSZ " + Reduced);
}
else if (Reduced.Equals(IORWF))
{
MessageBox.Show("Erfolgreich IORWF " + Reduced);
}
else if (Reduced.Equals(MOVF))
{
MessageBox.Show("Erfolgreich MOVF " + Reduced);
}
else if (Reduced.Equals(RLF))