Yes, and countering the "still a black box" argument.
Hardware on the level of the original IBM-PC or AT is accessible as an electronic system to someone with "some" electronics skills and affordable tools: Connection points are big enough that they can be accessed with logic or oscilloscope probes. Most signalling is slow enough that probing it with test equipment will not create an RF mismatch so severe that the machine will crash. Most chip-to-chip I/O protocols follow the /CS, /WE, Address, Data scheme, and signals are "literal" - a presence of voltage on a data line means a data bit of 1. Faster, more modern hardware interfaces like SDRAM and DDR, USB, PCI-express, Ethernet tend to use complex encodings that also often do not allow you to interpret a logic state of a line "in isolation", data is mixed with status, synchronization, error correcting, housekeeping protocols on one wire (RS-232 serial had some of that, but in a MUCH simpler fashion, and still making it very evident what was data and what was metadata).
Measuring anything in the data paths of modern computers would mean using equipment that even as used surplus will cost hundreds to tens of thousands AND will be difficult to connect and use.
Also, most signalling used one common specification how voltages and currents were to be interpreted, often 5V TTL levels. There will be a couple of different physical layer protocols on a modern PC mainboard.
If you print a few lines of the letter "A" to a text-mode printer connected to a centronics printer and connected LEDs (in practice, use a buffer to do so!) to the 8 data wires on the parallel cable, you would see data lines 0 and 6 flash up a lot, any others staying nearly dark: 01000001 is the binary representation of ASCII "A".
The parallel port could thusly also be used to connect simple, customized real world hardware (eg to control machinery) that could be made from perfectly generic parts (literally from discrete transistors) - Doing that with USB without using some USB-specific parts would be very difficult.
From a software side, a programmer could literally take the datasheet (with programming documentation) of some I/O chip and go for it, without interacting with an abstracted device driver.