Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Hard problem with 74HC165!

Status
Not open for further replies.

koray_duran

Newbie level 1
Newbie level 1
Joined
Jan 18, 2011
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,288
Hi, I am very new in this forum. I hope you'll help me to solve my problem.

I've designed an alarm circuit which controls inputs via two 74HC165. You can see the design in pictures. And i am using CSS C compiler for my project.



My problem is : I get wrong alarms every 40~60 munites. It is acting like there is an input coming via 74HC165 ic's. I have figured out that the alarms occuring if one or more of inputs is always high. (NC mode)

Here is my code :

Code:
void read_inputs()
{
   output_high(EXP_IN_CLOCK);
   output_low(EXP_IN_ENABLE);
   output_high(EXP_IN_ENABLE);
   
   for(i=1;i<=16;++i) {
   
   if(input(EXP_IN_DI)==0) {
   if(zone_sttng[i]==0x11) { zone_stbl[i]++; if(zone_stbl[i]==250) { zone_stbl[i]=0; zone_status[i]=1; } } // Arm Zone
   if(zone_sttng[i]==0x13) { zone_stbl[i]++; if(zone_stbl[i]==250) { zone_stbl[i]=0; zone_status[i]=2; } } // 24h Zone
   if(zone_sttng[i]==0x14) { zone_stbl[i]++; if(zone_stbl[i]==250) { zone_stbl[i]=0; zone_status[i]=3; } } // Monitor Zone
   if(zone_sttng[i]==0x21) { zone_stbl[i]=0; zone_status[i]=5; } // Arm Zone
   if(zone_sttng[i]==0x23) { zone_stbl[i]=0; zone_status[i]=0; } // 24h Zone
   if(zone_sttng[i]==0x24) { zone_stbl[i]=0; zone_status[i]=4; } // Monitor Zone
   }
   if(input(EXP_IN_DI)==1) {
   if(zone_sttng[i]==0x11) { zone_stbl[i]=0; zone_status[i]=5; } // Arm Zone
   if(zone_sttng[i]==0x13) { zone_stbl[i]=0; zone_status[i]=0; } // 24h Zone
   if(zone_sttng[i]==0x14) { zone_stbl[i]=0; zone_status[i]=4; } // Monitor Zone
   if(zone_sttng[i]==0x21) { zone_stbl[i]++; if(zone_stbl[i]==250) { zone_stbl[i]=0; zone_status[i]=1; } } // Arm Zone
   if(zone_sttng[i]==0x23) { zone_stbl[i]++; if(zone_stbl[i]==250) { zone_stbl[i]=0; zone_status[i]=2; } } // 24h Zone
   if(zone_sttng[i]==0x24) { zone_stbl[i]++; if(zone_stbl[i]==250) { zone_stbl[i]=0; zone_status[i]=3; } } // Monitor Zone
   }
   output_low(EXP_IN_CLOCK);
   //delay_us(10);
   output_high(EXP_IN_CLOCK);
   }
   
   output_low(EXP_IN_ENABLE);
}
 

Hi

Don't leave unconnected node free on air - if you don't use them connect to GND

All the best


Bobi
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top