Visible light communications (VLC) based on light-emitting diodes (LEDs) combines lighting and data communications in applications of Internet-of-Things, ad-hoc networks and 5G networks, due to their high energy efficiency, spectral efficiency, security and reliability. We experimentally demonstrate a software-defined real-time multiple input multiple output (MIMO) visible light communication system using Single-Carrier Quadrature Amplitude Modulation (SC-QAM). The system uses two independent phosphorescent white LED transmitters with 10MHz bandwidth in the absence of blue filters, and two independent 150 MHz P-I-N photodiode optical receivers. Real-time MIMO signal processing is implemented by using the Field Programmable Gate Array (FPGA) based Universal Software Radio Peripheral (USRP) devices. Modulation formats and MIMO schemes are software-defined through USRP devices without changing the transceiver hardware. We measured and compared the constellation diagram, error vector magnitude (EVM) and bit error rate (BER) performance for single-carried M-QAM MIMO VLC using spatial diversity and spatial multiplexing. We demonstrate a real-time Single-Carrier 256-QAM 2x2 spatial multiplexing MIMO VLC link and achieve 1.81% averaged EVM, 2x10 -5 BER and 12.3 b/s/Hz spectral efficiency over 2 m free space indoor transmission. The experimental results show that spatial diversity MIMO VLC improves error performance at the cost of spectral efficiency that spatial multiplexing should enhance.