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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6070|回復: 10
打印 上一主題 下一主題
收起左側

proteus超級終端 多媒體設計

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 何必919 于 2013-7-29 13:14 編輯

多媒體設計總體設計
本設計主要實現PC機和單片機之間的數據傳輸,單片機MCU采用AT89C51RD2,以XP操作系統自帶的超級終端軟件和單片機進行信息傳輸,為了更好地人機交互、便于使用,上位機界面使用MFC軟件設計。此系統功能:
(1)電壓采集并顯示;(2)計數并顯示;(3)led控制并顯示狀態;(4)EEPROM掉電保護;(5)音樂播放;(6)圖片瀏覽;(7)超級終端通信,可通過命令控制單片機進行多項操作;(8)MFC上位機控制,實現更友好的人機交互功能,屏蔽超級終端下的指令操作,便于操作;(9)uCos ii移植的應用,能更好的管理任務,提高工作效率和系統升級空間,uCos ii和ucGUI搭配能夠快速設計出比較美觀的LCD界面。
本設計總體框圖如下:


漢字和圖片取模  
   下載一個取模軟件,字體取模時的選項設置為:點陣格式為陰碼,取模方式為列行式,取模走向為逆向,文字大小為寬x=16x16;數字和英文字母大小點陣為:寬x=8x16
   圖片取模方法:首先對圖片進行處理,因為LCD12864不能顯示彩色,而且點陣大小只有128*64,所以必須縮小圖片大小和去除彩色;取模方式和字體取模方式類似。
仿真結果
LCD12864實時顯示系統計數個數、電壓和led狀態,如下圖:
  圖2.2 系統狀態
  多媒體模塊設計音樂播放
曲譜存貯格式 unsigned charcode MusicName{音高,音長,音高,音長...., 0,0};   末尾:0,0 表示結束(Important)
音高由三位數字組成:
       個位是表示 1~7 這七個音符
       十位是表示音符所在的音區:1-低音,2-中音,3-高音;
       百位表示這個音符是否要升半音: 0-不升,1-升半音。
音長最多由三位數字組成:
       個位表示音符的時值,其對應關系是:
           數值(n):  |0 |1 |2 |3 | 4 | 5 | 6
           幾分音符: |1 |2 |4 |8 |16|32 |64      音符=2^n
       十位表示音符的演奏效果(0-2):  0-普通,1-連音,2-頓音
       百位是符點位: 0-無符點,1-有符點
調用演奏子程序的格式
       Play(樂曲名,調號,升降八度,演奏速度);
    樂曲名          : 要播放的樂曲指針,結尾以(0,0)結束;
    調號(0-11)      :   是指樂曲升多少個半音演奏;
    升降八度(1-3)   : 1:降八度, 2:不升不降, 3:升八度;
    演奏速度(1-12000):   值越大速度越快;
    音樂播放采用兩個定時器,單片機系統存貯了4首音樂曲譜,由于ROM空間有限,只能存放曲調沒有歌詞,可由按鍵選擇播放,如下圖:



                   圖2.3 音樂播放
圖片瀏覽
      ROM里面存貯了多張圖片取模后的點陣信息,可通過按鍵選擇播放,
如下圖:


圖2.4 圖片瀏覽

超級終端通信配置超級終端
波特率9600,數據位8位,無奇偶校驗,停止位1位,無數據流如圖2,5所示:
圖2,5 配置超級終端
2.5.2 超級終端命令
COMMAND CommandList[MAX_COMMAND_NUM]= {
       {"help",Help," help -----Command help"},
       {"set",Set," set <clearor led><num> ----- Change LED or Count"},
       {"display",Display,"display ----- Display LED Count Voltage"},
       {"reboot",Reboot," reboot----- Reboot the MCU"},
};    //指令;指令函數;幫助;
voidRunHyperTerminal()
{
       if(ExecCommandFlag)
       {
              ExecCommand(&SerialBuffer[0]);
              SerialSendStr(&PromptBuffer[0]);
              memset(&SerialBuffer[0],'\0',MAX_SERIAL_BUFFER_SIZE);
              CursorPosion = 0;
              ExecCommandFlag = 0;
       }
}                                                                                         
cmd->>:help
help ----- Command help
set <clear or led><num> -----Change LED or Count
display ----- Display LED Count Voltage
reboot ----- Reboot the MCU
cmd->>:display
The LED Num is :   3
The Count  is :  5
The Voltage  is :  2.70V
cmd->>:setclear
The Count is clear!
cmd->>:setled 1
The LED stat is change!


                  圖2.6  超級終端
  MFC上位機設計收發數據函數
下面是數據接收、發送的函數:
//串口數據接收事件
LRESULT CSerialCommunicationDlg::OnCommNotify(WPARAM wp, LPARAM lp)
{
    //得到文本內容
    LPCTSTR pBuf = (LPCTSTR)wp;
    //將文本寫入文本框
    CString str;
    GetDlgItemText(IDC_EDIT_READ,str);
    char*pBufChar=(char *)pBuf;
    str += pBufChar;
    SetDlgItemText(IDC_EDIT_READ,str);
    CEdit * output=(CEdit*)GetDlgItem(IDC_EDIT_READ);
    //隨時跟蹤滾動條的位置
    output->LineScroll(output->GetLineCount());


    returnTRUE;
}
void CSerialCommunicationDlg::OnBnClickedButtonClear()
{
    //TODO: 在此添加控件通知處理程序代碼
    //TODO: 在此添加控件通知處理程序代碼
    CString str;
    str="setclear";
    //將數據寫入串口
    intnLen = (str.GetLength() + 1) * sizeof(TCHAR);
    m_com.WriteData((byte*)(LPCTSTR)str, nLen);

}
配對串口
通過串口(軟件配對串口COM1-COM2,如圖2.6所示)連接proteus單片機系統;COM1連接proteus,COM2連接超級終端或MFC上位機;


圖2.7 配對串口
仿真結果
實現控制單片機系統的led狀態、計數復位、顯示數據和復位功能,其效果如圖2.8所示:

圖2.8  MFC界面

總結
本設計通過串口對單片機進行控制,選擇LCD12864顯示,MFC編寫上位機界面,可以遠程對單片機進行簡單操作;
u  主要設計內容:
Ø  電壓采集設計;
Ø  計數設計;
Ø  led控制設計;
Ø  EEPROM掉電保護設計;
Ø  音樂播放設計;
Ø  圖片瀏覽設計;
Ø  超級終端通信設計;
Ø  MFC上位機界面設計;
Ø  uCos ii移植的應用。
電子DIY交流平臺 QQ群: 215363597附錄: 附件:proteus仿真文件
游客,如果您要查看本帖隱藏內容請回復
  
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image015.png
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image017.jpg












波特率.jpg (15.81 KB, 下載次數: 300)

波特率.jpg

瀏覽.jpg (13.24 KB, 下載次數: 309)

瀏覽.jpg

系統.jpg (18.27 KB, 下載次數: 325)

系統.jpg

音樂播放1.jpg (22.95 KB, 下載次數: 292)

音樂播放1.jpg

音樂播放.jpg (23.53 KB, 下載次數: 288)

音樂播放.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:32572 發表于 2013-7-29 11:59 | 只看該作者
怎么發附件啊
回復

使用道具 舉報

板凳
ID:52922 發表于 2013-8-11 08:00 | 只看該作者
謝謝樓主分享,看看
回復

使用道具 舉報

地板
ID:63747 發表于 2014-7-9 21:48 | 只看該作者
很強大,收了,慢慢看
回復

使用道具 舉報

5#
ID:65877 發表于 2014-9-6 17:23 | 只看該作者
強人!學習中。
回復

使用道具 舉報

6#
ID:64825 發表于 2014-9-11 18:28 | 只看該作者
看看。。。。。
回復

使用道具 舉報

7#
ID:66338 發表于 2014-9-19 00:10 | 只看該作者
謝謝樓主的分享!開源精神最可貴
回復

使用道具 舉報

8#
ID:66338 發表于 2014-9-19 00:16 | 只看該作者
樓主,東西多多發
回復

使用道具 舉報

9#
ID:66491 發表于 2014-9-25 09:53 | 只看該作者
學習了,謝謝LZ分享。
回復

使用道具 舉報

10#
ID:58086 發表于 2014-9-25 21:06 | 只看該作者
下來看看~
回復

使用道具 舉報

11#
ID:201547 發表于 2017-6-23 21:41 | 只看該作者

謝謝樓主分享,看看
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕av网址 | 国产一区二区三区视频在线观看 | 欧美亚洲在线视频 | 亚洲欧美一区二区三区国产精品 | 91在线观看免费 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 成人国产精品色哟哟 | 日韩欧美中文字幕在线视频 | 黄色大片视频 | 在线欧美视频 | 欧美激情精品久久久久久变态 | 成人欧美一区二区三区黑人孕妇 | 日韩精品极品视频在线观看免费 | 欧美激情一区二区 | 国产主播第一页 | 中文在线一区二区 | 视频在线一区二区 | 欧美亚洲视频在线观看 | 午夜影院在线观看视频 | 在线免费看黄 | 中文字幕11页 | 全部免费毛片在线播放网站 | 天天躁日日躁aaaa视频 | 欧美精品1区2区 | 国产一级久久久久 | 欧美视频精品 | 久久免费大片 | 天天干天天爱天天操 | 一区二区三区日韩 | 欧美精品久久久 | 久久久久久久久淑女av国产精品 | 午夜国产 | www.亚洲| 精品成人av| 国产精品精品久久久 | 五月激情综合 | 久久国产综合 | 亚洲人精品午夜 | 成人免费在线电影 | 欧美片网站免费 | 在线视频国产一区 |