久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 51單片機串口通信Bad Apple視頻播放源程序(LCD12864顯示) [打印本頁]

作者: 15576118519    時間: 2018-12-16 19:32
標題: 51單片機串口通信Bad Apple視頻播放源程序(LCD12864顯示)
  程序源自我的團隊的一個參賽項目,項目文件是一個大工程有很多內容由其他隊員編寫我也不好直接發上來,所以我只好截取了其中我寫的一個小模塊放上來供大家分享。
  這個程序主要可以實現“任意圖片顯示”以及“任意視頻播放”兩個功能,數據都通過串口進行傳輸(波特率4800,藍牙或USB均可),當然發送的數據只能是處理好的圖像取模數據。(LCD驅動是st7920
  上電后直接顯示以下圖像:











此時發送53 FF十六進制發送)即可使用顯示單張圖片的預設,這時再通過串口發送取模數據就可以實時顯示圖像。





顯示完圖片后發送 01 0E即可跳回就緒狀態(如果無法退出就定時循環發送01 0E)。

如果在就緒狀態下發送53 53就可以進行視頻流播放,此時只要將視頻流的逐幀取模代碼通過串口發過來就行了。
附件壓縮包里有我制作的Bad Apple 爛蘋果取模BIN文件供大家參考。


由于我的晶振是12MHz的,所以波特率設置為4800,實測播放速度有1幀/秒,大家也可以更改定時器參數來提高波特率。
視頻播放完畢后同樣循環發送01 0E就可以回到就緒狀態了。

下面放出main函數代碼,其他代碼放在附件中。
#include <reg51.h>
typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;
#define tbuf 25
u8 RX_buffer[tbuf]={0};  //全局字符串數組,串口接收緩存,用于記錄藍牙串口發來的信息
u8 RX_num=0;               //藍牙接收的字符個數
u8 RX_value=0;                              //藍牙函數處理后返回的值
#include "delay service.h"
#include "driver of LCD12864.h"        
#include "bluetooth.h"
#include "resource.h"

void init()
{
        SCON=0X50;                        //設置為工作方式1
        TMOD=0X20;                        //設置計數器工作方式2
        PCON=0X80;                        //波特率加倍
        TH1=0XF3;                                //計數器初始值設置,注意波特率是4800的
        TL1=0XF3;
        ES=1;                                                //打開接收中斷
        EA=1;                                                //打開總中斷
        TR1=1;                                        //打開計數器
}


void main()
{
   init();                 //紅外、藍牙初始化
   Initialization(); //LCD初始化
   Screen_Clear();

        while(1)
        {
    unsigned char j=0,k=0,l=0,m_flag=0;
        RX_buffer[1]=0;
        Write_Instruction(0x01);
        Display_Text(0x80,text16);
        Display_Text(0x98,text15);
        while(RX_buffer[1]==0);//跳出此模式的條件
        Write_Instruction(0x01);
        if(RX_buffer[1]==0xFF) //發送0x53 0xXX(XX表示任意,除01,FF外)默認視頻播放模式,發送0x53 0xFF則為圖片顯示模式
        {
           m_flag=1;
        }
        RX_num=1;
        while((RX_buffer[1] != 0x01) || (RX_buffer[2] != 0x0E))//發送0x01 0x0E退出
        {
        while((j != 32) || (l != 1))
        {
           Write_Instruction(0x36);
           while(RX_num != 17);
           if((RX_buffer[1]==0x01) && (RX_buffer[2])==0x0E) break;
           if((l==0) && (j==32))
           {
              l=1;
                  j=0;
           }
           Write_Instruction(0x80+j);
           if(l==0)
           {
              Write_Instruction(0x80);
           }
           else
           {
              Write_Instruction(0x88);
           }
           for(k=1;k<17;k++)
           {
              Write_Data(RX_buffer[k]);
           }
           j++;
           RX_num=1;
        }
        if(m_flag==1)
        {
           RX_buffer[1]=0x01;
           RX_buffer[2]=0x0E;
        }
        j=0;
        l=0;
        }

        RX_num=0;//接收數組下標指向指令位

        RX_buffer[0]=0;
        while(RX_buffer[0]==0);
        Screen_Clear();
}
}

附件壓縮包內容:



圖像取模軟件我推薦Image2Lcd,新版本支持批量取模。



全部資料51hei下載地址:
多媒體功能演示.zip (262.09 KB, 下載次數: 181)


作者: 15576118519    時間: 2018-12-16 20:16
剛剛忘記說了,電路連接如圖:(無關部分無視就好)
作者: 1904700334    時間: 2019-1-10 08:00
這個非常好啊~~~
作者: 凌凈清河    時間: 2019-3-9 16:48
借樓主badapple的bin文件一用咯,非常感謝!
作者: 天涯莫邪    時間: 2019-3-13 10:40
可以的

作者: 苯寶寶    時間: 2020-3-9 21:46
樓主,為什么我把波特率調到9600以上時無法正常顯示?(出現斜條紋)是不是液晶讀寫數據速度跟不上???
作者: OHHO    時間: 2020-5-4 12:29
多謝樓主分享,最近剛好在研究這方面,學習了
作者: 猹先生    時間: 2020-5-20 18:24
bad apple
妙啊
作者: ki_dawaii    時間: 2020-5-28 23:14
在這里找到了,謝謝樓主!
作者: 大頭怪1號    時間: 2020-6-4 15:06
本帖最后由 大頭怪1號 于 2020-6-9 21:28 編輯

那個判斷函數為什要判斷 ‘S’
作者: 大頭怪1號    時間: 2020-6-4 15:07
那個 uartjudge函數起什么作用呢





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品精品 | 国产欧美精品 | 欧美精 | 精品国产一区二区三区久久影院 | 亚洲视频免费在线 | 成人免费激情视频 | 成年人在线播放 | 午夜精品久久久 | 婷婷色成人 | 欧美一级黑人aaaaaaa做受 | 欧美国产视频一区二区 | 欧美视频成人 | 亚洲人成人一区二区在线观看 | 成人看片在线观看 | 欧美色综合 | 亚洲精品成人网 | 拍拍无遮挡人做人爱视频免费观看 | 亚洲精品性视频 | 中文字幕福利 | 国产视频一视频二 | 少妇一区二区三区 | 国产毛片毛片 | 亚洲精品乱码久久久久久9色 | 91av视频| 91色网站 | 久久综合九色综合欧美狠狠 | 欧美日韩电影免费观看 | 日韩中文视频 | 亚洲一区二区在线播放 | 欧美激情欧美激情在线五月 | 欧美一区免费 | 射欧美| 91精品国产综合久久小仙女图片 | 美人の美乳で授乳プレイ | 亚洲日本视频 | 天天草av| 午夜伊人| 99久久精品一区二区毛片吞精 | 婷婷99| 成年人网站国产 | 欧美久久一区二区 |