-
Datei
top_zahl_einsen.vhd
- 1 downto 0); o_valid_bytes_gustl : out std_logic_vector(G_DATA_WIDTH/8 - 1 downto 0) ); end top_zahl_einsen; architecture rtl of top_zahl_einsen is begin inst_zahl_einsen_alex : entity work.zahl_einsen_alex generic map ( G_DATA_WIDTH => G_DATA_WIDTH ) port map ( i_data => i_data, o_valid_bytes => o_valid_bytes_alex ); inst_zahl_einsen_lothar : entity work.zahl_einsen_lothar generic map ( G_DATA_WIDTH => G_DATA_WIDTH ) port map ( i_data => i_data, o_valid_bytes => o_valid_bytes_lothar ); inst_zahl_einsen_gustl : entity work.zahl_einsen_gustl
-
Datei
tb_zahl_einsen.vhd
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity tb_zahl_einsen is end tb_zahl_einsen; architecture tb of tb_zahl_einsen is constant C_DATA_WIDTH : natural := 64; signal data : std_logic_vector(7 downto 0) := (others => '0'); signal valid_bytes_alex : std_logic_vector
-
Datei
zahl_einsen_alex.vhd
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity zahl_einsen_alex is generic ( G_DATA_WIDTH : natural ); port ( i_data : in std_logic_vector(7 downto 0); o_valid_bytes : out std_logic_vector(G_DATA_WIDTH/8 - 1 downto 0) ); end zahl_einsen_alex; architecture rtl of zahl_einsen_alex is begin process (i_data) begin for i in 0 to G_DATA_WIDTH/8 - 1 loop if i < unsigned(i_data) then o_valid_bytes(i) <= '1'; else o_valid_bytes(i) <= '0'; end if; end loop; end process; end
-
Datei
zahl_einsen_lothar.vhd
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity zahl_einsen_lothar is generic ( G_DATA_WIDTH : natural ); port ( i_data : in std_logic_vector(7 downto 0); o_valid_bytes : out std_logic_vector(G_DATA_WIDTH/8 - 1 downto 0) ); end zahl_einsen_lothar; architecture rtl of zahl_einsen_lothar is begin process (i_data) variable x : std_logic_vector(G_DATA_WIDTH/8 - 1 downto 0); begin x := (others => '0'); x(to_integer(unsigned(i_data))) := '1'; o_valid_bytes <= std_logic_vector
-
Datei
zahl_einsen_gustl.vhd
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity zahl_einsen_gustl is generic ( G_DATA_WIDTH : natural ); port ( i_data : in std_logic_vector(7 downto 0); o_valid_bytes : out std_logic_vector(G_DATA_WIDTH/8 - 1 downto 0) ); end zahl_einsen_gustl; architecture rtl of zahl_einsen_gustl is begin process (i_data) begin o_valid_bytes <= (others => '0'); o_valid_bytes(to_integer(unsigned(i_data)) - 1 downto 0) <= (others => '1'); end process; end;
-
PDF
Von_der_Programmiersprache_zu_den_Nullen_und_Einsen.pdf
wandelt der Assembler nun alle mnemonischen Symbole im Programmcode automatisch in Opcodes - also Zahlen - um. Neben den mnemonischen Symbolen werden auch die anderen Bestandteile des Assemblercodes umgewandelt. Doch warum ist „B8“ eine Zahl? Ganz einfach! Diese hexadezimale Zahl kann ganz einfach auch
in „Frage zu Assembler für meinen Informatikunterricht“ · Softwareentwicklung ·
-
PDF
Die_Bedeutung_von_0_und_1_fuer_den_echten_Computer.pdf
funktionierenden Software also die gut lesbaren mnemonischen Symbole automatisch in die Opcodes, also Zahlen, übersetzt. Doch warum ist „B0“ eine Zahl? Ganz einfach! Diese hexadezimale Zahl kann ganz einfach auch in Nullen und Einsen umgewandelt bzw. dargestellt werden. Die hexadezimalen Opcodes sind also der „Schlüssel“ zu den Nullen und Einsen. Anhand einer Tabelle wandeln wir nun unseren hexadezimalen Opcode in Nullen und Einsen um. „B0“ ist also „10110001“. Aufbaukurs Informatik Daten und Codierung - Binärcode Datum: _________________
in „Frage zu Assembler für meinen Informatikunterricht“ · Softwareentwicklung ·
-
Bild
Tabelle mit FPGA-Ressourcenbelegung
Name Slice LUTs (10400) Bonded IOB (170) top_zahl_einsen 15 32 inst_zahl_einsen_alex (zahl_einsen_alex) 5 0 inst_zahl_einsen_gustl (zahl_einsen_gustl) 5 0 inst_zahl_einsen_lothar (zahl_einsen_lothar) 5 0
in „Eine Zahl in Einsen convertieren“ · FPGA, VHDL & Co. · · Screenshots
-
Bild
Tabelle der FPGA-Ressourcenauslastung
Name 1 Slice LUTs (10400) Bonded IOB (170) top_zahl_einsen 87 104 inst_zahl_einsen_alex (zahl_einsen_alex) 26 0 inst_zahl_einsen_gustl (zahl_einsen_gustl) 26 0 inst_zahl_einsen_lothar (zahl_einsen_lothar) 35 0
in „Eine Zahl in Einsen convertieren“ · FPGA, VHDL & Co. · · Screenshots
-
Bild
Tabelle mit FPGA Ressourcenbelegung
Name Slice LUTs (10400) Slice (8150) LUT as Logic (10400) Bonded IOB (170) top_zahl_einsen 15 8 15 32 inst_zahl_einsen_alex (zahl_einsen_alex) 5 4 5 0 inst_zahl_einsen_gustl (zahl_einsen_gustl) 5 4 5 0 inst_zahl_einsen_lothar (zahl_einsen_lothar) 5 2 5 0
in „Eine Zahl in Einsen convertieren“ · FPGA, VHDL & Co. · · Screenshots
-
Bild
Tabelle der FPGA-Ressourcenauslastung
Name Slice LUTs (10400) Slice (8150) LUT as Logic (10400) Bonded IOB (170) top_zahl_einsen 87 45 87 104 inst_zahl_einsen_alex (zahl_einsen_alex) 26 17 26 0 inst_zahl_einsen_gustl (zahl_einsen_gustl) 26 16 26 0 inst_zahl_einsen_lothar (zahl_einsen_lothar) 35 12 35 0
in „Eine Zahl in Einsen convertieren“ · FPGA, VHDL & Co. · · Screenshots
-
PDF
Die_Bedeutung_von_0_und_1_fuer_den_echten_Computer.pdf
funktionierenden Programm die gut lesbaren mnemonischen Symbole automatisch in die Opcodes, also Zahlen, übersetzt. Doch warum ist „B0“ eine Zahl? Ganz einfach! Diese hexadezimale Zahl kann ganz einfach auch in Nullen und Einsen umgewandelt bzw. dargestellt werden. Die hexadezimalen Opcodes sind also der „Schlüssel“ zu den Nullen und Einsen. Anhand einer Tabelle wandeln wir nun unseren hexadezimalen Opcode in Nullen und Einsen um. „B0“ ist also „10110001“. Aufbaukurs Informatik Daten und Codierung - Binärcode Datum: _________________
in „Frage zu Assembler für meinen Informatikunterricht“ · Softwareentwicklung ·
-
PDF
Die_Bedeutung_von_0_und_1_fuer_den_echten_Computer.pdf
mnemonische Symbole. Hier können wir auch unseren „mov“-Befehl finden. Alle Befehle sind wiederum durch Zahlen (Opcodes) durchnummeriert. Der Befehl „mov“ hat bei unserem Prozessor die Zahl bzw. den Opcode „B0“. Warum das so ist? Weil es der Hersteller des Prozessors so festgelegt hat. Programmiert man ein
in „Frage zu Assembler für meinen Informatikunterricht“ · Softwareentwicklung ·
-
Bild
Blockschaltbild einer digitalen Logikschaltung
inst_zahl_einsen_alex, i_data[7:0], o_valid_bytes0_i, RTL_LT, o_valid_bytes0_i_0, o_valid_bytes0_i_1, o_valid_bytes0_i_2, o_valid_bytes0_i_3, o_valid_bytes0_i_4, o_valid_bytes0_i_5, o_valid_bytes0_i_6, o_valid_bytes0_i_7, inst_zahl_einsen_gustl, o_valid_bytes1_i, o_valid_bytes_gustl[7:0], o_valid_bytes2_i, o_valid_bytes_lothar[7:0], RTL_LSHIFT, RTL_INV, RTL_MUX, RTL_SUB, inst_zahl_einsen_lothar, o_valid_bytes2_i_0, RTL_LT, zahi_einsen_gustl
in „Eine Zahl in Einsen convertieren“ · FPGA, VHDL & Co. · · Diagramme
-
Datei
DCF_ERROR.vhd
ungerade sreg(25)) xor sreg(26)) xor sreg(27)) xor sreg(28)) -- Zahl logischer Einsen! or (sreg(24) and (sreg(23) or sreg(22))) -- Fehler durch nicht mögliche Kombinationen or (sreg(27) and sreg(26))) -- Fehler durch nicht mögliche Kombinationen or ----------Kontrolle
-
Datei
dcf77.c
) { uint8_t i; uint8_t zaehler = 0; //Anzahl der Einsen for (i=0; i<=5; i++) { if (((the_time >> i) & 0x1) == 1) zaehler++; } if ((zaehler % 2) == ((the_time >> 35) & 0x1)) return 1; else return 0; } uint8_t dcf_paritydate(void) { uint8_t i; uint8_t zaehler = 0; //Anzahl der Einsen for (i=0; i<=21; i++) { if (((the_time >> i) & 0x1) == 1) zaehler++; } if ((zaehler % 2) == ((the_time >> 58) & 0x1)) return 1; else return 0; } uint8_t dcf_parity(void) {
in „Verständnissproblem Auswertung dcf77“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
test3.asm
Datei TEST1.LST aus. ; Register definieren ; ; Dieses Register wird für die Zwischenspeicherung der Zahlen ; verwendet. Mit dem Befehl .DEF kriegt eins der 32 8-Bit-Register ; einen Namen (hier: mp), den man sich einfacher merken kann als ; R16. Ausserdem kann man einfacher Register verlegen, wenn man sie
in „AVR Studio: compile error“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LED_Anzeige_Code.txt
; uint16_t count; // Zahl in Ziffern zerlegen // Einser ziffer4 = zahl % 10; zahl = zahl / 10; // Zehner if (zahl > 0) { ziffer3 = zahl % 10; } else { ziffer3 = 10; } zahl = zahl / 10; // Hunderter if (zahl > 0) { ziffer2 = zahl % 10; } else { ziffer2 = 10; } zahl = zahl / 10; // Tausender if (zahl > 0) { ziffer1 = zahl % 10; } else { ziffer1 = 10; } zahl = zahl / 10; for (count = 1; count <= dauer; count++) { // alle Ziffern
in „4x7 LED-Anzeige mit ULN2803 und UDN2981A - Berechnung Widerstände“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
LED_Anzeige_Code.txt
; uint16_t count; // Zahl in Ziffern zerlegen // Einser ziffer4 = zahl % 10; zahl = zahl / 10; // Zehner if (zahl > 0) { ziffer3 = zahl % 10; } else { ziffer3 = 10; } zahl = zahl / 10; // Hunderter if (zahl > 0) { ziffer2 = zahl % 10; } else { ziffer2 = 10; } zahl = zahl / 10; // Tausender if (zahl > 0) { ziffer1 = zahl % 10; } else { ziffer1 = 10; } zahl = zahl / 10; for (count = 1; count <= dauer; count++) { // alle Ziffern
in „4x7 LED-Anzeige mit ULN2803 und UDN2981A - Berechnung Widerstände“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
IR_Empfaenger_Code.txt
Helper Funktionen // ================================================================== void displayZahl(uint16_t zahl, uint16_t dauer) { // Variablen uint8_t ziffer1; uint8_t ziffer2; uint8_t ziffer3; uint8_t ziffer4; uint16_t count; // Zahl in Ziffern zerlegen // Einser ziffer4 = zahl % 10; zahl = zahl / 10; // Zehner if (zahl > 0) { ziffer3 = zahl % 10; } else { ziffer3 = 10; } zahl = zahl / 10; // Hunderter if (zahl > 0) { ziffer2 = zahl % 10; } else { ziffer2 = 10; } zahl = zahl / 10; // Tausender if (zahl > 0) { ziffer1
in „IR Empfänger - Auslesen TSOP Status in Pin Change Interrupt“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Code.txt
Helper Funktionen // ================================================================== void displayZahl(uint16_t zahl, uint16_t dauer) { // Variablen uint8_t ziffer1; uint8_t ziffer2; uint8_t ziffer3; uint8_t ziffer4; uint16_t count; // Zahl in Ziffern zerlegen // Einser ziffer4 = zahl % 10; zahl = zahl / 10; // Zehner if (zahl > 0) { ziffer3 = zahl % 10; } else { ziffer3 = 10; } zahl = zahl / 10; // Hunderter if (zahl > 0) { ziffer2 = zahl % 10; } else { ziffer2 = 10; } zahl = zahl / 10; // Tausender if (zahl > 0) { ziffer1
in „Compiler Optimization Level (-O1) ändert Ablauflogik?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Code.txt
// Einser ziffer4 = zahl % 10; zahl = zahl / 10; // Zehner if (zahl > 0) { ziffer3 = zahl % 10; } else { ziffer3 = 10; } zahl = zahl / 10; // Hunderter if (zahl > 0) { ziffer2 = zahl % 10; } else { ziffer2 = 10; } zahl = zahl / 10; // Tausender if (zahl > 0) { ziffer1 = zahl % 10; } else { ziffer1 = 10; } zahl = zahl / 10; for (count = 1; count <= dauer; count++) { // alle Ziffern und Segmente ausschalten PORTA =
in „Compiler Optimization Level (-O1) ändert Ablauflogik?“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
Code.c
// Einser ziffer4 = zahl % 10; zahl = zahl / 10; // Zehner if (zahl > 0) { ziffer3 = zahl % 10; } else { ziffer3 = 10; } zahl = zahl / 10; // Hunderter if (zahl > 0) { ziffer2 = zahl % 10; } else { ziffer2 = 10; } zahl = zahl / 10; // Tausender if (zahl > 0) { ziffer1 = zahl % 10; } else { ziffer1 = 10; } zahl = zahl / 10; for (count = 1; count <= dauer; count++) { // alle Ziffern und Segmente ausschalten PORTA =
in „Compiler Optimization Level (-O1) ändert Ablauflogik?“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
MLSEcholot01_V01.pdf
entspricht also der Binärzahl 0b101, also der „5“. Diese Zahl wird in einer Konstanten mit dem Namen „PolynomZahl“ gespeichert. Nun nimmt man eine zweite Variable mit Namen „SchiebeRegister“ und initialisiert sie mit dem Wert „1“. Das erste MLS-Bit ist ebenfalls
in „Ultraschall Merkmalsvektoren“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
crc.txt
Protokoll- beschreibung. Da steht : "Frame Check Sequenz "Die Frame-Check-Sequenz (FCS) ist eine 16-Bit-Zahl, die sowohl vom Sender als "auch vom Empfaenger eines Paketes berechnet wird. Sie wird benutzt, um "sicherzustellen, dass das Paket nicht von dem Medieum gestoert wird, welches "benutzt wird, um das
in „Pocsag Checksumme berechnen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
84A.asm
Prüfen, ob 1Sek vorbei ist decfsz loops3, F goto Int_end ; Zählervariable neu setzten movlw Zähler movwf loops3 ; 1 Sekunde abziehen, wenn 0, von vorne zählen decfsz sekunden, F goto Sekunde_NN goto Ende_zählen Sekunde_NN ; Einer und Zehner berechnen movlw sekunden movwf temp call HexDec ; Wert
in „PIC - Probleme mit Timer“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
DiskretFourier.pdf
Bei der Schwingungsanalyse gehören sie zum Alltag des Messingenieurs („Spektralanalyse“). Komplexe Zahlen (Wiederholung) werden als Punkte in der komplexen Zahlenebene dargestellt. Hier 2 sind vor allem komplexe Zahlen mit Betrag 1 interessant. Sie liegen auf z dem Einheitskreis. Ihre Phasen nennen wir
in „Buchempfehlung DFT, FFT, Digitale Filter“ · Digitale Signalverarbeitung / DSP / Machine Learning ·
-
Datei
AM_2302.bas
einstellen cpi Signal, _am_pos_flanke ;Positive Flanke, mit Entprellung brne Am2302_20 LDi Impuls, 1 ;Einsen-Zähler "Dauer" einschalten ldi Dauer, _Schwelle ;"Dauer" mit der _Schwelle laden ldi Notaus, _Timeout ;Timer Notausstieg aufziehen rjmp Am2302_30 Am2302_20: cpi Signal, _am_neg_flanke ;Negative Flanke
in „DHT22 / AM2302 Sensor Timing“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
AM_2302.bas
einstellen cpi Signal, _am_pos_flanke ;Positive Flanke, mit Entprellung brne Am2302_20 LDi Impuls, 1 ;Einsen-Zähler "Dauer" einschalten ldi Dauer, _Schwelle ;"Dauer" mit der _Schwelle laden ldi Notaus, _Timeout ;Timer Notausstieg aufziehen rjmp Am2302_30 Am2302_20: cpi Signal, _am_neg_flanke ;Negative Flanke
in „DHT22 auslesen“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
avrasm.txt
wir uns mal die Zahl 255 näher an, die Sache mit den negativen Zahlen kommt später. Das übliche dezimale Zahlensystem kennt 10 Ziffern (0,1,2,3,4,5,6,7,8,9) und hat als Basis die Zahl 10. Die Dezimal-Zahl 255 kann man damit
-
Datei
lauflicht.asm
m8def.inc" ; Definitionsdatei laden ;*** Definitionen *** ;******************** .DEF temp = R16 .DEF zaehler1 = R19 .DEF zaehler2 = R18 .DEF zaehler3 = R17 ;*** Konstanten *** ;****************** .EQU xtal = 4000000 ;4MHz Quarz ;*** Hauptprogramm *** ;********************* .CSEG ; Beginn eines Code-Segmentes
in „Anfängerproblem mit AVR“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
led_matrix.asm
behandeln reti ; sonst Timer0 Routine verlassen counts: clr tmp ; tmp wieder auf null setzen cpi zahler,65 ; alle LED's durch? breq LED_STOP ; sprung nach unten mov leds, zahler ; Zähler in Leds kopieren mov shift_cnt,zahler ; Zählerkopie nach shift_cnt für die multiplexer(154er) andi leds,15 ; nur die
in „BCD Z ählen (AVR ASM)“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
SteuerPIC.asm
;;;;;;;;;;;;;;;;;;;;;;;;;;;; PrintLCD_Temp ; Als erstes wird geschaut ob es sich um eine negative Zahl handelt, wenn ja dann wird ein negatives Vorzeichen ausgegeben btfss TempH, 7 goto notneg ; Negatives Vorzeichen movlw '-' movwf LcdDaten call OutLcdDaten ; Zahl in Positive wandeln comf TempH,f ; 1
in „PIC16F876A rs232 Port Steuern“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd_test.asm
.include "m8def.inc" .def temp1 = r16 .def temp2 = r17 .def zaehler1 = r18 .def zaehler2 = r19 .def busy_temp = r20 ldi temp1, LOW(RAMEND) ;Stack initalisieren out SPL, temp1 ldi temp1, HIGH(RAMEND) out SPH, temp1 ldi temp1, 0xff out DDRD, temp1 ;Port als Ausgang
in „lcd tutorial problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd_test.asm
.include "m8def.inc" .def temp1 = r16 .def temp2 = r17 .def zaehler1 = r18 .def zaehler2 = r19 .def busy_temp = r20 ldi temp1, LOW(RAMEND) ;Stack initalisieren out SPL, temp1 ldi temp1, HIGH(RAMEND) out SPH, temp1 ldi temp1, 0xff out DDRD, temp1 ;Port als Ausgang
in „lcd tutorial problem“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
lcd_test.asm
.include "m8def.inc" .def temp1 = r16 .def temp2 = r17 .def zaehler1 = r18 .def zaehler2 = r19 .def busy_temp = r20 ldi temp1, LOW(RAMEND) ;Stack initalisieren out SPL, temp1 ldi temp1, HIGH(RAMEND) out SPH, temp1 ldi temp1, 0xff out DDRD, temp1 ;Port als Ausgang
in „lcd tutorial problem“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
beginner_de.pdf
das Einerkomplement ins Spiel. Mit COM R1 wird der Inhalt eines Registers bitweise invertiert, aus Einsen werden Nullen und umgekehrt. So wird aus 1 die Zahl 254, aus 2 wird 253, usw. Anders ist die Erzeugung einer negativen Zahl aus einer Posi- tiven. Hierbei wird das Vorzeichenbit (Bit 7) umgedreht bzw
in „Langzeittimer für Anfänger“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
AVR_beginner_de.pdf
das Einerkomplement ins Spiel. Mit COM R1 wird der Inhalt eines Registers bitweise invertiert, aus Einsen werden Nullen und umgekehrt. So wird aus 1 die Zahl 254, aus 2 wird 253, usw. Anders ist die Erzeugung einer negativen Zahl aus einer Posi- tiven. Hierbei wird das Vorzeichenbit (Bit 7) umgedreht bzw
in „Anfang, aber wie?“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
beginner_de.pdf
das Einerkomplement ins Spiel. Mit COM R1 wird der Inhalt eines Registers bitweise invertiert, aus Einsen werden Nullen und umgekehrt. So wird aus 1 die Zahl 254, aus 2 wird 253, usw. Anders ist die Erzeugung einer negativen Zahl aus einer Posi- tiven. Hierbei wird das Vorzeichenbit (Bit 7) umgedreht bzw
in „kommentierter Befehlssatz in deutsch ATmega16“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
beginner_de.pdf
das Einerkomplement ins Spiel. Mit COM R1 wird der Inhalt eines Registers bitweise invertiert, aus Einsen werden Nullen und umgekehrt. So wird aus 1 die Zahl 254, aus 2 wird 253, usw. Anders ist die Erzeugung einer negativen Zahl aus einer Posi- tiven. Hierbei wird das Vorzeichenbit (Bit 7) umgedreht bzw
in „Spannungsveränderung schaltet Relais für ca. 30Sek->nur wi“ · Analoge Elektronik und Schaltungstechnik ·
-
Datei
ledctl.asm
LED festlegen festlegen ; (Dip 10 Schalter 9,10) LDI temp, 0x01 out $06, temp ldi temp,0x07 ; 8 Einsen in Universalregister out $07,temp ; an PortE ; Stackpointer einrichten ldi temp,low(ramend) ;Stackpointer setzen out spl,temp ldi r16,high(ramend) out sph,temp clr temp ; Zeiger Z initialisieren ldi
-
Datei
lass_prellen.asm
cntr = 0x60 waitfreekey: ;Wartet, bis alle Tasten losgelassen sind. clr cntr nook: sts _temp, cntr ;Zähler retten rcall outlook ;Hier prüfen, ob sich inzw. etwas relewantes ereignet hat lds cntr, _temp ;Zähler Restaurieren in taste, PIND cpi taste, 0b00111111 ;Für jeden Knopf ein Einser (davor evtl. AND-en
in „Entprellen gleich aller Tasten mit nur 7 Zeilen“ · Projekte & Code ·
-
Datei
ledctl.asm
als Schalter mit Pulllup wiederständen festlegen ; (Dip 10 Schalter 1-8) ldi temp,0b11111111 ; 8 Einsen in Universalregister out PORTC,temp ; an Datenrichtungsregister clr temp; Universalregister löschen out DDRC, temp ; 8 Nullen an Datenrichtungsregister ; Port D Rote LED LED festlegen DMX einrichten
in „ATMEGA 8515 programm läuft in realität nicht“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
Hadamard_MLS_V03.pdf
1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 Die Elemente von P entstehen aus den Binärstellen K j der Zahlen 0 bis 7: L−1 l L−1 l k l ∑ K l bzw. jl= ∑ Jl2 l=0 l=0 Die erste Zeile von P bzw. die erste Spalte vonQ stellt die Null dar, die zweite die Eins usw. . Das LSB steht ganz links: T P k , j K L− j−1bzw
in „Hadamard Transformation“ · Digitale Signalverarbeitung / DSP / Machine Learning ·
-
PDF
Hadamard_MLS_V03.pdf
1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 Die Elemente von P entstehen aus den Binärstellen K j der Zahlen 0 bis 7: L−1 l L−1 l k l ∑ K l bzw. jl= ∑ Jl2 l=0 l=0 Die erste Zeile von P bzw. die erste Spalte vonQ stellt die Null dar, die zweite die Eins usw. . Das LSB steht ganz links: T P k , j K L− j−1bzw
-
Datei
Encoder.c
ihr hat eine Stelle nach links Wann immer eine Eins einen nach Links geschoben wurde, schiebe ALLE Einsen rechts von dieser ganz nach Rechts in ihre Anfangsposition Zähle jeden Schritt einen nach oben */ #define DIGITS 3//3 ones in 6 places #define MAXCOMBI 20//= 6 over 3 uint8 encode(uint8 input){ uint8
-
Datei
IICTSUS.ASM
schreibenden Temperaturwertes PrintLCD_Temp ; Als erstes wird geschaut ob es sich um eine negative Zahl handelt, wenn ja dann wird ein negatives Vorzeichen ausgegeben btfss TempH, 7 goto notneg ; Negatives Vorzeichen movlw '-' movwf LcdChr call PrintLCD_Char ; Zahl in Positive wandeln comf TempH,f ; 1
-
Datei
84A.asm
Prüfen, ob 1Sek vorbei ist decfsz loops3, F goto Int_end ; Zählervariable neu setzten movlw Zähler movwf loops3 ; 1 Sekunde abziehen, wenn 0, von vorne zählen decfsz sekunden, F goto Ende_zählen ; Einer und Zehner berechnen call HexDec ; Wert ausgeben Ausgabe ; Gehe zur 9. Zeile movlw B'11000000
in „PIC - Probleme mit Timer“ · Mikrocontroller und Digitale Elektronik ·
-
Datei
84A.asm
Int_serv ; Prüfen, ob 1Sek vorbei ist decfsz loops3, F goto Int_end ; Zählervariable neu setzten movlw Zähler movwf loops3 ; 1 Sekunde abziehen, wenn 0, von vorne zählen decfsz sekunden, F goto Ende_zählen ; Einer und Zehner berechnen call HexDec ; Wert ausgeben Ausgabe ; Gehe zur 9. Zeile movlw B'11000000
in „PIC - Probleme mit Timer“ · Mikrocontroller und Digitale Elektronik ·
-
PDF
assembler_beginner.pdf
Einer-Komplement ins Spiel. Mit COM R1 wird der Inhalt eines Registers bitweise invertiert, aus Einsen werden Nullen und umgekehrt. So wird aus 1 die Zahl 254, aus 2 wird 253, usw. Anders ist die Erzeugung einer negativen Zahl aus einer Positiven. Hier- bei wird das Vorzeichenbit (Bit 7) umgedreht bzw
in „Assembler Tutorial als PDF ?“ · Mikrocontroller und Digitale Elektronik ·