B
boniu747
Guest
Jeg har et problem med systemet UM91531.Det er forbundet til PCF8574, og kontrolleres ved hjælp af ATMEGA32.Under tests, opkald nogle numre er udeladt.Normalt genereres er 4-5 cifre.
Jeg ved ikke, om skyld eller tilslutning program.
Please help.
I dag, stadig begravet i systemet, og det viser sig, at det valgte system, men kun visse kombinationer af numre.
For eksempel vælger tallet 8 2,5,6,7,9,0, men kun én gang.Efter hver af disse numre eller andre tryk, ellers er det udhæng.Kun nummer 6, kan du vælge frit, dvs et par gange lige efter hinanden.
Kode:/ * Liste over tilslutninger
! CE - P2
ACK - P1
RELAY - P0
LATCH - P3
D3 - P4
D2 - P5
D1 - P6
D0 - P7
* /int data = 0xF1;
SetPcf (0x00, data);
_delay_ms (10);
/ / Valg nul
data = 0x01;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x09;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x01;
SetPcf (0x00, data);
_delay_ms (200);
/ / Valg af resterende cifre
for (int i = 0; i <9; i )
(
switch (tal )
(
tilfælde '0 ':
(
data = 0x01;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x09;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x01;
SetPcf (0x00, data);
_delay_ms (10);break;
)
tilfælde '1 ':
(
data = 0x81;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x89;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x81;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '2 ':
(
data = 0x41;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x49;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x41;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '3 ':
(
data = 0xC1;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xC9;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xC1;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '4 ':
(
data = 0x21;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x29;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x21;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '5 ':
(
data = 0xAF;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xa9;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xA1;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '6 ':
(
data = 0x61;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x69;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x61;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '7 ':
(
data = 0xE1;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xE9;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xE1;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '8 ':
(
data = 0x11;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x19;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x11;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '9 ':
(
data = 0x91;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x99;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x91;
SetPcf (0x00, data);
_delay_ms (10);
break;
))
data = 0;
_delay_ms (200);
data = 0;
)
SetPcf (0x00, 0x05);
Jeg ved ikke, om skyld eller tilslutning program.
Please help.
I dag, stadig begravet i systemet, og det viser sig, at det valgte system, men kun visse kombinationer af numre.
For eksempel vælger tallet 8 2,5,6,7,9,0, men kun én gang.Efter hver af disse numre eller andre tryk, ellers er det udhæng.Kun nummer 6, kan du vælge frit, dvs et par gange lige efter hinanden.
Kode:/ * Liste over tilslutninger
! CE - P2
ACK - P1
RELAY - P0
LATCH - P3
D3 - P4
D2 - P5
D1 - P6
D0 - P7
* /int data = 0xF1;
SetPcf (0x00, data);
_delay_ms (10);
/ / Valg nul
data = 0x01;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x09;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x01;
SetPcf (0x00, data);
_delay_ms (200);
/ / Valg af resterende cifre
for (int i = 0; i <9; i )
(
switch (tal )
(
tilfælde '0 ':
(
data = 0x01;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x09;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x01;
SetPcf (0x00, data);
_delay_ms (10);break;
)
tilfælde '1 ':
(
data = 0x81;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x89;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x81;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '2 ':
(
data = 0x41;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x49;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x41;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '3 ':
(
data = 0xC1;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xC9;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xC1;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '4 ':
(
data = 0x21;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x29;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x21;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '5 ':
(
data = 0xAF;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xa9;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xA1;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '6 ':
(
data = 0x61;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x69;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x61;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '7 ':
(
data = 0xE1;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xE9;
SetPcf (0x00, data);
_delay_ms (10);
data = 0xE1;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '8 ':
(
data = 0x11;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x19;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x11;
SetPcf (0x00, data);
_delay_ms (10);
break;
)
tilfælde '9 ':
(
data = 0x91;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x99;
SetPcf (0x00, data);
_delay_ms (10);
data = 0x91;
SetPcf (0x00, data);
_delay_ms (10);
break;
))
data = 0;
_delay_ms (200);
data = 0;
)
SetPcf (0x00, 0x05);