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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9350|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)串口通信Bad Apple視頻播放源程序(LCD12864顯示)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:209954 發(fā)表于 2018-12-16 19:32 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  程序源自我的團(tuán)隊(duì)的一個(gè)參賽項(xiàng)目,項(xiàng)目文件是一個(gè)大工程有很多內(nèi)容由其他隊(duì)員編寫我也不好直接發(fā)上來,所以我只好截取了其中我寫的一個(gè)小模塊放上來供大家分享。
  這個(gè)程序主要可以實(shí)現(xiàn)“任意圖片顯示”以及“任意視頻播放”兩個(gè)功能,數(shù)據(jù)都通過串口進(jìn)行傳輸(波特率4800,藍(lán)牙或USB均可),當(dāng)然發(fā)送的數(shù)據(jù)只能是處理好的圖像取模數(shù)據(jù)。(LCD驅(qū)動(dòng)是st7920
  上電后直接顯示以下圖像:











此時(shí)發(fā)送53 FF十六進(jìn)制發(fā)送)即可使用顯示單張圖片的預(yù)設(shè),這時(shí)再通過串口發(fā)送取模數(shù)據(jù)就可以實(shí)時(shí)顯示圖像。





顯示完圖片后發(fā)送 01 0E即可跳回就緒狀態(tài)(如果無法退出就定時(shí)循環(huán)發(fā)送01 0E)。

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


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

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

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


void main()
{
   init();                 //紅外、藍(lán)牙初始化
   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) //發(fā)送0x53 0xXX(XX表示任意,除01,FF外)默認(rèn)視頻播放模式,發(fā)送0x53 0xFF則為圖片顯示模式
        {
           m_flag=1;
        }
        RX_num=1;
        while((RX_buffer[1] != 0x01) || (RX_buffer[2] != 0x0E))//發(fā)送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;//接收數(shù)組下標(biāo)指向指令位

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

附件壓縮包內(nèi)容:



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



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

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂4 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:209954 發(fā)表于 2018-12-16 20:16 | 只看該作者
剛剛忘記說了,電路連接如圖:(無關(guān)部分無視就好)
回復(fù)

使用道具 舉報(bào)

板凳
ID:436752 發(fā)表于 2019-1-10 08:00 | 只看該作者
這個(gè)非常好啊~~~
回復(fù)

使用道具 舉報(bào)

地板
ID:362076 發(fā)表于 2019-3-9 16:48 | 只看該作者
借樓主badapple的bin文件一用咯,非常感謝!
回復(fù)

使用道具 舉報(bào)

5#
ID:123950 發(fā)表于 2019-3-13 10:40 | 只看該作者
可以的
回復(fù)

使用道具 舉報(bào)

6#
ID:241550 發(fā)表于 2020-3-9 21:46 | 只看該作者
樓主,為什么我把波特率調(diào)到9600以上時(shí)無法正常顯示?(出現(xiàn)斜條紋)是不是液晶讀寫數(shù)據(jù)速度跟不上???
回復(fù)

使用道具 舉報(bào)

7#
ID:686782 發(fā)表于 2020-5-4 12:29 | 只看該作者
多謝樓主分享,最近剛好在研究這方面,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

8#
ID:756770 發(fā)表于 2020-5-20 18:24 | 只看該作者
bad apple
妙啊
回復(fù)

使用道具 舉報(bào)

9#
ID:763866 發(fā)表于 2020-5-28 23:14 | 只看該作者
在這里找到了,謝謝樓主!
回復(fù)

使用道具 舉報(bào)

10#
ID:612528 發(fā)表于 2020-6-4 15:06 | 只看該作者
本帖最后由 大頭怪1號(hào) 于 2020-6-9 21:28 編輯

那個(gè)判斷函數(shù)為什要判斷 ‘S’
回復(fù)

使用道具 舉報(bào)

11#
ID:612528 發(fā)表于 2020-6-4 15:07 | 只看該作者
那個(gè) uartjudge函數(shù)起什么作用呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www.久久久久 | 97久久超碰 | 午夜激情网| 亚洲成人一区二区 | 超碰在线成人 | 亚洲欧美中文字幕 | 日日夜夜精品免费 | 亚洲成人一区 | 成人爽a毛片一区二区免费 亚洲午夜在线观看 | 18精品爽国产白嫩精品 | 黄色片观看 | 精品国产一区二区三 | 亚州av在线 | 色天使在线视频 | 中文字幕在线观看免费 | 欧美二三区| 免费观看a级片 | 一区二区三区影视 | 亚洲成人日韩 | 欧美一二 | 中日韩毛片 | 亚洲欧美在线播放 | 国产精品aaa| 久久人体 | 精品久久久久久一区二区里番 | 亚洲+小说+欧美+激情+另类 | 亚洲综合三区 | 色视频www在线播放国产人成 | 日本三级大片 | www.青青草| xxxx亚洲 | 久久精品一区二区三区四区五区 | 99热1| 国产精品黄 | 狠狠干网站 | 一区二区三区视频在线 | 免费的黄色小视频 | 在线看片你懂的 | 中文字幕av一区二区三区谷原希美 | 在线观看日韩av | 日日爽天天 |