Port bővítés Shift regiszterrel

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
winnerbt
Chipfüstölő
Hozzászólások: 894
Csatlakozott: 2007. március 25. vasárnap, 6:00
Tartózkodási hely: Kecskemét

HozzászólásSzerző: winnerbt » 2012. november 10. szombat, 15:11

Pedig a PS2 billentyű is adja az órajelet. És ha bejön egy másik INT közben? Akkor gebasz van. Vagy ha tényleg 1 tüsi beszalad, akkor holta napjáig vár a PS2 billentyűzet többi bitjére? Senki nem illesztett még billentyűzetet (az egeret már meg sem merem kérdezni) AVR-hez?
Na, ilyenkor hiányzik pl. az INT prioritás, ami nincs ugye.
(azért mondjuk az egér protokol kiagyalója is jól érezheti magát a szüleivel, valami default módban csak elindulhatna, akinek nem tetszik, majd átírja, de hogy alapban semmi...)
Máshol is azt látom, külön AVR-t tesznek be csak PS2 kezelésére. Szóval nem csak én anyázok.

Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00
Tartózkodási hely: Balatonboglár

HozzászólásSzerző: DOGMAN » 2012. november 13. kedd, 7:27

Bence írta:Szia!

Majdnem jó, viszont annyit kell változtatni, hogy ahogy írtam a 74HC595-ös 10-es lábát (SCL) nem kell az AVR-el összekötni, ezt elég ha +5V-ra kötöd. (Most már ebben biztos vagyok, át is írom az első hozzászólásom).

Viszont az IC3 14-es lábát (SER) rá kell kötnöd az AVR-re, hiszen innen kapja az adatot! Ez lesz a Data_out. Például, ezt bekötöd a PC3-ra (AVR 26-os láb), akkor ezt kell beállítanod: Data_out Alias Portc.3


Na megépült a kapcsolás, és egy kis pontosítás: a 10-es és a 13-as lábat magasra kell húzni, vagy ha ki-be akarom kapcsolni a kijelzőket anélkül hogy törölném a tartalmukat, akkora 13-as fel/le húzásával tudom ezt megtenni, én a példarajzon felhúztam 10k-val 5V-re, így mindig világítanak.
Esetleg meg lehetne próbálni ide (13-asra) PWM lábat kötni és ezzel lehetne a fényerőt szabályozni.
Kép

Kód: Egész kijelölése

$regfile = "m32def.dat"
$crystal = 16000000
$baud = 38400


Clock_out Alias Portb.2                                     'Összes 74HC595 11-es lába
Latch_out Alias Portb.1                                     'Összes 74HC595 12-es lába
Data_out Alias Portb.0                                      'Első 74HC595 14-es lába

'A második IC 14-es lábát az első IC 9-es lábára kell kötni.
'A harmadik IC 14-es lábát a második IC 9-es lábára kell kötni, stb...
'A 13-as lábbal lehet ki-be kapcsolni a regisztereket anélkül, hogy a tartalmuk törlődne.

Config Clock_out = Output
Config Latch_out = Output
Config Data_out = Output

Dim Ic1 As Byte
Dim Ic2 As Byte
Dim Ic3 As Byte

Set Clock_out
Reset Latch_out
Reset Data_out

Ic1 = 0
Ic2 = 0
Ic3 = 0

Print "Start"

Do
  Input "Ic1: " , Ic1
  Input "Ic2: " , Ic2
  Input "Ic3: " , Ic3

  'Reset vége
  Shiftout Data_out , Clock_out , Ic1 , 0                   'Első IC feltöltése
  Shiftout Data_out , Clock_out , Ic2 , 0                   'Második IC feltöltése
  Shiftout Data_out , Clock_out , Ic3 , 0                   'Harmadik IC feltöltése
  'Annyiszor kell a Shiftout rész ahány IC van.
  Set Latch_out                                             'Ez azért kell hogy az IC lábain "kiírja" amit az előbb betöltöttünk
  Reset Latch_out
Loop

End

Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00
Tartózkodási hely: Zalaegerszeg
Kapcsolat:

HozzászólásSzerző: SirLeslie » 2012. november 13. kedd, 20:23

DOGMAN írta:Esetleg meg lehetne próbálni ide (13-asra) PWM lábat kötni és ezzel lehetne a fényerőt szabályozni.


Ha lett volna időm, - mint ahogy most sem tartozkodóm tartósan gép közelében - akkor egy hétszegmenses dcf77 óra projektet küldtem volna a versenyre, amiben pontosan így készül el annak idején a fényerő vezérlés: avr pwm kimenetével szabályozható a fényerő (megvilágítástól függően, hogy éjszaka ne vakítson). Tökéletesen használható, bevált megoldás.


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég