И так, попил чаЁк... обмозговал, попытаюсь объяснить что у меня получилось.  
 
Если ориентироваться на нагрузочную способность выводов 74HC595  IO output current pins Qn - 35 mA, то мы не можем управлять более чем двумя реле одновременно. 
Я разделил реле по управлению на три группы по два реле. 
Неважно в каком состоянии находятся реле (допустим мы не знаем или забыли в каком состоянии сейчас находятся реле, например после включения):
... получаем команду на обработку (на изменение) состояния реле. 
1 - команда "выключить 1-ю группу реле" + задержка на выполнение команды (1ms)
2 - команда "выключить 2-ю группу реле" + задержка на выполнение команды (1ms)
3 - команда "выключить 3-ю группу реле" + задержка на выполнение команды (1ms)
4 - команда "включить реле согласно нового кода" (1-ю группу реле) + задержка на выполнение команды (1ms)
5 - команда "включить реле согласно нового кода" (2-ю группу реле)+ задержка на выполнение команды (1ms)
6 - команда "включить реле согласно нового кода" (3-ю группу реле)+ задержка на выполнение команды (1ms)
7 - команда "выключить подачу напряжения с реле" 
Каждая команда (выключить и включить)  выполняется за 10 циклов (тактов процессора). При частоте процессора 8МГц длительность 1 такта = 0.000125 ms. 
Задержка на выполнение команды = 1ms (как я понял из Datasheet на реле)
У меня получилось достаточно много времени на обработку всей (неизвестной) процедуры переключения. Это максимально продолжительная операция. Следующие операции переключения будут короче, если не нужно изменять состояния реле в "группе" то обработка (команды "выключения" и "включения") исключаются из "цикла обработки".  Наибольший тормоз - это задержки на реакцию реле. 
Всё ли я правильно понял?  
Отправлено спустя     1 минуту 56 секунд:
Ух... пока писал сообщение добавилось ещё, 
Опять не стало "жалобы" на то что появилось новое сообщение.
Отправлено спустя     5 минут 41 секунду:
Алаев Ян писал(а): ↑11 апр 2019, 16:51
Александр, может быть Вам пригодится.
 
 Пригодилось бы, если добавить файл (Attenuator_1.02.ino.elf')... а то протеус жалуется
Could not open ELF file 'C:\Users\user\AppData\Local\Temp\buildd7e37551c795cfc98167a61c0bbf8998.tmp/Attenuator_1.02.ino.elf'. [SIM1]
 
			
			
									
						Александр.