-
Thread
Ansteuerung von 2 kaskadierten Ls259 (DL259) mit AtMeg8515.
Ansonsten ist es viel einfacher, ein Schieberegister mit Leistungsausgang zu nehmen, z.B. TPIC6C595 oder TPIC6B595, dann braucht man auch keinen ULN2803 mehr. Für 16 Relais schaltet man dann 2 hintereinander. http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI Peter
Ich habe den 74HC259 zur Ansteuerung der Kommapunkte einer Siebensegmentanzeige verwendet. Die drei Adressbits A,B,C plus Datenbit D bilden einen 4-Bit-Datenbus, der noch die 7-Segment-Decoder 4543 versorgt, damit ist
-
Thread
Drehzahlmessung über I2C
Hallo, du nimmst ein Schieberegister 74HC595 oder was ähnliches. Da kommt dein Wert rein. Die Ausgänge schließt du an I²C Portexpander ein. Die kannst du dann einlesen. Aber ein Zähler ist wirklich besser. Dann bekommst du auch direkt einen
74HC393 8 Bit Counter Du wirst aber auch noch ein paar gatter ect. brauchen
-
Thread
TXS0108E schafft SPI Signal nicht
5V -> 3,3V kann man einen 74HC4050 nehmen.
Diese IC-Serien sind groß, man kann Pegeländerung zusammen mit anderen Funktionen mischen, z.B. mit 74VHCT138 oder mit 74LVC74 oder mit 74VHCT595 usw.
-
Thread
Alternative TPIC6B595
Hallo, ich suche ein Shiftregister welches vom Prinzip ist wie der TPIC6B595 (http://www.mikrocontroller.net/part/TPIC6B595) Allerdings bräuchte ich es so, dass ich als digitalen High Pegel das 3.3V Signal vom FPGA nehmen kann und die ausgänge quasi keine Transistoren sind
74HC595 ?
-
Thread
Hot Plugging von 74HCxxx IOs
Hallo, ich habe mehrere 74HC595 als Ausgänge an einem ATMega dran. Möchte nun entweder auf 74HC14 oder aber direkt wieder auf einen ATMega gehen. Leider muss ich in der Lage sein die Verbindungen im eingeschalteten Zustand
-
Thread
L298D, Arduino Nano und Modellbahn
Ma S. schrieb im Beitrag #5164167: > Vielleicht mittels AND-Gatter? Nimm Multiplexer. Z.B. 74HC4051.
Schieberegistern und nur einem Steuercontroller. Dann brauchst du für jeweils 8 Fahrabschnitte nur einen 74HC595. Den Rest erledigt die Software.
-
Thread
ATtiny45 Ein- Ausgänge konfigurieren
Platinenlayout, wenn man nicht hunderte Drähte separat ziehen muß. Ich nehme lieber zusätzliche IO-Expander (74HC165, 74HC595), wenn dadurch das Layout einfacher wird. Peter
-
Thread
Programmierproblemchen
Einfacher als Multiplexen ist die entsprechende Anzahl 74HC165 hintereinander und rann an das SPI. Kostet 3 Pins, wobei das SPI natürlich noch anderweitig benutzbar ist (z.B. mit 74HC595 für mehr Ausgänge). Peter
-
Thread
LCD, Schieberegister, Timing-Verständnis?
darüber, wann denn die Daten verarbeitet werden. Nun gut. Habe mir also einen Treiber mit dem 74HC164 aufgebaut, alles angeschlossen und das Proggy für die Tina umgeschrieben, aber es will noch net. Könnte bitte jemand das Programm mal kontrollieren und mir Viehtbäck geben, ob mein Fehler Programm
Hallo, möchte an dieser Stelle nochmals nachhaken, denn geschoben (mit dem 74HC164) läuft bei mir noch immer nix. Folgender Testaufbau: Ein ATtiny2313 steuert (gleichzeitig) ein LCD parallel und eines seriell an. Beide sollen das gleiche ausgeben - aber nur bei dem mit paralleler
-
Thread
Mitstreiter für VFD-Modul mit AVR und SPI/I2C/UART Interfac
leider ein Mega8 da ich das vor ein paar Jahren gemacht habe bevor es R8C/M16C gab. Schieberegister ist 74HC4094, der Rest halt Gemuese das so rumliegt. Von aussen angesteuert wird es ueber I2C. Schaltplan habe ich keinen da ich bei so einfachen Sachen meist zuerst die Platine mache und irgendwie bin
O : NC */ /* PD6 : O : Clockausgang nach 74HC4094 (CP) */ /* PD7 : O : Datenausgang nach 74HC4094 (D) */ /* */ /* PC0
-
Thread
Schieberegister => 8 Mosfets (Sicherheitsschaltung?)
Oft sieht man eine Überwachung des RCK mit einem Monoflop (74HC123). Fällt SCK aus, kann die CPU abgestürzt sein. Dann schaltet der Monoflop den /OE des SRG (74HC595) ab und alle MOSFETs schalten über einen Pulldown am Gate aus.
-
Thread
LED Pulsstrom Erfahrungswerte
Vorwiderstände verpassen sollte oder nicht. Betriebsspannung liegt bei 5V, die Spalten werden über 8 74HC595 angesteuert, deren Ausgänge über 8 UDN 2981 verstärkt werden. Da diese ja einen relativ großen Spannungsabfall haben stellt sich mir die Frage, ob ich dann überhaupt Vorwiderstände einplanen sollte
den einfach, im Gegensatz zur Controllerschaltung, Beispielsweise an 9V anschließen und dann mit den 74HC595 von der 5V Seite aus ansteuern? Sprich für die Controllerseite aus den 5V mittels Spannungsregler 5V machen und die UDN 2981 direkt an die Versorgungsspannung?
-
Thread
Sieben-Segment-Anzeige? Sehr einfache Ansteuerung?
BCD-Code aus ... >Eigentlich wollte ich die Treiber-IC's nacheinander... Oh mein Gott! Nimm paar 74HC595 zur Ansteuerung der 7Seg-anzeigen und dekodier das im PIC! Das benötigt drei Leitungen und fertig! Machs doch nicht komplizierter als es ist
Wenn man es wirklich etwas sondersam will: - 6 x 74AC373 als Latch, +- 50mA ,max. ges. +-200mA benötigt 7 (8 mit DP) Pins - 1 x 74HC4051 als Mux um LatchEnable an die 373 zu schalten benötigt 3 Pins Statische Anzeige mit schneller (da paralleler
-
Thread
RC-Taktgenerator NAND-GATTER - Frequenz berechnen
Frequenz kann ich erwarten Welche IC verwendest du ? 7400 ? Sehr übel, da stark asymmetrisch. 74HC00 ? Auch doof, weil dessen Eingangsschutzdioden ein Umladen über den Widerstand stark einschränken, es wird nicht der Kondensator um 5V umgeladen, sondern beim umschalen erst mal bis 0.7V kurzgeschlossen
Wenn man es eilig hat, nimmt man einen 74F14 statt des 4093! Falls man einen 74F14 zur Hand hat.
-
Thread
Nachfolger für 80535 gesucht?
gestrickt bekommen. Du brauchst bestimmt nicht alle 32 IOs in High-Speed. Dann kann man bequem mit 47HC165/74HC595 die IOs beliebig erweitern. Oder wenn nur ein analog Eingang frei ist, einfach nen 74HC4051 davor setzen. Peter
-
Thread
Anzeige-/Alarmanlage mit Butterfly
sie gerne modernisieren. Nun zu meinem "Projekt". Ich stelle mir eine Lösung mit Schieberegistern 74HC165 als "sender" und 74HC595 als "Empfänger" vor. Für die Anzeige würde ich Low-current-LED's verwenden. Für die Steuerung hätte ich einen AVR Butterfly zur Verfügung. Die Schaltung stelle ich mir
Schieberegister vor. Ich betrachte mich als Einsteiger in diese für mich neue Technik mit µC und den 74HCxx. Habe Elektronik-, TTL- und einige Programmierkenntnisse (noch kein C!). Frage an die Experten bevor ich viel Zeit investieren und dem Forum dann auf die Nerven gehe: Kann das so was werden?
-
Thread
Octal D-Latch FF mit 2 Chip Select??
Flipflops verbauen möchtest, sollte das OR-Gatter nicht wirklich stören - im 14poligen Gehäuse des 74xx32 sind immerhin gleich vier davon untergebracht. Sollten die CS-Signale active-High-Signale sein, brauchst Du ein AND-Gatter, das im 74xx08 ebenfalls viermal enthalten ist.
Relaismatrix.. schau dir mal den 74hc595 an.
-
Thread
TPIC6B596 alternative um Versorgunsspannung (5V) anstatt GND zu schalten
die nicht Masse schalten sondern Versorgungsspanung (5V)? Was ich auch überlegt habe ist einen 74HC595 zu nehmen und damit P-channel MOSFETs zu schalten, lieber wär mir aber gleich ein einzelner Chip. Die SHARP GP2D12 Distanzsensoren machen mit der durchgeschalteten Masse Probleme, wenn der Arduino
mit ähnlichen Stromstärken, die > nicht Masse schalten sondern Versorgungsspanung (5V)? NPIC6C595 PS: Manchmal frage ich mich, ob ich ein besonderes Talent in der Anwendung von Google habe. Denn die Antwort auf diese Frage hatte ich (wie so oft) innerhalb von 20 Sekunden gefunden.
-
Thread
Atmel 128 EVB + AVR-JTAG USB Debugger zu verkaufen
: 1 CPU Mega128L 1 MAX485 1 I2C Chip 24C02 2K extern. EEPROM 1 I2C I2C RTC (PCF8563) 1 SPI 74HC595 für 4 stück 7 segment digital display 1 74HC573 für 8 LEDs 8 Taster 1 Buzzer 2 Poti für ADC Input 1 JTAG Schnittstelle 1 ISP Schnittstelle 1 RS232 Schnittstelle für PC 1 USB Schnittstelle
-
Thread
Welcher MC wäre auch geeignet?
In allen anderen Fällen kann man so gut wie immer IOs mehrfach verwenden bzw. einfach erweitern (74HC595, 74HC165). Siehe mein Beispiel mit dem ATTiny12 (5Pins für: LCD +Taste +2Temperatursensoren +RTC) in der Codesammlung. Im Gegenteil, je weniger Leitungen direkt zum MC gehen, umso weniger
-
Thread
Datenblatt oder Infos zu Seiko Epson SED 5031M
Für die Ansteuerung gibt es sicher Beispielprogramme für 74HC4094 oder 74HC595, die sind sehr ähnlich gebaut, nur für 8 statt 12 Bit. Ist die LED-Matrix gemultiplext, also wie in der TV-Bildröhre zeilenweise reihum angesteuert? Dann muss die Software das auch
-
Thread
mit Schieberegister eine Spannung zwischen 0 und 1V regeln
mehrere dieser LED-Treiber über ein Schieberegister steuern. Dabei möchte ich über das Schieberegister (74HC595) einstellen, welche LEDs angeschaltet sind. Alle angeschalteten LEDs sollen dann die gleiche Helligkeit haben. Meine Idee war, ein PWM-Signal auf den OutputEnable-Eingang des Schieberegisters
ein grundsätzlich nicht eingebauter Nebeneffekt, der nicht unbedingt beim erstbesten Typ aus der 74HC...-Liste klappen muss.
-
Thread
3x7Segment-LED ansteuern
Teuer aber einfach: MAX7219 = 3 Pins Billig, aber selber multiplexen: 74HC164 für die Segmente = 2 + 3 = 5 Pins. Peter
Als weitere Alternative 2 x 74xx595 = 3 Portleitungen aber 2 IC 16 Pin zusätzlich. Sind allerdings recht preiswert.
-
Thread
Schieberegister-Kaskade ansprechen
eine Schaltung vor mir, wo 4 Schieberegister kaskadiert wurden. Die Ansteuerung der Schieberegister,74HC595D, erfolgt über SPI, Controller ist ein AtMega32. Meine Frage dazu ist, wie steuere ich so was an, ich hatte mir ueberlegt das so zumachen: Das Array ground_tab ist eine Vorgabe, diese Werte muessen
digit = B0 | B0_; SPDR = digit; loop_until_bit_is_set(SPSR, SPIF); } /* * Update the '595 output latches from the values shifted through the * chain. */ static void load_595_latches(void) { PORTB |= _BV(PB4); PORTB &= ~_BV(PB4); } ... if (update_display) {
-
Thread
Porterweiterung
Hi, ich hab mal gelesen dass man als Porterweiterung für den AVR den 74HC595 für Ausgänge und den 74HC165 für Eingänge verwenden kann. Kann mir einer von euch sagen wie man diese Chips an den AVR anschließen muss, und wie man sie programmmäßig benutzt? Mit freundlichen
-
Thread
schematic review
die LEDs (extern und Optokoppler, da der Optokoppler nur 2mA schalten muss), man könnte sie an einen 74HC595 oder 74HC04 in Reihe mit nur einem Strombegrenzungswiderstand schalten, ich würde den sogar auf 5mA oder 10mA auslegen. 5V-1.2V-2.1V = 330R bis 150R. Und die MOSFETs die deine Last schalten
-
Thread
Messtechnik (Ein & Ausgangsproblem)
und 20 wahrscheinlich gemultiplexte ADCs Kanaele. Die Digitalen kann man mit den Schieberegistern 74HC595 & 74HC597 bereitstellen. Dann einen 4 -fach Analogschalter an jeden Pin und gut ist. Dann beginnt es aber erst. Die DAC haben dann den Innenwiderstand des Analogschalters in Serie. Und die DAC haben
-
Thread
Was sind eure Lieblings-ICs?
74HC14 - erstens weil man damit alles bauen kann und zweitens, weil ich noch ein paar Säcke davon habe :-) Ok, Tiny85 ist auch nicht so schlecht.
Ufff ... 4017, 4046 (74HC7046), 4051, 4060, 4094, 40106, 74HCU04 TL072, NE5532, OPA627, LM3886 PIC32MZ2048EFM100, ATm48, ATm328 LM7001, ADF4351, NE/SA612/602 PCM1704 So ungefähr ... Gruß Jobst
-
Thread
5x7 LED - ASCII Charset
das ganze so standardmäßig mit Zeilen multiplexen und Spalten Schieberegister aufgebaut (ATMega16, 74HC595, 74HC259) wie setz ich so ein Zeichen in so einem Zeichensatz überhaupt ein? Danke für die Hilfe Greetz Ebi
-
Thread
SPI Debugger / Logger gesucht
Alternative ohne Verwendung von 2 Hardware-SPIs: 2x 74HC595 am externen Bus des Mega162. Einer für MISO einer für MOSI. SCK zusätzlich an einen Timer-Eingang zum Bitzählen. OCx-Ausgang von diesem Timer an den "Latch" Anschluss der 595-er. Damit sollte man
-
Thread
Wie ist PORTB implementiert?
gemacht. Der einzige Unterschied, in der Mainloop wird noch das io_update(); aufgerufen, was dann die 74HC595 und 74HC165 Kaskaden setzt bzw. liest.
physischen Port gehört sondern zu einem SPI Interface (heißt da SerPa "Seriell-Parallel" Converter wie 74*595 etc), dann wird auf dem entsprechenden Puffer für's SPI Interfact operiert
-
Thread
Langes Programm: Fehlfunktion AVR ATmega32
arbeiten direkt auf diesem Pseudo-IO SRAM. Ich benutze diese Technik mit SPI IO-Erweiterungen (74HC165, 74HC595), dadurch wird das Programm sehr übersichtlich und klein (keine tausend Funktionsaufrufe, sondern direkte Variablenzugriffe). Der AVG-GCC kann ja komfortabel Bitvariablen definieren.
-
Thread
Ateval Atmel Evalutionsboard - Anzahl Ein- und Ausgänge?
Ausgänge, man kann auch I2C Verbunde I/O Ports verwenden. Dann gibt es auch noch als Basis wissen, die 74HC595 (Out) und 74HC165 (Inp) Bausteine und darüberhinaus noch viele spezialisierte Chip, teilweise mit FET Treibern integriert.
-
Thread
MAX7219 und 7-Seg-Anzeigen mit UF>5V
schleierhaft, warum man dafür einen MAX... nehmen soll. Entweder je Digit ein 8 Bit Schieberegister (4094, 74HC595) mit nachgeschaltetem Treiber (ULN2803) oder je einen TPIC6B595.
-
Thread
Vergleich der µCs nach IO-Performance
Pin-Change einen Rechteckpuls machen könnte (dann könnte ich das Kanalwechselsignal als RCK für einen 74HC595er nehmen). Hey, ich bin völlig off socks, begeistert, und ... :D > Hm, also ich versteh nicht, wieso du das nicht in einem kleinen FPGA > erledigen willst. Nun, "eigentlich" bin ich nur
Teilen heißt das, dass die seriellen Daten max. 10 MHz Takt haben dürfen. Da hilft es ungemein, einen 74HC595 zu nehmen, der auch noch mit 50 MHz getaktet werden darf. Mit dem Pin-Change war ich auf der falschen Spur, der kommt zu spät. Könnte ich den Bytewechsel auch mit einem zusätzlichen Schieber
-
Thread
Led display in ganz viele und möglichst schnell
Rot und eine in Grün und das dann zu synchronisieren. Als erstes kamen mir da natürlich die guten 74hc595 in den Sinn die ich mir für ein anderes Projekt mal in rauher Menge zu einem Spottpreis bestellt hatte. Das hieße jedoch das ich jede der LEDs (ich denke so an Minimum 64 pro Farbe/Speiche mit
den 400Hz hat man einerseits, andererseits könnte man auf einer zentralen Platine eine Menge an 595ern verbauen und dann über den rotierenden Bogen die LEDs verteilen. Das führt aber schnell zu einer Menge Kabel und zu langen Kabeln, was viel Induktivität bedeutet, was auch wiedererum nachteilig sein
-
Thread
ADC will nicht
100nF an Pin 21 (MEGA8) und Poti am ADC1. Nun soll der Wert an der SPI ausgegeben werden wo ein 74HC595 dran hängt. Geht aber nicht. AVCC ist an +5 Volt. Was ist falsch die SPI funktioniert [c] #define F_CPU 1000000UL #include <avr\io.h> #include <util/delay.h> #define MOSI PINB3 #define SCK
} } [/c] so geht jetzt. Das ADC/4 habe ich weil ich nur 256 Werte darstellen möchte. Am HC595 werden jetzt die Werte entsprechend dargestellt (an den LED´s)
-
Thread
Was sind eure Lieblings-IC's ?
74HC595D, SG3524D ;-) >Ein echter 1 Bit Prozessor. > Wozu kann man DAS dnn brauchen? Zur Berechnung des Paritätsbit ;-)
74xx00 mit dem Ding kann man alles machen! :-)
-
Thread
pcf8574 mit ULN2803 I"C Ansteuerung
und im Netz. Als weitere und sehr billige Lösung zur Porterweiterung bieten sich Schieberegister(74HC595 / CD4094) und 8-bit-Latches (74HC573) an. Diese verfügen über Freigabeeingänge, damit lassen sich die Ausgänge sperren, bis der Controller erwacht ist. Gruss Jadeclaw.
-
Thread
mcp23017 und udn2981 für 2x 8 channel solid state relay
mit 5 V auf der sichereren Seite sein. PS: Ursprünglich wollte ich die Schaltung mit dem TPIC6B595 machen (gefällt mir super), aber ich habe nur Schaltungsbeispiele für den 74HC595 gefunden (und die Behauptung, dass die 595er Reihe -also auch die TPIC-Reihe- gleich zu betreiben wäre, was aber bei
Allerdings musst du ein 1-Bit senden, damit der Ausgang Aktiv (also Low) wird. Im Grunde ein normales 595er mit einem ULN2803 in einem Gehäuse. Die Programmierbeispiele des normalen 595er passen (wobei das ein einfaches Schieberegister ist, das kann man mit wenigen Zeilen selber machen), nur das eben nicht
-
Thread
Industrie Musterlösung für "Multitasking" etc.
indem man die Ausgänge mit einem HW-PWM Ausgang latcht. Man braucht dann ein externes Latch (z.B. 74HC595 oder 74HC574).
-
Thread
Ist mein SPI defekt ?
ISP funktioniert jedoch tadellos. Sowohl SS als auch CLK hingen an jeweils 2 Schieberegistern (1x74HC165 & 1x74HC595) Ist die Belastung für den Controller vielleicht zu hoch gewesen ? Die angeschlossene Platine zeigt auch, abgesehen davon dass das Programm nicht mehr läuft, keinerlei ungewöhnliches
-
Thread
Hilfe bei Laufschrift
http://www.roboternetz.de/phpBB2/printview.php?t=39524&start=0 Nun habe ich die Matritzen und die 74HC595's vor mir liegen und fange an mich zu fragen, ob ich mich nicht doch mächtig überschätzt habe. Anfangs bin ich blind davon ausgegangen, dass schlichtweg jede LED einzeln angesteuert wird - das
nehmen. Wenn dies läuft, ersetzt Du die die direkte Ansteuerung der Spalten-Transistoren durch die 74HCT595, die dann seriell gefüttert werden. Die LEDs können zum Erreichen grösserer Helligkeit auch mit wesentlich höheren Impulsströmen (siehe Datenblatt der LED) betrieben werden. Das sollte aber
-
Thread
Schieberegister LED 30mA
>8 LEDs gleichzeitig ansteuern, die 30mA verbrauchen eine allein 30mA oder alle zusammen? der 74hc595 kann ohne jetzt genau ins datenblatt nachgesehen zu haben insgesamt 70mA nach vcc oder gnd ableiten. pro pin allerdings maximal ca. 30mA nach vcc/gnd. wenn also alle zusammen 30mA verbrauchen
Bit-Schieberegister 8 LEDs gleichzeitig >ansteuern, die 30mA verbrauchen. Gibt es eine Lösung dafür? Ja, TPIC6B595. MFG Falk
-
Thread
Arduino Verkablung | Bitte helfen |
7Segment Kodierung kannst du ruhig dem µC überlassen. Üblicherweise wird als Porterweiterung gerne ein 74HC595 oder, falls du mehr Strom brauchst, ein TPIC6B595 genommen.
-
Thread
Raspberry GPIO, viele Eingänge, Ausgänge, Expansion Boards
der Status für den OUT wirklich okay ist). Das Basisprinzip - denke ich - habe ich verstanden. Z.B. 74HC595 für multiplexen in Kaskadierung für OUT. Nun vielleicht den 74HC165N für IN in Kaskadierung!?... Gibt es fertige Platinen? Wenn ich zum Beispiel das "Raspberry Pi GPIO Expansion Module" finde,
-
Thread
STM32F4 - SPI und Schieberegister
Guten Abend euch, derzeit Versuche ich einen Schieberegister (74HC595) mittels SPI anzusteuern. Jedoch klappt das garnicht, habe schon versucht, mehrere Tutorials auf das STM32F4 Discovery-Board zu übertragen, jedoch scheint alles zu scheitern. Meine Beschaltung
sich natürlich genau der Effekt daß nach der Übertragung die Leitung auf high geht. So wie es der 595 haben will. Bleibt aber die Frage ob der RCK Eingang überhaupt bedient wird. Ich vermute daß das nicht passiert.
-
Thread
hc595 CLK+RCLK
"Also muss ich dann zum schluss nochmal ein clock extra ausgeben???" Ja. Oder gleich nen 74HC164 nehmen. Peter
sich die Ausgangsmuster während des Schiebens. Wenn man bei 595 die Takte parallelschaltet, hat man dessen wesentlichen Vorteil verloren.
-
Thread
Bitte nur um ein Kontrolle eines Schaltplan's(Atmega/Saa1064)
handelt sich um diesen hier : > http://www.reichelt.de/index.html?ACTION=3;ARTICLE=1605;SEARCH=16,0000-HC18 > > Dort steht 32pf also dann wohl 2*32pf Da habe ich lange Zeit die kurze Version benutzt, 16,0000-HC49U-S, auch CL=32pF. 56pF passen zu denen, die Platine und die Pins sind ja auch noch für
74HCT595 gehen auch, sind billig und können sowohl auf gemeinsame Anode, wie auch Katode arbeiten. Also wenn du sowieso für alles offen bist, kannst du dir die Lösung auch mal angucken.
-
Thread
Suche Protokoll
FTDI2232H -> RS485 -> ~Kabel~ -> RS485 -> AVR Der AVR schiebt dann über SPI die Daten auf einige 74HC595 raus wobei diese Anzahl immer unterschiedlich sein kann (also einmal nur 4x8bit oder auch 12x8bit). Weiters würde ich gerne die Möglichkeit für DA/AD Wandler nicht verbauen und natürlich auch digitale Eingänge (74HC165) sollten sich verbauen lassen. Am liebsten würde ich nur eine Software für den AVR schreiben und per Protokoll die HW abbilden lassen. Ich dachte schon an ModBus, aber der ist gerade bei den