Since this is a PIC group I'll use PICs. I would use a PIC12C508A ($.97 ea 25 quanity at www.digikey.com ). It has 6 I/O lines, 5 to monitor 5 lines and 1 to output data (10 for 50 lines). Each would poll the 5 lines for a change of state, and if need be do debounce. When valid data is found an offset is added (0,5,10 -- ect) the one line for output data is changed from an input to an output and the switch number serially bit-banged out. The output data line is changed back to input when done. The 10 Line monitoring PICs output data lines are connected together and feed the input of the 11th PIC. This PIC recieves the serial data from the outher 10 and does any processing (checksum, multiple inputs slected). The 11th PIC can now output the data to: 1.) an A/D converter 2.) use the PIC to generate a analog voltage http://www.microchip.com/Download/appnote/category/17cxx/misc/00538c.pdf 3.) display digitally (LED) , my preference. Since the PIC12C508A has an internal osc part count is low. You assign the I/O pins in software, board layout is easy. Only need 3 lines common to the 10 Segment PICs (5V,Gnd,Data Out). The code for the 10s are the same except for the offset value, so its easy to write, debug and test. >I have 50 seperate logic lines that switch in sequence from # 1 to # 50 then reverse from # 50 to # 1 >at any one time only one line is in a low state and all others are high state. what I need is an analog output >voltage generated from the pic in response to which switched line is enabled. >example: -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads