本帖最后由 jinglixixi 于 2020-9-28 00:02 編輯
PIC16F15324配有2個UART,即:EUSART1和EUSART2。 要實現(xiàn)串行通訊功能也十分簡單,當然首先要做的就是配置好引腳,具體的方法是: 1)打開MCC,然后在圖1所示的設備資源窗口選取EUSART1或EUSART2。 若選取EUSART1,則會看到它被分配到引腳RC4和RC5上,其中RC4為TX1,而RC5為RX1;若選取EUSART2則會被分配到引腳RC0和RC1上,其中RC1為RX2,而RC0為TX2。
1.jpg (13.66 KB, 下載次數(shù): 102)
下載附件
2020-9-27 10:22 上傳
圖1設備資源窗口
我們這里選EUSART1,則引腳配置如圖2所示。
2.jpg (12.85 KB, 下載次數(shù): 91)
下載附件
2020-9-27 10:22 上傳
圖2 EUSART1引腳配置
2)點擊
3.jpg (1.41 KB, 下載次數(shù): 102)
下載附件
2020-9-27 10:22 上傳
按鍵,以生成代碼框架。 3)切換至項目窗口,并打開main.c主程序,并進行語句添加。 添加其內(nèi)容如下: voidmain(void) { volatile uint8_t rxData; // initialize the device SYSTEM_Initialize(); while (1) { // Add your application code if(EUSART1_is_rx_ready()) { //rxData = UART1_Read(); rxData = EUSART1_Read(); if(EUSART1_is_tx_ready()) { EUSART1_Write(rxData); } } } }
經(jīng)程序的編譯和下載,在連接USB轉串口模塊的情況下,其運行效果如圖3所示,即發(fā)送的內(nèi)容會原樣返回。
4.jpg (28.66 KB, 下載次數(shù): 111)
下載附件
2020-9-27 10:22 上傳
圖3 運行效果
實現(xiàn)了串行收發(fā)功能后,我們可以用它來做些什么呢? 對于PIC16F15324這樣小規(guī)模的芯片,要想實現(xiàn)音樂播放功能基本是不可能的。但這不妨礙我們讓它與相應的功能模塊進行組合。 為此我們選定的目標是MP3音樂播放模塊,其引腳配置如圖4所示。
5.jpg (13.92 KB, 下載次數(shù): 91)
下載附件
2020-9-27 10:22 上傳
圖4模塊引腳排列
該模塊在串行指令的控制下,可實現(xiàn)相應播放控制功能,如:播放上一首、下一首、播放、暫停、指定播放及音量調(diào)節(jié)等。 在充分利用板上資源的情況下,我們用板上的按鍵S2來選擇播放的歌曲,以EUSART1的TX1來發(fā)送控制指令。 按鍵S2的參見圖5所示,添加按鍵后的引腳配置見圖6所示。
6.jpg (9.88 KB, 下載次數(shù): 102)
下載附件
2020-9-27 10:22 上傳
圖5按鍵原理圖
7.jpg (13.65 KB, 下載次數(shù): 84)
下載附件
2020-9-27 10:22 上傳
圖6 引腳配置
配合按鍵S2的播放語句播放下一首,為使用的的方面,特將它存放到數(shù)組中,其內(nèi)容如下: uint8_t cmd1[]= {0X7E, 0xFF, 0x06, 0X01, 00, 00, 00, 0xFE, 0xFA, 0XEF}; //next
實現(xiàn)播放控制的構建程序為: //KEY控制MP3播放 while (1) { if(key_GetValue()==0) { while(key_GetValue()==0); for(i=0;i<10;i++) { EUSART1_Write(cmd1); } } }
經(jīng)程序的編譯及下載,其測試的效果如圖7所示。
8.jpg (34.32 KB, 下載次數(shù): 107)
下載附件
2020-9-27 10:22 上傳
圖7 KEY控制指令發(fā)送
在連接MP3播放模塊后,其運行效果如圖8所示,播放效果良好。 若連接OLED屏,這可以顯示出播放的歌曲名稱,是不是小芯片依然也可以有作為!
9.jpg (17.1 KB, 下載次數(shù): 85)
下載附件
2020-9-27 10:22 上傳
圖8 KEY控制MP3播放 |