1 / 24

Kronljusströmställaren 0, 1, 2, 3

Kronljusströmställaren 0, 1, 2, 3. Styr med binärkod. Dec – Bin – Hex – Okt. 218 10 = 11011010 2 = DA 16 = 332 8. Komplementräkning. Subtraktion med en additionsmaskin = komplementräkning. 63 - 17 = 46

ria-rose
Download Presentation

Kronljusströmställaren 0, 1, 2, 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kronljusströmställaren 0, 1, 2, 3 William Sandqvist william@kth.se

  2. Styr med binärkod William Sandqvist william@kth.se

  3. Dec – Bin – Hex – Okt 21810 = 110110102 = DA16 = 3328 William Sandqvist william@kth.se

  4. Komplementräkning Subtraktion med en additionsmaskin = komplementräkning 63 - 17 = 46 Talet -17 slås in som med röda siffror 17 och blir då 82. När - tangenten trycks in adderas 1. Resultatet blir: 63+82+1 = 146. Om bara två siffror visas: 46 William Sandqvist william@kth.se

  5. 2-komplement Binärtalet 3, 0011, blir negativt -3 genom att man inverterar alla bitar och lägger till ett, 1101. William Sandqvist william@kth.se

  6. Registeraritmetik • Datorregister är ”ringar” Ett fyra bitars register rymmer 24 = 16 tal. Antingen 8 positiva (+0…+7) och 8 negativa (-1…-8) tal ”med tecken”, eller 16 (0…F) ”teckenlösa” tal. Om registret är fullt gör ”+1” att det ”slår runt”. Den första mikroprocessorn var en sådan fyra bitars ”nibble”-dator William Sandqvist william@kth.se

  7. Registerlängd • 4 bitar kallas Nibble. Registret rymmer 24 = 16 tal. 0…15, -8…+7 • 8 bitar kallas Byte. Registret rymmer 28 = 256 tal.0…255, -128…+127 • 16 bitar kallas Word. 216 = 65536 tal.0…65535, -32768…+32767 Vanliga registerstorlekar är idag 32 bitar (DoubleWord) och 64 bitar (QuadWord ). William Sandqvist william@kth.se

  8. Exempel registerlängd Ett datorregister som blir fullt slår runt som km-räknaren på en bil. En speciell Carry-flagga kan signalera om detta hänt! William Sandqvist william@kth.se

  9. Overflow När man räknar med ”tal med tecken” kan summan av två positiva tal felaktigt bli negativ (tex. ”+4” + ”+5” = ”-7”), liksom summan av två negativa tal felaktigt kan bli positiv (tex. ”-6” + ”-7” = ”+3”). Detta kallas för Overflow. William Sandqvist william@kth.se

  10. ( Sign Extension ) Om ett tal ”med tecken” ska kopieras från ett kort register (tex. 4 bitar) till ett längre register (tex. 8 bitar) gör man Signextension. Är talet positivt fyller man på med inledande 0:or är det negativt med inledande 1:or. William Sandqvist william@kth.se

  11. Windowsprogrammet Kalkylatorn View: Scientific Talsystem: Bin Oct Dec Hex Registerstorlekar: Byte Word Dword Qword Operatorer: + - * / Mod And Or Xor Not … William Sandqvist william@kth.se

  12. Reella tal Decimalkomma ”,” och Binärpunkt ”.” 10,312510 = 1010.01012 OBS! Midrange PIC-program bör helst använda heltal. William Sandqvist william@kth.se

  13. IEEE – 32 bit float Genom att exponenteten skrivs exess–127 kan flyttal storlekssorteras med vanlig heltalsaritmetik! Gratisversionen av vår kompilator har 24 bit float.( OBS! använder Du float tar minnet snabbt slut! ) Dec  IEEE-754 William Sandqvist william@kth.se

  14. ASCII-tabellen Varje tecken lagras i en Byte, char. ”Hej!”48 65 6A 21 0001001000 01100101 01101010 00100001 00000000 PICKit 2 UART Tool använder \r\n http://ascii-table.com/ William Sandqvist william@kth.se

  15. C’s Datatyper Heltalsvariabler: char, short int, int, long signed eller unsigned Flyttalsvariabler: float, double William Sandqvist william@kth.se

  16. ( Hur många Byte är en int? ) det får man veta genom att köra ett testprogram på sin PC: #include <stdio.h> int main(void) { printf("typ\t\tbytes\n"); printf("signed char \t%d\n", sizeof(char)); printf("unsigned char \t%d\n", sizeof(unsignedchar)); printf("signed int \t%d\n", sizeof(int)); printf("unsigned int \t%d\n", sizeof(unsignedint)); printf("long \t\t%d\n", sizeof(long int)); printf("float \t\t%d\n", sizeof(float)); printf("double \t\t%d\n", sizeof(double)); system("PAUSE"); return 0; } William Sandqvist william@kth.se

  17. PIC-processorn? Ej enligt ANSI-standarden, men lämpliga storlekar för en pytteliten 8-bitsprocessor som har bitinstruktioner är: bit 1/8 Byte, char 1 Byte (unsigned), int 1Byte (signed)long 2 Bytes (signed) William Sandqvist william@kth.se

  18. William Sandqvist william@kth.se

  19. Laboration, 4-bits additionskrets William Sandqvist william@kth.se

  20. Carry In Overflow A B NOT B Carry Out Sign William Sandqvist william@kth.se

  21. Tal utan tecken Exempel: 9+6=F (15) William Sandqvist william@kth.se

  22. Tal med tecken Exempel: 3 + (-3) = 0 William Sandqvist william@kth.se

  23. Stora tal med fyrbitsadderare FEC16 = 407610 1DB16 = 47510 C + B = (1)71+E+D = F+D = (1)C1+F+1 = 2 + F = (1)1 0+1=(0)1 11C716 = 455110 William Sandqvist william@kth.se

  24. Lycka till med laborationen! William Sandqvist william@kth.se

More Related