Bạn cứ làm theo sơ đồ trên trang
http://www.teuthis.com/html/mmc_mp3.html với PIC16F88 vẫn chạy bình thường(với nguồn 3V3), không cần PIC16LF88, nhưng chắc chắn mạch trên không chỉnh âm lượng hoặc bass, treble được( chỉ có thể nhảy bài tới/lui, tạm dừng/hát thôi). Vì trong sơ đồ trên,vi điều khiển có thể ghi, đọc thẻ nhớ bằng đường truyền SPI( SDI(PIC) nối DO(MMC); SDO(PIC) nối DI(MMC)), còn vi điều khiển chỉ giao tiếp với VS1011 qua mấy chân XCS, XDCS,DREQ... chứ không qua đường SPI.
Sơ đồ trên hoạt động theo cách như sau:Vi điều khiển khởi tạo chế độ SPI của thẻ, tìm đến sector đầu tiên của file mp3 thông qua bảng FAT32; vi điều khiển gởi lệnh đọc(sector đầu tiên) đến thẻ nhớ; cho phép VS1011 hoạt động, vì chân SI của VS1011 nối với chân DO của thẻ nhớ trên bus SPI nên khi thẻ nhớ gởi dữ liệu ra, VS1011 sẽ đọc được và giải mã; cứ như vậy mỗi khi buffer trên VS1011 cạn, nó lại thông báo với vi điều khiển qua chân DREQ --> vi điều khiển lại ra lệnh đọc các sector tiếp theo từ thẻ nhớ, khi thẻ nhớ đẩy dữ liệu ra, VS1011 lại "đọc ké", cứ như vậy cho đến hết bài nhạc. Và nếu chưa chỉnh gì thì volume mặc định mà VS1011 xuất ra là mức cao nhất (255).
Chân SO của VS1011 trên sơ đồ trên để trống vì trong project trên, tác giả không cần dùng ram đa dụng trên VS1011 hay đọc nội dung từ thanh ghi nào trong VS1011 hết.