From 03cc7b3afdaec00596f7379d007632fb752445bf Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Tue, 3 May 2022 18:04:02 +0200 Subject: [PATCH] well --- bin/Control/MyControlModel.class | Bin 10087 -> 10087 bytes bin/Control/MyControlView.class | Bin 10945 -> 10945 bytes bin/Model/Microcontroller/EepromThread.class | Bin 372 -> 970 bytes bin/Model/Microcontroller/PIC.class | Bin 13467 -> 13625 bytes bin/Model/Microcontroller/PROGRAMMEMORY.class | Bin 1670 -> 1670 bytes bin/Model/Microcontroller/RAM.class | Bin 21317 -> 21342 bytes bin/Model/Microcontroller/STACK.class | Bin 1688 -> 1688 bytes bin/Model/Microcontroller/TIME.class | Bin 2172 -> 2172 bytes bin/Model/MyModel.class | Bin 4293 -> 4293 bytes bin/Model/ProgramLoader/ReadProgramFile.class | Bin 4767 -> 4767 bytes ...tion PIC Simulator Rechnerarchitektur.docx | Bin 0 -> 13257 bytes src/Model/Microcontroller/EepromThread.java | 27 +++++++++++-- src/Model/Microcontroller/PIC.java | 38 +++++++++--------- src/Model/Microcontroller/PROGRAMMEMORY.java | 6 +-- src/Model/Microcontroller/RAM.java | 13 +++--- src/Model/Microcontroller/STACK.java | 4 +- src/Model/Microcontroller/TIME.java | 6 +-- 17 files changed, 58 insertions(+), 36 deletions(-) create mode 100644 documentation/WORD/Dokumentation PIC Simulator Rechnerarchitektur.docx diff --git a/bin/Control/MyControlModel.class b/bin/Control/MyControlModel.class index c28780180511e7aa40563b95ff3dacec4c8883e7..3920d54fd3c8b237000b9edf184704127dc7b331 100644 GIT binary patch delta 74 zcmaFv_uOy8VP2l1{Pd#4T;J5({G!Uq=XsS;1UCQUjb&oa%uSsfC!h?XH@67fXJksu Qot!G945T)93EdR|0CBe*hyVZp delta 74 zcmaFv_uOy8VP2jffA=6qUtd>W|Dedp=XsS;1UCQUjb&o?^mUyaC!h?XH@67fXJm5p Qot!G945T)93EdR|0Llm$hyVZp diff --git a/bin/Control/MyControlView.class b/bin/Control/MyControlView.class index ec8a98a57b5be147ed78559cedd699204af2faf7..1cca0eb8e8cb4f652314c5092a13ada10ada7415 100644 GIT binary patch delta 92 zcmX>YdN6du4tA!*+{wGxm4Vde`|PQ#%$d2VlihihLGYdN6du4t6F--^sh!m4Vde`|PQ#%$~lklihihLG>ezOKIhL6MUa_?1xvHuv)zNdo|54;*&@ diff --git a/bin/Model/Microcontroller/EepromThread.class b/bin/Model/Microcontroller/EepromThread.class index 43b01db269178fc652a23b1d0dd7896821abc342..0700cebd2f0fbfbfc960d11c8bdf091d2a284eed 100644 GIT binary patch literal 970 zcmaJ<%Wl(95Ir|Z>n3$EX#y#22%!y-2PBnPAQ2vmsG+SAHjPq=o#R{)gKI~(4)8~n z*j1thvET#P@;``k?T8{F#g=`?GjnFnneorx-+usjj$H!@f$e@UmR_sxIx27iKU9I| zN!8kuQx%*HCQ90411W*)@9YnD%d`Ert=KDI1aX!?skf*~TVU1g%Wx8mJGSQuhy#J; zXRhytFG!%e7<^D03Zyz@nL!e3CepYjkgV2*X^@r)11s8EH?f3e0juZw^7ZUwB-Owk zd6JP{;Mm^KR<8b@J5%ArJr$@dY#u8m|Ft>)K@clQs+q6pY?|0YQDEuRlX6O))x+8_ zgA&RH?r<(wLp$(8snl#5%JJSOM@~aG@J-y+TCAyZ{qQKXo%aJ}JJh*@dj={3#YJN^ zaUTyj+KN;xb1$Md0I4qb_?k#4eZCZ!RISxR&S?Tv&$jRep^a*LnH+SD5wW1+04G0@-?z)_Ihj)ew;bbfgIW5@NBu-(6^Kc&(*_Z7zh4m}V88wa*5?R-4iBB5;IqM} zmHCESXISYqE^(WA*-LC6pP}%-yLx<1RFNEZxZ%fmf~P!_9uHkrAemgMl9?#l#>005%{K82|tP diff --git a/bin/Model/Microcontroller/PIC.class b/bin/Model/Microcontroller/PIC.class index 3a66835115d31caabd3e07ee71b91a28eb43af9f..347d06a7b7c28e6997eb36286579108fb4013cd3 100644 GIT binary patch delta 1229 zcmZ8fU2KzO6h2SCuRpZkTsPd-wcSrg*Z+Ue3S*P~)iFVSHZfBZY-Snl>^jQE#0V&$ ziN*`->x~iU){O>84(R)!b}G7z0z6njkT9cbLDJtcdl3}A0GfI`?E!mtMWsK%qs7C)urt0 zeC6}Bk}u{eYiXOgG@e^5m$<2$oAhZc7_{{>#Mes1kS&TeB~qh`h#HYx@s#T0x_(CW zL*kc=p?i6&#$cV$Y^o9TA=9jCG6SH#%FFG}`nA)C%em~cRuB}8{7@MTu#RXQ9oQK> zATg5$GX>a9d3gcU)R0`~g1k)dt{=y~jU&^UsVR^;I=pL_m7YM8hWo@f)-9***U(0n zK+Q*UO9!Xf$)4q<%yZc}+0>!IA+Z*T?Jce3%44OKh5t~e2A4$5HFPQ=8C@E>*VU4; z)~ms@u9mV=7MnD9r2~sNV=JgB4V%R;wteb04Fh^c8)@3GNJcX8-@GO&ozCssLRTqb zK2K4Xoxgs!-FBWlTzj%g|GY!)PeC($DytvE@L048<3+NBlxq~>;*fZ$qeJ}Ox$o2@ zwG!bFZNwZoaG2uA(^eEHgL#@nk#=K&_Tvc6;3ySvj23a6PUA&-9Vh5*oTPI&O_y<& zuHqG1W@!^-mICP*t#FjtAEXg#*{_@#C_^eN*gy)+(9?0c%|(R@^eFwtnM#W^POF?5 z=^~SCq`H#o9h#6&00iI#XsJl?$r{rZJ&58%_k>~R8q zeYMvC1jOH-E{kS&oU~h>e?}z3{bIZ?=DtUhpEU*P$GQ%FV&C>S#Rq-25z^n^qyS-Y z!TSXw`h33)h>8{86~siye-m-t9GC?XVm{c5qwu?U_@{o?&fx()%*J23_iR-ajcv$~1J_+m)es6sft^3fBZ#6Ymj!3jqgjfh2Yxip)Ko%(wR(uX3NmFPLMP-u?OTW+^>-YT{zn$ zkEHuH7Or$t}3;C3<^?Dg~M@fkydL&kSd4ly9($DltiJd`59h z(Q53bH1^P1d`TOym$KL=JRP7(9HzrKO5fpY`WeUQ6uzflah%TM2ih+jb3!XdLfWZljQ5C2LdWID@s+8y>^>I3~FziV&tR#kQ)x9P9Q%o{m z66!=`x23jO+p^R_Q=Q;T5x3Pn!Y?DK|KHGH)+D(z+J%&HB{^@sm3FR4Rgxt>S-E39R8n+dXs{j`j!~-NLI4 GJ?{WJ>+lf( diff --git a/bin/Model/Microcontroller/PROGRAMMEMORY.class b/bin/Model/Microcontroller/PROGRAMMEMORY.class index 8427ac5fe15c11c4ec708cfe48344bf28628d756..8aa1c6f55d1431c44c8d4d530b33aecba180f104 100644 GIT binary patch delta 58 qcmZqUZR4Gw&Qp}1UX+;Yo0^+nR5{W30SbS!JfjCAsz@=DFbe>AR22jO delta 58 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 aAeZOij*%qx3`pli;{1RhUJrb=-v0m)b8)x; delta 4812 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 O+dplXyWq&iUH=E};8qv_ diff --git a/bin/Model/Microcontroller/STACK.class b/bin/Model/Microcontroller/STACK.class index 1cfbefa962d8689928e3bf9f965e5c7637cdf204..57d717020239650a2f55fda836d71b48a6adf7e4 100644 GIT binary patch delta 34 icmbQiJA-$EI!j4na`r^+cVK$6EMqVugjK?%!U6!zfeRM^ delta 34 icmbQiJA-$EI!lP7v-d>pcVK$6EMqVugjK?%!U6!aK?#=t diff --git a/bin/Model/Microcontroller/TIME.class b/bin/Model/Microcontroller/TIME.class index 2cdb77be97362b48fbfc7d024b04b6f835f91972..654c9055a948d44a31282f216b7647c114caa155 100644 GIT binary patch delta 50 zcmew(@JC>RI&)@j>O`%HOo_P@_o{)&ryD^+lV>s}0(qPNFz#Xm@i*^eKFk6D1n3kH delta 50 zcmew(@JC>RIqM=IOpd-2_o{)&ryD^+lV>s}0(qPNFz#Xm@i*^eKFk6D)wvQd diff --git a/bin/Model/MyModel.class b/bin/Model/MyModel.class index 0933978185b10074c4013c14dd1aa5dfbd23c578..c1ac5171a9a2918f3a78c25791bb5e6cc52e728f 100644 GIT binary patch delta 92 zcmX@AcvNx295$Ac#N_PB3)qw)jN@#5Oo_RZ!`YRA)aDxYd5k`npbT=5hqln~!t-V+8;vmmA;! diff --git a/bin/Model/ProgramLoader/ReadProgramFile.class b/bin/Model/ProgramLoader/ReadProgramFile.class index 961bcebd3553014d75f2be7ab503d717598e0e56..e3a4fe7638ca5b79342e59d9b424ceb4eb40e46f 100644 GIT binary patch delta 42 mcmbQQI$w2z3I|V7etJ=2u5W5?eo^IQ0}f>rfz9z84qO02#17E_ delta 42 mcmbQQI$w2z3I|V+zk86Qudl1Ge^BIP0}f>rfz9z84qN~Wqzn-N diff --git a/documentation/WORD/Dokumentation PIC Simulator Rechnerarchitektur.docx b/documentation/WORD/Dokumentation PIC Simulator Rechnerarchitektur.docx new file mode 100644 index 0000000000000000000000000000000000000000..8d10056354990a6c37877c059ff9e2303dd70188 GIT binary patch literal 13257 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 H`QQHlH}0P) literal 0 HcmV?d00001 diff --git a/src/Model/Microcontroller/EepromThread.java b/src/Model/Microcontroller/EepromThread.java index ab31205..dce8dcb 100644 --- a/src/Model/Microcontroller/EepromThread.java +++ b/src/Model/Microcontroller/EepromThread.java @@ -2,12 +2,33 @@ package Model.Microcontroller; public class EepromThread extends Thread { - public EepromThread() { - + private Eeprom oEeprom; + private int iMethodCall = 0; + + public EepromThread(Eeprom oEeprom, int iMethodToCall) { + this.oEeprom = oEeprom; + iMethodCall = iMethodToCall; } @Override public void run() { - + switch (iMethodCall) { + case 1: { + try { + Thread.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + oEeprom.writeToFile(); + }break; + case 2: { + try { + Thread.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + oEeprom.readFromFile(); + }break; + } } } diff --git a/src/Model/Microcontroller/PIC.java b/src/Model/Microcontroller/PIC.java index 71bc30e..47a9a4a 100755 --- a/src/Model/Microcontroller/PIC.java +++ b/src/Model/Microcontroller/PIC.java @@ -13,30 +13,30 @@ public class Pic { * Parts of PIC. * Objects are written with a large starting letter. */ - private PROGRAMMEMORY ProgramMemory; - private RAM Ram; - private STACK Stack; + private ProgramMemory ProgramMemory; + private Ram Ram; + private Stack Stack; private int WRegister; - private TIME Runtimer; + private Time Runtimer; private Alu ArithmeticLogicUnit; - private Eeprom Eeprom; + private Eeprom oEeprom; private int iStateMachineWriteEeprom = 0; public Pic() { //Initialising objects of PIC. - ProgramMemory = new PROGRAMMEMORY(); - Ram = new RAM(); - Stack = new STACK(); - Runtimer = new TIME(Ram); + ProgramMemory = new ProgramMemory(); + Ram = new Ram(); + Stack = new Stack(); + Runtimer = new Time(Ram); WRegister = 0; ArithmeticLogicUnit = new Alu(); - Eeprom = new Eeprom(); + oEeprom = new Eeprom(); } public synchronized void resetPIC() { - Ram = new RAM(); - Stack = new STACK(); - Runtimer = new TIME(Ram); + Ram = new Ram(); + Stack = new Stack(); + Runtimer = new Time(Ram); WRegister = 0; } @@ -74,19 +74,19 @@ public class Pic { return WRegister; } - public synchronized RAM getRam() { + public synchronized Ram getRam() { return Ram; } - public synchronized PROGRAMMEMORY getEeprom() { + public synchronized ProgramMemory getEeprom() { return ProgramMemory; } - public synchronized STACK getStack() { + public synchronized Stack getStack() { return Stack; } - public synchronized TIME getRuntimer() { + public synchronized Time getRuntimer() { return Runtimer; } @@ -359,8 +359,8 @@ public class Pic { iStateMachineWriteEeprom = 4; } else if ((iStateMachineWriteEeprom == 4) && (bitaddress == 7) && (registerFileAddress == 0x0B)) { if (Ram.get_WREN()) { - //TODO start thread - Eeprom.writeToFile(); + EepromThread oEepromThread = new EepromThread(oEeprom, 1); + oEepromThread.run(); } } else { iStateMachineWriteEeprom = 0; diff --git a/src/Model/Microcontroller/PROGRAMMEMORY.java b/src/Model/Microcontroller/PROGRAMMEMORY.java index 3c7d2e3..22330b2 100644 --- a/src/Model/Microcontroller/PROGRAMMEMORY.java +++ b/src/Model/Microcontroller/PROGRAMMEMORY.java @@ -7,19 +7,19 @@ package Model.Microcontroller; /** * ProgramMemory of the PIC (Programmspeicher) */ -public class PROGRAMMEMORY +public class ProgramMemory { private int[][] aiiProgramMemory; private int iProgramMemoryLength = 1024; private int[] aiProgramLines; - public PROGRAMMEMORY() + public ProgramMemory() { aiiProgramMemory = new int[iProgramMemoryLength][2]; } - public PROGRAMMEMORY(int iLength) { + public ProgramMemory(int iLength) { aiiProgramMemory = new int[iLength][2]; } diff --git a/src/Model/Microcontroller/RAM.java b/src/Model/Microcontroller/RAM.java index 5dcb300..e570ed9 100755 --- a/src/Model/Microcontroller/RAM.java +++ b/src/Model/Microcontroller/RAM.java @@ -13,7 +13,7 @@ package Model.Microcontroller; * * Page 13 datasheet parts of RAM. */ -public class RAM { +public class Ram { //Bank0 of the PIC-RAM private int[] bank0; @@ -32,7 +32,7 @@ public class RAM { * Constructor of RAM * Initializes two banks as two int arrays of size 128. */ - public RAM() { + public Ram() { //Bank0 of the PIC-RAM bank0 = new int[128]; @@ -206,6 +206,7 @@ public class RAM { * @param value to set TMR0 to. */ public synchronized void set_TMR0(int value) { + iPrescaledTMR0 = 0; value &= 255; bank0[1] = value; } @@ -225,9 +226,9 @@ public class RAM { //Increment TMR0 by 1, set T0IF at overflow. if ((iValTMR0 + 1) > 255) { set_T0IF(true); - set_TMR0((iValTMR0 + 1) & 255); + bank0[1] = (iValTMR0 + 1) & 255; } else { - set_TMR0(iValTMR0 + 1); + bank0[1] = (iValTMR0 + 1) & 255; } //Prescaler assigned to TMR0, increment TMR0 if prescaled TMR0 equals TMR0 prescaler-rate. } else { @@ -238,9 +239,9 @@ public class RAM { //Increment TMR0 by 1, set T0IF at overflow. if ((iValTMR0 + 1) > 255) { set_T0IF(true); - set_TMR0((iValTMR0 + 1) & 255); + bank0[1] = (iValTMR0 + 1) & 255; } else { - set_TMR0(iValTMR0 + 1); + bank0[1] = (iValTMR0 + 1) & 255; } } } diff --git a/src/Model/Microcontroller/STACK.java b/src/Model/Microcontroller/STACK.java index e8ab909..d1f8b56 100755 --- a/src/Model/Microcontroller/STACK.java +++ b/src/Model/Microcontroller/STACK.java @@ -10,7 +10,7 @@ import java.util.EmptyStackException; /** * Datasheet Page 18 */ -public class STACK +public class Stack { private int stackpointer; private int[] stack; @@ -21,7 +21,7 @@ public class STACK /** * Constructor of STACK. */ - public STACK() // + public Stack() // { stackpointer = 0; //Initialize stack with -1 to decide wether the stack is empty or not, because 0 could be a return address. diff --git a/src/Model/Microcontroller/TIME.java b/src/Model/Microcontroller/TIME.java index 2c98da6..c5bd8ab 100644 --- a/src/Model/Microcontroller/TIME.java +++ b/src/Model/Microcontroller/TIME.java @@ -1,6 +1,6 @@ package Model.Microcontroller; -public class TIME { +public class Time { private double dRuntime; private double dMaxWatchdog; private double dOldMaxWatchdog; @@ -9,9 +9,9 @@ public class TIME { private boolean WDTE = false; - private RAM oRam; + private Ram oRam; - public TIME(RAM oRam) { + public Time(Ram oRam) { dWatchdogTimer = dMaxWatchdog = dOldMaxWatchdog = 18000; this.oRam = oRam; }