2014年7月20日 星期日

TI Launchpad with Gameduino之牛刀小試

前言:
近日聽到有人提到需要一個rfid讀卡機+PC螢幕(秀一些資訊)+網路功能, 也想來自己做一個, 在此先想到秀螢幕這部分需求的一個solution, 其他功能的solution日後補上, 若有不周,歡迎批評指教,缺漏的部份日後會慢慢補上. 轉貼或引用本篇blog內文章段落, 不必交代出處.不過程式碼的部分是拿TI板子出廠前preload的demo src code並參考外國網站(google搜尋:launchpad gameduino)而做修改的,所以相關著作權法律的問題請注意一下!

過程:
8051想要接大大的電腦螢幕或液晶電視,不想接陽春LCM模組/LED跑馬燈/七段顯示器/7吋平板電腦/7吋觸控螢幕,又不想花大錢買ARM等級的晶片+linux或DVR板子,該怎麼辦?
survey的結果發現比較便宜的3種解法:
1.'gameduino',
2.picaso uVGA-III(功能更多,價錢更貴),
3.google搜尋8051 vga,照網友提供的做法diy(省更多錢但更費功夫),

這邊我採用的是1.'gameduino':
8051我是用TI launchpad(基本款),然後接gameduino,接法如下表:
p.s.下表所列英文字都是印在板子上的英文字)
 launchpad                gameduino
--------------------------------------------
VCC                         3.3V,+5V
GND                         GND(有三處)
P2.0(CS)                   9(CS)
P1.5(CLK)                13(CLK)
P1.6(LED2)_MISO  12(MISO)
P1.7(MOSI)              11(MOSI)

接線圖:
 
 
 

程式修改的部分:
1.原本出廠板子上會插msp430g2553的IC,裡頭已經預先燒錄程式在裡頭,插上PC端的USB孔,
通電後就會red,green兩個led輪流亮,按下P1.3的按鍵後進入"量溫度模式",量出的溫度是攝氏,
改成華氏,

2.preload程式採用SW UART跟gameduino的SPI介面共用一些launchpad系統資源,導致SW UART失效,所以先將此部分code mark掉,改用gameduino來秀溫度在螢幕畫面上.

3.量出的溫度為兩位數,十位數字跟個位數字分別轉成ascii秀在螢幕畫面上!

成果圖:

所有程式碼下載連結:
https://drive.google.com/file/d/0B6EVEd5P2B9cQk1nWmh6R2t3a1E/edit?usp=sharing

8/3/2014 update:
經過修改launchpad preload程式的SMCLK_16MHz,除頻為4後, 再將PC端uart設定由原來的2400bps->9600bps,就可以在成果圖看到正確的結果, 另外一端PC端超級終端機也可以看到正確的溫度顯示!

所有程式碼下載連結:
https://drive.google.com/file/d/0B6EVEd5P2B9cSjBXRmxpQ2FJU00/edit?usp=sharing