I was okay at Assembly, and I think it was useful to learn because at the same time it teaches you how Microprocessors actually work. But that said, I have to say that there is very little application for Assembly programming these days. Most things can be done just as well in C, and the program is far easier to read, much more portable and definitely easier to maintain. Assembly is only preferable in a handful of situations. Some old school programmers will say that Assembly is far better than C because it's faster and more efficient and etc etc, but mostly that's just crap - modern day compilers can generate very efficient code and in practice there is little benefit to writing Assembly, except in some very specific circumstances. That's my opinion anyway!
With regard to Lathi - yeah there is a lot of complex math in that book. Unfortunately you can't get away from complex math when it comes to Signals and Systems. That's why you need the background explanation, which is what Lathi provides and Oppenheim doesn't.
Art of Electronics - classic book, and although outdated most of the information is still very relevant. This book should be on any self respecting Engineer's / Hobbyist's shelf. Check Ebay, occasionally you can pick up a cheap second hand copy.
With regard to serial comms - it's not actually that hard. You can either handle it yourself in software by bit-banging, or you can use the peripherals on your Microcontroller device. I don't know too much about other manufacturers but a lot of Microchip's devices come equipped with on-chip communications modules. All you need to do is read how it works in the data sheet, then set up the module accordingly to suit your requirements. After that you don't really concern yourself with the details of sending and receiving the data - you just use the module and it does the rest. Easy-peasy-lemon-squeezy.
It's just about spending the time and giving it a fair go. A storage scope is invaluable if you need to test your serial output.
Brian