標(biāo)題: proteus超級終端 多媒體設(shè)計 [打印本頁]
作者: 何必919 時間: 2013-7-29 11:55
標(biāo)題: proteus超級終端 多媒體設(shè)計
本帖最后由 何必919 于 2013-7-29 13:14 編輯
多媒體設(shè)計總體設(shè)計本設(shè)計主要實現(xiàn)PC機和單片機之間的數(shù)據(jù)傳輸,單片機MCU采用AT89C51RD2,以XP操作系統(tǒng)自帶的超級終端軟件和單片機進行信息傳輸,為了更好地人機交互、便于使用,上位機界面使用MFC軟件設(shè)計。此系統(tǒng)功能:
(1)電壓采集并顯示;(2)計數(shù)并顯示;(3)led控制并顯示狀態(tài);(4)EEPROM掉電保護;(5)音樂播放;(6)圖片瀏覽;(7)超級終端通信,可通過命令控制單片機進行多項操作;(8)MFC上位機控制,實現(xiàn)更友好的人機交互功能,屏蔽超級終端下的指令操作,便于操作;(9)uCos ii移植的應(yīng)用,能更好的管理任務(wù),提高工作效率和系統(tǒng)升級空間,uCos ii和ucGUI搭配能夠快速設(shè)計出比較美觀的LCD界面。
本設(shè)計總體框圖如下:
漢字和圖片取模 下載一個取模軟件,字體取模時的選項設(shè)置為:點陣格式為陰碼,取模方式為列行式,取模走向為逆向,文字大小為寬x高=16x16;數(shù)字和英文字母大小點陣為:寬x高=8x16 ;
圖片取模方法:首先對圖片進行處理,因為LCD12864不能顯示彩色,而且點陣大小只有128*64,所以必須縮小圖片大小和去除彩色;取模方式和字體取模方式類似。
仿真結(jié)果LCD12864實時顯示系統(tǒng)計數(shù)個數(shù)、電壓和led狀態(tài),如下圖:
系統(tǒng).jpg (18.27 KB, 下載次數(shù): 284)
下載附件
2013-7-29 13:01 上傳
圖2.2 系統(tǒng)狀態(tài)
多媒體模塊設(shè)計音樂播放曲譜存貯格式 unsigned charcode MusicName{音高,音長,音高,音長...., 0,0}; 末尾:0,0 表示結(jié)束(Important)
音高由三位數(shù)字組成:
個位是表示 1~7 這七個音符
十位是表示音符所在的音區(qū):1-低音,2-中音,3-高音;
百位表示這個音符是否要升半音: 0-不升,1-升半音。
音長最多由三位數(shù)字組成:
個位表示音符的時值,其對應(yīng)關(guān)系是:
數(shù)值(n): |0 |1 |2 |3 | 4 | 5 | 6
幾分音符: |1 |2 |4 |8 |16|32 |64 音符=2^n
十位表示音符的演奏效果(0-2): 0-普通,1-連音,2-頓音
百位是符點位: 0-無符點,1-有符點
調(diào)用演奏子程序的格式
Play(樂曲名,調(diào)號,升降八度,演奏速度);
樂曲名 : 要播放的樂曲指針,結(jié)尾以(0,0)結(jié)束;
調(diào)號(0-11) : 是指樂曲升多少個半音演奏;
升降八度(1-3) : 1:降八度, 2:不升不降, 3:升八度;
演奏速度(1-12000): 值越大速度越快;
音樂播放采用兩個定時器,單片機系統(tǒng)存貯了4首音樂曲譜,由于ROM空間有限,只能存放曲調(diào)沒有歌詞,可由按鍵選擇播放,如下圖:
[attach]81126[/attach][attach]81127[/attach]
音樂播放.jpg (23.53 KB, 下載次數(shù): 297)
下載附件
2013-7-29 13:03 上傳
圖2.3 音樂播放
圖片瀏覽 ROM里面存貯了多張圖片取模后的點陣信息,可通過按鍵選擇播放,
如下圖:
瀏覽.jpg (13.24 KB, 下載次數(shù): 335)
下載附件
2013-7-29 13:02 上傳
瀏覽1.jpg (10.86 KB, 下載次數(shù): 311)
下載附件
2013-7-29 13:04 上傳
圖2.4 圖片瀏覽
超級終端通信配置超級終端波特率9600,數(shù)據(jù)位8位,無奇偶校驗,停止位1位,無數(shù)據(jù)流如圖2,5所示:
串口.jpg (14.79 KB, 下載次數(shù): 277)
下載附件
2013-7-29 13:04 上傳
圖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"},
}; //指令;指令函數(shù);幫助;
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!
超級終端.jpg (21.52 KB, 下載次數(shù): 307)
下載附件
2013-7-29 13:04 上傳
圖2.6 超級終端
MFC上位機設(shè)計收發(fā)數(shù)據(jù)函數(shù)下面是數(shù)據(jù)接收、發(fā)送的函數(shù):
//串口數(shù)據(jù)接收事件
LRESULT CSerialCommunicationDlg::OnCommNotify(WPARAM wp, LPARAM lp)
{
//得到文本內(nèi)容
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";
//將數(shù)據(jù)寫入串口
intnLen = (str.GetLength() + 1) * sizeof(TCHAR);
m_com.WriteData((byte*)(LPCTSTR)str, nLen);
}
配對串口通過串口(軟件配對串口COM1-COM2,如圖2.6所示)連接proteus單片機系統(tǒng);COM1連接proteus,COM2連接超級終端或MFC上位機;
[attach]81133[/attach]
圖2.7 配對串口
仿真結(jié)果實現(xiàn)控制單片機系統(tǒng)的led狀態(tài)、計數(shù)復(fù)位、顯示數(shù)據(jù)和復(fù)位功能,其效果如圖2.8所示:
MFC.jpg (21.13 KB, 下載次數(shù): 297)
下載附件
2013-7-29 13:04 上傳
圖2.8 MFC界面
總結(jié)本設(shè)計通過串口對單片機進行控制,選擇LCD12864顯示,MFC編寫上位機界面,可以遠程對單片機進行簡單操作;
u 主要設(shè)計內(nèi)容:
Ø 電壓采集設(shè)計;
Ø 計數(shù)設(shè)計;
Ø led控制設(shè)計;
Ø EEPROM掉電保護設(shè)計;
Ø 音樂播放設(shè)計;
Ø 圖片瀏覽設(shè)計;
Ø 超級終端通信設(shè)計;
Ø MFC上位機界面設(shè)計;
Ø uCos ii移植的應(yīng)用。
電子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, 下載次數(shù): 300)
下載附件
2013-7-29 13:04 上傳
-
瀏覽.jpg
(13.24 KB, 下載次數(shù): 309)
下載附件
2013-7-29 13:05 上傳
-
系統(tǒng).jpg
(18.27 KB, 下載次數(shù): 325)
下載附件
2013-7-29 13:05 上傳
-
音樂播放1.jpg
(22.95 KB, 下載次數(shù): 292)
下載附件
2013-7-29 13:05 上傳
-
音樂播放.jpg
(23.53 KB, 下載次數(shù): 288)
下載附件
2013-7-29 13:05 上傳
作者: 何必919 時間: 2013-7-29 11:59
怎么發(fā)附件啊
作者: cb474265 時間: 2013-8-11 08:00
謝謝樓主分享,看看
作者: sz1001 時間: 2014-7-9 21:48
很強大,收了,慢慢看
作者: zmkgzsz2014 時間: 2014-9-6 17:23
強人!學(xué)習(xí)中。
作者: qzsulin 時間: 2014-9-11 18:28
看看。。。。。
作者: xing3198 時間: 2014-9-19 00:10
謝謝樓主的分享!開源精神最可貴
作者: xing3198 時間: 2014-9-19 00:16
樓主,東西多多發(fā)
作者: miaohe2004 時間: 2014-9-25 09:53
學(xué)習(xí)了,謝謝LZ分享。
作者: a446275237 時間: 2014-9-25 21:06
下來看看~
作者: a159753123 時間: 2017-6-23 21:41
謝謝樓主分享,看看
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
亚洲欧美中文字幕
|
久草视频在线播放
|
特级特黄特色的免费大片
|
亚洲精品乱码久久久久v最新版
|
91精品久久久久久久
|
久久久www成人免费无遮挡大片
|
欧美中文字幕
|
99re6在线视频精品免费
|
国产精品国产a级
|
国产精品一区在线观看
|
91av导航|
欧美日韩亚洲国产
|
一区二区三区在线观看视频
|
国产一级毛片视频
|
欧美黄在线观看
|
欧美xxxx在线
|
午夜视频网|
av一区二区三区四区
|
国产精品国产三级国产aⅴ中文
|
久久99视频免费观看
|
亚洲欧美一区二区三区在线
|
国产成人精品免费视频大全最热
|
久久这里只有精品首页
|
丝袜久久
|
国产精品一区二区免费
|
久久精品国产亚洲
|
日本五月婷婷
|
欧美一级免费看
|
91影院|
久久99国产精品久久99果冻传媒
|
欧美日韩视频在线
|
亚洲乱码一区二区三区在线观看
|
日韩在线一区二区三区
|
国产免费播放视频
|
国产精品久久av
|
久久久国产一区二区三区
|
欧美精品久久久
|
日韩有码一区
|
国产一级片
|
欧美国产精品一区二区三区
|
在线观看特色大片免费网站
|