Stap 2: Software
Twee software aanbiedingen zijn hieronder beschikbaar. Aanvankelijk Ik heb net gewijzigd de versie in aflevering 19 (verlaten van de snaren in RAM), zodat ik van de basic-code-updates in plaats krijgen kon. Die versie is hier niet inbegrepen. Voor het grootste deel werden de vereiste veranderingen wijzigingen van enkele namen en de toevoeging van BANKSEL opdrachten registreren. De opdrachten van de BANKSEL waren nodig, omdat de registers van de seriële poort die zich in de Bank0 van de 16F688 bevinden nu in de Bank3 van de 16F1847 zijn. Omdat wij ook in deze routines controleren van het register van de PIR1 wilt (nog steeds gevestigd in Bank0) moeten we om te schakelen tussen Bank0 en Bank3. De kwesties die ik had in het maken van deze wijzigingen waren meestal het gevolg van gewoon ontbreekt een aantal locaties in de code waar een BANKSEL nodig was.
Ik had ooit die versie zal dat ik verhuisde de tekenreeksen die aan een tabel die is gedefinieerd in het programmageheugen (vanaf adres 1000H) in RAM had overgenomen. Dat is vergelijkbaar met wat ik deed om de grafische gegevens in aflevering 13 te definiëren. In dit geval, echter, ik gebruikte de DT (tabel definiëren) richtlijn voor elk van de tekenreeksen in de plaats van de richtlijn. Die kon ik eigenlijk het invoeren van de gegevens als tekenreeksen, gevolgd door de individuele bytes voor regelterugloop regelinvoer en het einde van de gegevensmarkering (0x00). De richtlijnen DA (definiëren ASCII) en gegevens kunnen ook tekenreeksen invoeren maar ze zal niet werken voor deze toepassing omdat ze twee 7-bits ASCII-tekens in de geheugenlocatie van elk 14-bits programma verpakken. De DT-richtlijn zet één teken per locatie in het geheugen. Dat is wat nodig is voor de MOVIW (beweging indirecte naar W) opdracht om te werken, omdat het alleen de lagere 8 bits van gegevens uit het geheugen van de geadresseerde pikt.
Een van de onderstaande aanbiedingen maakt gebruik van de dezelfde opdracht en bericht tekenreeksen die werden gebruikt in aflevering 19, dus het werkt precies hetzelfde. De andere vermelding maakt gebruik van een uitgebreidere HTML-instructie wil geven een indicatie van wat kan worden gedaan met langere tekenreeksen en de extra geheugenruimte geboden door de 16F1847. In dit voorbeeld worden HTML-opdrachten gebruikt voor het tekenen van twee cirkels met daarin de status van de voorkant en terug Sprinklers. Rood = off en groen = on (een scherm schot is hierboven weergegeven). Van wat ik online gelezen heb kan u zitten kundig voor maximaal 2048 tekens met een CIPSEND-opdracht te verzenden. In het voorbeeld van de software is momenteel beperkt tot 255 tekens omdat één 8-bits RAM locatie is gebruikt om de aantekening de omhoog het aantal tekens.
Nou, thats it voor aflevering 20 van "Fun met PIC vergadering". Stay tuned voor meer afleveringen.