Torna indietro   Hardware Upgrade Forum > Software > Programmazione

 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-06-2004, 09:48   #1
WhiteR@bbit
Senior Member
 
L'Avatar di WhiteR@bbit
 
Iscritto dal: Jul 2002
Città: 3vis0
Messaggi: 423
HELP..per esame elettonica

Scusate per il topic luuuuungo....

Salve a tutti, ho un mio amico che è depresso al massimo: deve presentare un esame di elettronica, ma non riesce a capire come mai non funziona a dovere.
Il progetto consiste nel realizzare un cancello che si apre quando una vettura passa davanti ad un sensore. Il risultato del codice qua sotto è che il cancello si apre si, ma solo con telecomando.
Vi chiedo aiuto nell'individuare se il problema sta nel codice, o nella realizzazione pratica. (se il codice è ok, gli dirò di controllare il progetto)

Premetto che io non ho la benchè minima conoscenza di quanto sto per postare, il mio ruolo è solo quello di vicino di casa di uno sfigato che un esame tra pochi giorni...
FILE1: "RICEZIONE.ASM"
Codice:
.TITLE	"RICEVITORE"
.VERS	"ST62E65"
;*********************************************** registri per uso generale ***************************************


X 	.DEF 080h			;regisro x
Y 	.DEF 081h			;regisro y
V    	.DEF 082h			;regisro v
W 	.DEF 083h			;regisro w
A 	.DEF 0FFh			;regisro a

;*********************************************** registri per le porte I/O ***************************************

PORT_A	.DEF 0C0h			;Data register A port
PORT_B	.DEF 0C1h			;Data register B port
PORT_C	.DEF 0C2h			;Data register C port

PDIR_A	.DEF 0C4h			;Data direction reg. A port
PDIR_B	.DEF 0C5h			;Data direction reg. B port
PDIR_C	.DEF 0C6h			;Data direction reg. C port

POPT_A	.DEF 0CCh			;Option register A port
POPT_B	.DEF 0CDh			;Option register B port
POPT_C	.DEF 0CEh			;Option register C port


;*********************************************** registri di interrupt ***************************************

IOR	.DEF 0c8h			

;*********************************************** registri data rom windows ***************************************

DRW	.DEF 0c9h

;*********************************************** registri timer 2 ***************************************

ARRC	.DEF 0D9h			;reload capture register
ARCP	.DEF 0DAh			;compare register
ARMC	.DEF 0D5h			;mode control register
ARSC0	.DEF 0D6h			;status control register
ARSC1	.DEF 0D7h			;status control register
ARLR	.DEF 0Dbh			;load register

;*********************************************** registri A/D converter ***************************************

ADCR	.DEF 0D1h			;registro di controllo
ADDR	.DEF 0D0h			;registro dati

;*********************************************** controllo oscillatore ***************************************

OSCR	.DEF 0DCh			;oscillator control register

;*********************************************** controllo eeprom ***************************************

DRBR	.DEF 0E8h			;data ram/eeprom bank register
EECR	.DEF 0EAh			;eeprom control register

;*********************************************** registr watchdog ***************************************

WDOG	.DEF 0D8h			;registro wachdog

;*********************************************** timer 1 ***************************************
PSC	.DEF 0D2h			;controllo prescaler
TCR	.DEF 0D3h			;registro dati
TSCR	.DEF 0D4h			;registro di controllo dati

;*********************************************** controllo SPI ***************************************

SPID 	.DEF 0E0h			;SPI data register
DIV	.DEF 0E1h			;SPI divider register 
MOD	.DEF 0E2h			;SPI mode register
MISCR	.DEF 0DDh			;miscellaneous register


;****************************************************variabili****************************************
CODICEA .DEF  084h			;codice apricancello
CODICEB .DEF  085h			;CODICE B
MEMMOT	.DEF  086h
L	.DEF  087h

;*********************************************** inizio programma dall'ind. 080h ***********************************

	.org 080h			;inizio programma
INIZIO	LDI  WDOG,0ffh			;ricarico watchdog
	LDI  PDIR_A,11000000b		
	LDI  POPT_A,00000000b		
	LDI  PORT_A,00000000b		
	
	LDI  PDIR_A,11000000b		
	LDI  POPT_A,11000000b		
	LDI  PORT_A,00000000b

	LDI  PDIR_B,11000010b		
	LDI  POPT_B,00110000b		
	LDI  PORT_B,00001101b	

	LDI  PDIR_B,11000010b		
	LDI  POPT_B,11110010b		
	LDI  PORT_B,00001101b	

	LDI  PDIR_C,00000001b		
	LDI  POPT_C,00000000b		
	LDI  PORT_C,00000000b	

	LDI  PDIR_C,00000001b		
	LDI  POPT_C,00000001b		
	LDI  PORT_C,00000000b		

	LDI  ADCR,0			;disabilita il convertitore
	LDI  TSCR,0			;disabilita timer 1
	LDI  ARMC,0			;disabilita ARMTIM
	LDI  IOR,00110000b 		;disabilita tutte le interruzioni
	LDI  MOD,0			;disabilita spi
	RETI				;ripristina i flag principali
	JP  MAIN			;salta al programma principale

;****************************************Programma principale**************************



MAIN	LDI  WDOG,0ffh
	RES	6,PORT_B		;DISABILITO 555
	RES	0,MEMMOT
BIT0	JRR	0,PORT_A,MEM0		;LEGGO IL CODICE	
	SET	0,CODICEA
	JP	BIT1
MEM0	RES	0,CODICEA
BIT1	JRR	1,PORT_A,MEM1
	SET	1,CODICEA
	JP	BIT2
MEM1	RES	1,CODICEA
BIT2	JRR	2,PORT_A,MEM2
	SET	2,CODICEA
	JP	BIT3
MEM2	RES	2,CODICEA
BIT3	JRR	3,PORT_A,MEM3
	SET	3,CODICEA
	JP	BIT4
MEM3	RES	3,CODICEA
BIT4	JRR	4,PORT_A,MEM4
	SET	4,CODICEA
	JP	BIT5
MEM4	RES	4,CODICEA
BIT5	JRR	5,PORT_A,MEM5
	SET	5,CODICEA
	JP	BIT6
MEM5	RES 	5,CODICEA
BIT6	RES	6,PORT_A		;DISABILITO TRASMISSIONE
	RES	7,PORT_A		;ABILITO RICEZIONE
	LD	A,CODICEA
	ANDI	A,00111111B
	LD	CODICEA,A
	CALL	DELAY					
ABTRASM	LDI  WDOG,0ffh
	JRR	0,PORT_B,ABTRASM	;QUANDO ARRIVA UN FRONTE DI DISCESA PROSEGUE	
	CALL	DELAY4	
	LDI	W,7
	LDI	L,0
RX	LD	PORT_B,A
	ANDI	A,00000001B
	ADD	A,L
	SLA	A
	LD	L,A
	CALL	DELAY1
	DEC	W
	JRZ	FIN1	
	JP	RX
FIN1	SZ<X,A

	

	LD	A,CODICEA
	CP	A,CODICEB		;COMPARO I DUE CODICI
	JRNC    BAM
	JP	MAIN
BAM	JRZ	APRI
	JP	MAIN
APRI	SET	6,PORT_B		;ABILITO 555
	SET	7,PORT_B		;COMANDO1 MOTORE
	RES	0,PORT_C		;COMANDO2 MOTORE
	SET	0,MEMMOT
FINEC2	LDI  WDOG,0ffh
	JRR	3,PORT_B,FINEC2
	RES	6,PORT_B
	CALL	DELAY2
	SET	6,PORT_B		;RIABILITO555
	RES	7,PORT_B		;INVERTO IL VERSO DEL MOTORE
	SET	0,PORT_C
	SET	1,MEMMOT		
FINEC1	LDI  WDOG,0ffh
	JRR	2,PORT_B,FINEC1
	RES	6,PORT_B
	RES	7,PORT_B
	RES	0,PORT_C
	JP   	MAIN



DELAY2  LDI	v,255
	LDI	Y,93
DEL2	LDI	X,255
CIC2	LDI  WDOG,0ffh
	DEC	X
	JRNZ	CIC2
	LDI  WDOG,0ffh
	DEC	Y
	JRNZ	DEL2
	LDI  WDOG,0ffh
DEL3	DEC	V
	JRNZ	DEL3
	RETI

DELAY	LDI  WDOG,0ffh
	LDI	Y,41
DEL	LDI	X,255
CIC	LDI  WDOG,0ffh
	DEC	X
	JRNZ	CIC
	DEC	Y
	JRNZ	DEL	
	RET

DELAY1	LDI  WDOG,0ffh
	LDI	Y,3
DEL1	LDI	X,34
CIC1	LDI  WDOG,0ffh
	DEC	X
	JRNZ	CIC1
	DEC	Y
	JRNZ	DEL1
	RET

DELAY4	LDI  WDOG,0ffh
	LDI	Y,3
DEL2A	LDI	X,35
CIC2A	LDI  WDOG,0ffh
	DEC	X
	JRNZ	CIC2A
	DEC	Y
	JRNZ	DEL2A
	RET
;*****************************************GESTIONE INTERRUPT*********************************

TAD_INT RETI
ART_INT	RETI
C_INT	RETI
FOT_INT	RES	6,PORT_B
	RES	7,PORT_B
	RES	0,PORT_C
CONTR1	LDI  WDOG,0ffh
	JRS	4,PORT_B,CONTR1
CONTR2	LDI  WDOG,0ffh
	JRS	5,PORT_B,CONTR2
	RETI
NMI_INT	RETI
;******************************************************INTERRUPT VECTOR******************************

	.ORG	0FF0H	
	JP	TAD_INT	
	JP	C_INT
	JP	FOT_INT
	.ORG	0FFCH
	JP	NMI_INT
	JP	INIZIO
	.END	
	.ORG	0FFCH
	.END
FILE2: "TRASMISSIONE.ASM"
Codice:
.TITLE	"TRASMETTITORE"
.VERS	"ST62E60"
;*********************************************** registri per uso generale ***************************************


X 	.DEF 080h			;regisro x
Y 	.DEF 081h			;regisro y
V    	.DEF 082h			;regisro v
W 	.DEF 083h			;regisro w
A 	.DEF 0FFh			;regisro a

;*********************************************** registri per le porte I/O ***************************************

PORT_A	.DEF 0C0h			;Data register A port
PORT_B	.DEF 0C1h			;Data register B port
PORT_C	.DEF 0C2h			;Data register C port

PDIR_A	.DEF 0C4h			;Data direction reg. A port
PDIR_B	.DEF 0C5h			;Data direction reg. B port
PDIR_C	.DEF 0C6h			;Data direction reg. C port

POPT_A	.DEF 0CCh			;Option register A port
POPT_B	.DEF 0CDh			;Option register B port
POPT_C	.DEF 0CEh			;Option register C port


;*********************************************** registri di interrupt ***************************************

IOR	.DEF 0c8h			

;*********************************************** registri data rom windows ***************************************

DRW	.DEF 0c9h

;*********************************************** registri timer 2 ***************************************

ARRC	.DEF 0D9h			;reload capture register
ARCP	.DEF 0DAh			;compare register
ARMC	.DEF 0D5h			;mode control register
ARSC0	.DEF 0D6h			;status control register
ARSC1	.DEF 0D7h			;status control register
ARLR	.DEF 0Dbh			;load register

;*********************************************** registri A/D converter ***************************************

ADCR	.DEF 0D1h			;registro di controllo
ADDR	.DEF 0D0h			;registro dati

;*********************************************** controllo oscillatore ***************************************

OSCR	.DEF 0DCh			;oscillator control register

;*********************************************** controllo eeprom ***************************************

DRBR	.DEF 0E8h			;data ram/eeprom bank register
EECR	.DEF 0EAh			;eeprom control register

;*********************************************** registr watchdog ***************************************

WDOG	.DEF 0D8h			;registro wachdog

;*********************************************** timer 1 ***************************************
PSC	.DEF 0D2h			;controllo prescaler
TCR	.DEF 0D3h			;registro dati
TSCR	.DEF 0D4h			;registro di controllo dati

;*********************************************** controllo SPI ***************************************

SPID 	.DEF 0E0h			;SPI data register
DIV	.DEF 0E1h			;SPI divider register 
MOD	.DEF 0E2h			;SPI mode register
MISCR	.DEF 0DDh			;miscellaneous register

;*********************************************** dichiarazioni variabili *******************************************
CODICEA .DEF  084h			;codice apricancello
H	.DEF  085h
L	.DEF  086h

;*********************************************** inizio programma dall'ind. 080h ***********************************

	.org 080h			;inizio programma
INIZIO	LDI  WDOG,0ffh			;ricarico watchdog
	ldi  PDIR_A,00000000B		
	ldi  POPT_A,00000000B		
	ldi  PORT_A,00000000B	
	

	LDI  PDIR_B,10000000b		
	LDI  POPT_B,01110000b		
	LDI  PORT_B,00000000b

	LDI  PDIR_B,10000000b		
	LDI  POPT_B,11110000b		
	LDI  PORT_B,00000000b
	
	LDI  PDIR_C,11111111b		
	LDI  POPT_C,00000000b		
	LDI  PORT_C,00000000b
	
	LDI  PDIR_C,11111111b		
	LDI  POPT_C,11111111b		
	LDI  PORT_C,00000000b		

	LDI  ADCR,0			;disabilita il convertitore
	LDI  TSCR,00100000B			;disabilita timer 1
	LDI  ARMC,0			;disabilita ARMTIM
	ldi  IOR,00010000b 		;abilita tutte le interruzioni
	LDI  MOD,0			;disabilita spi
	RETI				;ripristina i flag principali
	JP  MAIN			;salta al programma principale


;****************************************Programma principale**************************

MAIN	LDI  WDOG,0ffh
	LD	A,PORT_A
	ANDI	A,00001111B
	LD	H,A
	LD	A,PORT_B
	RLC	A
	RLC	A
	RLC	A
	RLC	A
	ANDI	A,00110000B
	ADD	A,H
	RLC	A
	ANDI	A,01111110B
	SET	7,A
	RES	0,A
	LD	CODICEA,A
	WAIT
	JP 	MAIN
	

;*****************************************GESTIONE INTERRUPT*********************************

TAD_INT RETI
ART_INT	RETI
C_INT	RETI
BLK_INT LD	A,CODICEA
	LDI	W,8
	SET	7,PORT_B
	CALL	DELAY	
	RLC	A
	RLC	A
	RLC	A
	RLC	A
	RLC	A
TX	RLC	A
	LD	L,A
	ANDI	A,00010000B
	LD	PORT_C,A
	CALL	DELAY1
	LD	A,L
	DEC	W
	JRZ	FIN1	
	JP	TX
FIN1	RETI

DELAY	LDI  WDOG,0ffh
	LDI	Y,41
DEL	LDI	X,255
CIC	LDI  WDOG,0ffh
	DEC	X
	JRNZ	CIC
	DEC	Y
	JRNZ	DEL	
	RET

DELAY1	LDI  WDOG,0ffh
	LDI	Y,3
DEL1	LDI	X,34
CIC1	LDI  WDOG,0ffh
	DEC	X
	JRNZ	CIC1
	DEC	Y
	JRNZ	DEL1
	RET
	
NMI_INT	RETI
;******************************************************INTERRUPT VECTOR******************************

	.ORG	0FF0H	
	JP	TAD_INT	
	JP	ART_INT
	JP	C_INT
	JP	BLK_INT
	.ORG	0FFCH
	JP	NMI_INT
	JP	INIZIO
	.END
Grazie mille!
__________________
Ci sono due modi di fare le cose: quello giusto e quello mio. E sono la stessa cosa!
WhiteR@bbit è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2004, 11:18   #2
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Qui ci vorrebbe buffon
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2004, 11:32   #3
WhiteR@bbit
Senior Member
 
L'Avatar di WhiteR@bbit
 
Iscritto dal: Jul 2002
Città: 3vis0
Messaggi: 423
Quote:
Originariamente inviato da kk3z
Qui ci vorrebbe buffon
A dire il vero, il cancello dovrebbe far passare la macchina...quindi meglio lasciare stare San Buffon...
__________________
Ci sono due modi di fare le cose: quello giusto e quello mio. E sono la stessa cosa!
WhiteR@bbit è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
Samsung Foundry aggiorna la roadmap: il ...
La Cina risponde a NVIDIA con LongCat-2....
Godox C100: la prima fotocamera del marc...
Boom IA e affitti fuori controllo: chi l...
Le RTX 5000 abbattono il muro dei 4 GHz,...
Onimusha: Way of the Sword non sar&agrav...
Anche Microsoft anticipa al 2029 il pass...
Sei falle in AirDrop e Quick Share: cras...
Altri tagli in arrivo in casa XBOX: a ri...
Quando l'IA entra nei processi: due part...
La contea con più data center del...
Galaxy Ring 2, Samsung conferma lo svilu...
1TB e velocità di scrittura garan...
Volkswagen apre alla produzione europea ...
Hide My Email doveva proteggere l'identi...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v