基于PSoC的精簡(jiǎn)LED點(diǎn)陣系統設計方案
數據包在傳輸過(guò)程中會(huì )在每個(gè)包的前面加上可設置好長(cháng)度的前導碼;接收端為了識別幀的到來(lái),需要前導碼進(jìn)行幀同步,從而確定收發(fā)系統之間何時(shí)發(fā)送和接收數據。同步字在前導碼之后,要用設定好的同步字作為同步模式的標志碼。本系統設定的同步字為2 個(gè)字節,同步字內容為0x2DD4,接收端在檢測到同步字后才開(kāi)始接收數據。數據載荷長(cháng)度為1 字節,有效數據載荷是用戶(hù)所發(fā)送的數據。CRC 校驗和由內置CRC 校檢。Si4432 內部集成有調制/解調、編碼/解碼等功能,從而前導碼、同步字、數據載荷長(cháng)度和CRC校驗和都通過(guò)硬件自動(dòng)加上去的,用戶(hù)只需設定數據包的組成結構和部分結構的具體內容如前導碼和同步字就可以。
表2 數據包格式
1.3 系統軟件設計
利用中斷分時(shí)處理的原理構成系統主程序和中斷服務(wù)程序。其中主程序如圖4,該主程序不斷的判斷相應的flag 是否為1 只要flag 等于1 就通過(guò)中斷進(jìn)入相應的子程序。中斷子程序(Timer8 Interrupt), 作時(shí)間間斷、計數器標志單元為70H、每當?t=100ms 到了就是相應的flag 置1。
1.4 主機應用程序
應用程序如圖5 所示是利用Delphi 開(kāi)發(fā)編制。
Delphi 是Windows 平臺下簡(jiǎn)單、易學(xué)、強大、簡(jiǎn)便易用和代碼執行速度快、高效的可視化開(kāi)發(fā)環(huán)境(IDE),其具有所見(jiàn)即所得的可視化界面設計風(fēng)格和面向對象的程序設計等特點(diǎn),已廣泛應用于各個(gè)領(lǐng)域。
Delphi 提供了良好的界面設計能力,在PC 串口通信方面也有很強的功能。
圖5 上位機軟件界面之一
1.4.1 取模
顯示漢字必然要用到漢字的點(diǎn)陣字形信息, 也叫做漢字的字模。即漢字字形的數字化。根據漢字的顯示清晰度,本應用軟件多種字模供用戶(hù)選擇。以16×6點(diǎn)陣字模來(lái)舉例,每一個(gè)字由16 行16 列的點(diǎn)陣組成顯示。即國標漢字庫中的每一個(gè)字均由256點(diǎn)陣來(lái)表示。
我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)顯示屏不僅可顯示漢字, 也可顯示在256 像素范圍內的任何圖形。通過(guò)建立位圖的方法來(lái)取??煞奖泔@示各種特殊字符。
取模方式可分成橫向,縱向取模,供用戶(hù)選擇。
1.4.2 Delphi 環(huán)境下串口通信實(shí)現方法
本系統選用了MSComm 控件,它通過(guò)串行端口傳送和接收數據為應用程序提供基本的串口通信功能,使得程序員不必花費大量的時(shí)間去了解較為復雜的API 函數。本系統:采用的是發(fā)送二進(jìn)制數,需要使用Variant變量矩陣,矩陣大小自動(dòng)調節mscomm1.Settings :=‘9600,N,8,1’;//參數設置,返回波特率、奇偶校驗、數據位、停止位mscomm1.SThreshold:= 0;//一次發(fā)送所有數據mscomm1.PortOpen:=true; // 打開(kāi)端口mscomm1.RThreshold := 16;//設置接收多少字節并產(chǎn)生OnComm 事件,捕獲并處理通信中發(fā)生的事件或錯誤。
2 結論
采用PSoC芯片設計的多功能精簡(jiǎn)尺寸型LED點(diǎn)陣系統的功能很強大,硬件設計簡(jiǎn)單,軟件編程只需要調用API 函數,并且系統可配置、可靈活多變、無(wú)需外加芯片,從而大大提高了其性?xún)r(jià)比。
土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理
評論