<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)編程的遙控LED廣告牌設(shè)計(jì)

          基于單片機(jī)編程的遙控LED廣告牌設(shè)計(jì)

          作者: 時(shí)間:2012-09-05 來(lái)源:網(wǎng)絡(luò) 收藏

          的作用是將PC機(jī)傳來(lái)的圖像點(diǎn)陣或自身EPROM中的圖像點(diǎn)陣暫存在發(fā)射緩沖區(qū)RAM中,再根據(jù)鍵盤的命令串行發(fā)送至編碼器。

          本文引用地址:http://www.ex-cimer.com/article/159967.htm

          選用的是ATMEL公司的89S52,該芯片運(yùn)算速度較快,性能穩(wěn)定,且價(jià)格便宜。

          鍵盤用于設(shè)定圖像移動(dòng)速度、顯示模式和發(fā)射的通信協(xié)議。

          編碼器是本系統(tǒng)的關(guān)鍵部件之一,決定了通信的可靠性。它的功能是接收的數(shù)據(jù),按設(shè)定的格式進(jìn)行編碼,再串行輸出到發(fā)射器。經(jīng)過(guò)比較,我們選用了碼分多址串行編碼專用芯片。該芯片的主要特點(diǎn)有CMOS技術(shù),低功耗,非常高的噪聲免疫性(多幀同步),最多12位3態(tài)地址引腳(最多可提供312個(gè)地址碼),最多6位數(shù)據(jù)引腳,大范圍的工作電壓,單電阻振蕩器,輸出形式可設(shè)為鎖存或瞬態(tài)。

          發(fā)射器的作用是將編碼后的數(shù)字信號(hào)調(diào)制到高頻載波上,再經(jīng)功率放大后發(fā)射出去,它決定了手持發(fā)射機(jī)的無(wú)線距離。本系統(tǒng)選用了調(diào)制、驅(qū)動(dòng)和發(fā)射一體化模塊。該模塊采用聲表諧振器穩(wěn)頻,SMT樹脂封裝,頻率一致性較好,免調(diào)試,特別適合多發(fā)多收無(wú)線及數(shù)據(jù)傳輸系統(tǒng)。而一般的LC振蕩器頻率穩(wěn)定度及一致性較差,即使采用高品質(zhì)微調(diào)電容,溫差變化及振動(dòng)也很難保證已調(diào)好的頻點(diǎn)不會(huì)發(fā)生偏移。

          采用UPS供電是為了保證手持發(fā)射機(jī)在戶外工作時(shí),發(fā)射緩沖區(qū)RAM中的數(shù)據(jù)不丟失。因?yàn)?,發(fā)射緩沖區(qū)需要暫存的圖像點(diǎn)陣數(shù)據(jù)量很大,若采用超大容量的非易失性存儲(chǔ)器,如E2PROM,F(xiàn)LASH及FRAM等,不僅成本高,而且采購(gòu)困難,所以系統(tǒng)選用了普通RAM作為緩沖寄存器。

          2.3 接收機(jī)和顯示模塊

          接收機(jī)和顯示模塊由接收器、譯碼器、單片機(jī)、顯示驅(qū)動(dòng)、屏及供電系統(tǒng)組成,其結(jié)構(gòu)框圖如圖4所示。

          圖4 接收機(jī)結(jié)構(gòu)框圖

          接收器將接收到的高頻信號(hào)經(jīng)放大整形后解調(diào)出數(shù)字編碼信號(hào)。我們選用了與發(fā)射模塊相對(duì)應(yīng)的接收解調(diào)一體化模塊。該系列模塊采用超外差、二次變頻技術(shù),并將所有的射頻接收、混頻、濾波、數(shù)據(jù)解調(diào)、放大整形電路全部集成在模塊內(nèi),功能高度集成化,免去射頻頻率調(diào)試及超再生接收電路的不穩(wěn)定性,具有可靠性高、頻率穩(wěn)定、接收頻率免調(diào)試等特點(diǎn)。

          譯碼器將數(shù)字編碼信號(hào)譯碼,再并行輸出給單片機(jī)。我們選用的是與編碼相對(duì)應(yīng)的碼分多址串行解碼專用芯片。

          單片機(jī)負(fù)責(zé)接收數(shù)據(jù)的識(shí)別、保存、顯示方式轉(zhuǎn)換。單片機(jī)選用了ATMEL公司的89S52,通用性好,性價(jià)比高。

          顯示模塊用于顯示廣告信息。該模塊包括顯示屏和顯示驅(qū)動(dòng)板,自帶顯示緩沖區(qū),并以動(dòng)態(tài)掃描方式驅(qū)動(dòng)顯示屏,具有功耗低、亮度大等特點(diǎn)。

          接收顯示系統(tǒng)的供電電源沒(méi)有特殊要求,但要留有相當(dāng)裕量并注意通風(fēng)散熱,因?yàn)?,很多LED引起的火災(zāi)都是由于供電系統(tǒng)造成的。

          3 軟件結(jié)構(gòu)

          本系統(tǒng)的軟件主要由三大模塊組成,即上位機(jī)主控程序、發(fā)射機(jī)主控程序和接收機(jī)主控程序。

          3.1 上位機(jī)主控程序

          上位機(jī)主控程序?qū)嶋H上包括顯示信息生成程序、顯示點(diǎn)陣轉(zhuǎn)換程序和串口通信程序,是三大主控程序中結(jié)構(gòu)最復(fù)雜的一部分。

          顯示信息生成程序完成顯示圖像和文字的錄入、編輯及動(dòng)畫效果。該程序首先采用DOS平臺(tái)下的主控程序與底層通信軟件結(jié)合,通過(guò)串行及并行通信口完成用戶對(duì)源文件、INTERNET接口及其他輸入設(shè)備的多參數(shù)錄入。在此基礎(chǔ)上用VisualC++語(yǔ)言了主控軟件,生成動(dòng)畫,并通過(guò)界面和對(duì)話框的形式實(shí)現(xiàn)了對(duì)整個(gè)上位機(jī)系統(tǒng)的可視化控制。

          顯示點(diǎn)陣轉(zhuǎn)換程序就是將生成的顯示信息通過(guò)點(diǎn)陣抽取和移動(dòng)算法將顯示信息轉(zhuǎn)換為L(zhǎng)ED顯示屏對(duì)應(yīng)的點(diǎn)陣數(shù)據(jù)。對(duì)于彩色顯示屏,需要將圖像信息的RGB三基色數(shù)據(jù)分別抽樣,并分塊存儲(chǔ)、順序轉(zhuǎn)發(fā);對(duì)于連續(xù)的動(dòng)畫圖像,要按幀分別計(jì)算偏移量,關(guān)鍵是背景圖像與動(dòng)畫文字要同步。該部分的軟件是在TURBOC3.0的環(huán)境下編寫的。

          串口通信程序則較為簡(jiǎn)單,附屬于點(diǎn)陣轉(zhuǎn)換程序中。

          限于篇幅和技術(shù)原因,這里僅以PC機(jī)漢字抽取發(fā)送程序?yàn)槔?,敘述其原理和結(jié)構(gòu)。

          設(shè)終端顯示屏所顯示的是16×16的漢字點(diǎn)陣。所以,要想在終端上顯示廣告信息,必須將該信息所包含的漢字的點(diǎn)陣數(shù)據(jù)傳到終端上。在TURBOC3.0中,將漢字賦值給一個(gè)變量時(shí),實(shí)際上是將該漢字的區(qū)位碼賦值給這個(gè)變量。通過(guò)用UltraEdit-32以二進(jìn)制的形式,觀察DOS的漢字庫(kù)文件chs16.fon,發(fā)現(xiàn)漢字是以點(diǎn)陣的形式存儲(chǔ)的。每個(gè)漢字都是16×16的點(diǎn)陣,筆劃經(jīng)過(guò)的地方為“1”,其余為“0”。這樣,按從上到下,從左到右的順序,一個(gè)漢字由256個(gè)點(diǎn)組成,也就是32個(gè)字節(jié)。漢字按區(qū)位碼的順序排列在漢字字庫(kù)中,區(qū)碼為行,位碼為列,一區(qū)有94位。這樣,某漢字在漢字庫(kù)中的偏移地址為(區(qū)碼×94+位碼)×32。取出后的32字節(jié)漢字點(diǎn)陣,經(jīng)由PC機(jī)的串行口送入到發(fā)射機(jī)中。其流程如圖5所示。

          圖5 PC機(jī)軟件流程圖

          紅外遙控器相關(guān)文章:紅外遙控器原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();