0
Ζητώ τα ''φώτα'' όποιου γνωρίζει και μπορεί να βοηθήσει .
Στο παρακάτω σχέδιο , αν έχω καταλάβει καλά ,
ο σχεδιαστής στέλνει παλμούς απο δύο gpio του μικροελεγκτή στο υπόλοιπο κύκλωμα.
Παρακάτω υπάρχει ο κώδικας του PIC σε assembly .
Υπάρχει κάποιος γνώστης assembly να διευκρινίσει τοn τρόπο που στέlνει τους παλμούς.
Κάθε πότε ανοίγει κάθε ''πόρτα'' , τα delays κλπ.
esd gen circuit.jpg
Κώδικας:processor pic10f200 __config 0x018 ; MCLR, no code protection, watchdog off radix dec ; decimal numbers as default ;---------------------------------------------- ;----------------- Defines -------------------- w equ 0 ; W as destination f equ 1 ; File_reg as destination C equ 0 ; Carry flag (STATUS) DC equ 1 ; Digit_Carry flag (STATUS) Z equ 2 ; Zero flag (STATUS) ; Special Registers INDF equ 0x0 TMR0 equ 0x1 PCL equ 0x2 STATUS equ 0x3 FSR equ 0x4 OSCCAL equ 0x5 GPIO equ 0x6 ;----------- Variables ----------- cblock 0x10 cnt1 ; Counter 1 cnt2 ; Counter 2 endc ;--------------------------------- ;----------- RESET --------------- org 0 movwf OSCCAL ; Oscillator Calibration clrf GPIO movlw 0 ; All pins as outputs tris GPIO L0: movlw 163 ; time between pulses call delay bsf GPIO,0 ; Positive pulse: charging coil movlw 16 ; time to charge call delay bcf GPIO,0 ; Discharge movlw 5 ; time to discharge call delay bsf GPIO,1 ; Negative pulse: charging coil movlw 16 ; time to charge call delay bcf GPIO,1 ; Discharge goto L0 ;----------------------------------------- delay: movwf cnt2 ; generic delay (W: milliseconds) L100: movlw 249 movwf cnt1 L110: nop ; 4 cycles/loop decfsz cnt1,f goto L110 decfsz cnt2,f goto L100 retlw 0 end
Το project υπάρχει εδώ .
https://www.elektormagazine.com/labs...-esd-simulator