Можно, конечно, и сдвиговый регистр, но 7 его битов из 8 будут лишними. Нужен D-триггер, выход которого я могу прочитать в любой момент времени за 1-2 такта. И без прерываний (каждое прерывание сокращает жизнь МК на 8 тактов) !
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)