基于單片機編程的遙控LED廣告牌設計
單片機的作用是將PC機傳來的圖像點陣或自身EPROM中的圖像點陣暫存在發(fā)射緩沖區(qū)RAM中,再根據鍵盤的命令串行發(fā)送至編碼器。本文引用地址:http://m.butianyuan.cn/article/159967.htm
單片機選用的是ATMEL公司的89S52,該芯片運算速度較快,性能穩(wěn)定,且價格便宜。
鍵盤用于設定圖像移動速度、顯示模式和發(fā)射的通信協(xié)議。
編碼器是本系統(tǒng)的關鍵部件之一,決定了通信的可靠性。它的功能是接收單片機的數據,按設定的格式進行編碼,再串行輸出到發(fā)射器。經過比較,我們選用了碼分多址串行編碼專用芯片。該芯片的主要特點有CMOS技術,低功耗,非常高的噪聲免疫性(多幀同步),最多12位3態(tài)地址引腳(最多可提供312個地址碼),最多6位數據引腳,大范圍的工作電壓,單電阻振蕩器,輸出形式可設為鎖存或瞬態(tài)。
發(fā)射器的作用是將編碼后的數字信號調制到高頻載波上,再經功率放大后發(fā)射出去,它決定了手持發(fā)射機的無線遙控距離。本系統(tǒng)選用了調制、驅動和發(fā)射一體化模塊。該模塊采用聲表諧振器穩(wěn)頻,SMT樹脂封裝,頻率一致性較好,免調試,特別適合多發(fā)多收無線遙控及數據傳輸系統(tǒng)。而一般的LC振蕩器頻率穩(wěn)定度及一致性較差,即使采用高品質微調電容,溫差變化及振動也很難保證已調好的頻點不會發(fā)生偏移。
采用UPS供電是為了保證手持發(fā)射機在戶外工作時,發(fā)射緩沖區(qū)RAM中的數據不丟失。因為,發(fā)射緩沖區(qū)需要暫存的圖像點陣數據量很大,若采用超大容量的非易失性存儲器,如E2PROM,FLASH及FRAM等,不僅成本高,而且采購困難,所以系統(tǒng)選用了普通RAM作為緩沖寄存器。
2.3 接收機和顯示模塊
接收機和顯示模塊由接收器、譯碼器、單片機、顯示驅動、LED屏及供電系統(tǒng)組成,其結構框圖如圖4所示。
圖4 接收機結構框圖
接收器將接收到的高頻信號經放大整形后解調出數字編碼信號。我們選用了與發(fā)射模塊相對應的接收解調一體化模塊。該系列模塊采用超外差、二次變頻技術,并將所有的射頻接收、混頻、濾波、數據解調、放大整形電路全部集成在模塊內,功能高度集成化,免去射頻頻率調試及超再生接收電路的不穩(wěn)定性,具有可靠性高、頻率穩(wěn)定、接收頻率免調試等特點。
譯碼器將數字編碼信號譯碼,再并行輸出給單片機。我們選用的是與編碼相對應的碼分多址串行解碼專用芯片。
單片機負責接收數據的識別、保存、顯示方式轉換。單片機選用了ATMEL公司的89S52,通用性好,性價比高。
顯示模塊用于顯示廣告信息。該模塊包括LED顯示屏和顯示驅動板,自帶顯示緩沖區(qū),并以動態(tài)掃描方式驅動LED顯示屏,具有功耗低、亮度大等特點。
接收顯示系統(tǒng)的供電電源沒有特殊要求,但要留有相當裕量并注意通風散熱,因為,很多LED廣告牌引起的火災都是由于供電系統(tǒng)造成的。
3 軟件結構
本系統(tǒng)的軟件主要由三大模塊組成,即上位機主控程序、發(fā)射機主控程序和接收機主控程序。
3.1 上位機主控程序
上位機主控程序實際上包括顯示信息生成程序、顯示點陣轉換程序和串口通信程序,是三大主控程序中結構最復雜的一部分。
顯示信息生成程序完成顯示圖像和文字的錄入、編輯及動畫效果設計。該程序首先采用DOS平臺下的主控程序與底層通信軟件結合,通過串行及并行通信口完成用戶對源文件、INTERNET接口及其他輸入設備的多參數錄入。在此基礎上用VisualC++語言設計了主控軟件,生成動畫,并通過界面和對話框的形式實現了對整個上位機系統(tǒng)的可視化控制。
顯示點陣轉換程序就是將生成的顯示信息通過點陣抽取和移動算法將顯示信息轉換為LED顯示屏對應的點陣數據。對于彩色顯示屏,需要將圖像信息的RGB三基色數據分別抽樣,并分塊存儲、順序轉發(fā);對于連續(xù)的動畫圖像,要按幀分別計算偏移量,關鍵是背景圖像與動畫文字要同步。該部分的軟件是在TURBOC3.0的環(huán)境下編寫的。
串口通信程序則較為簡單,附屬于點陣轉換程序中。
限于篇幅和技術原因,這里僅以PC機漢字抽取發(fā)送程序為例,敘述其原理和結構。
設終端顯示屏所顯示的是16×16的漢字點陣。所以,要想在終端上顯示廣告信息,必須將該信息所包含的漢字的點陣數據傳到終端上。在TURBOC3.0中,將漢字賦值給一個變量時,實際上是將該漢字的區(qū)位碼賦值給這個變量。通過用UltraEdit-32以二進制的形式,觀察DOS的漢字庫文件chs16.fon,發(fā)現漢字是以點陣的形式存儲的。每個漢字都是16×16的點陣,筆劃經過的地方為“1”,其余為“0”。這樣,按從上到下,從左到右的順序,一個漢字由256個點組成,也就是32個字節(jié)。漢字按區(qū)位碼的順序排列在漢字字庫中,區(qū)碼為行,位碼為列,一區(qū)有94位。這樣,某漢字在漢字庫中的偏移地址為(區(qū)碼×94+位碼)×32。取出后的32字節(jié)漢字點陣,經由PC機的串行口送入到發(fā)射機中。其流程如圖5所示。
圖5 PC機軟件流程圖
紅外遙控器相關文章:紅外遙控器原理
評論