I'm using the atmega328p and I would like to send data through the USB to use like the serial monitor in the arduino for code testing purposes, so I doesn't need an LCD to print data. I used USART when simulating my code in proteus, and I believe there is a similar approach using the data pins of the USB connector.
When you send data over the UART on the ATmega328, it is converted to serial over USB by the Arduino. The Arduino will enumerate as a virtual serial port on your computer, and you can connect to this with the serial terminal of your choice (screen, PuTTY, RealTerm, etc). The Arduino IDE also has an built-in serial monitor. Note that you cannot use this serial connection while programming the Arduino via the USB port, as it will interfere with the programming.
If you are using the hardware UART for other purposes, then you can use an external TTL serial-USB converter and SoftwareSerial on the Arduino.