新聞中心

EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計(jì)應(yīng)用 > C51程序控制激光廣告儀系統(tǒng)

C51程序控制激光廣告儀系統(tǒng)

作者:蘇州卡歐電子股份有限公司,平川 時間:2004-06-18 來源:電子設(shè)計(jì)應(yīng)用 收藏
摘 要: 本文用AT89C51和C51程序來實(shí)現(xiàn)激光器掃描動態(tài)圖像,解決了用計(jì)算機(jī)時較難解決的圖像封口問題,對現(xiàn)有振鏡實(shí)時,能輸出簡單動態(tài)圖像。通過良好的實(shí)現(xiàn)情況,只要提高的速度和存貯器容量,即可顯示復(fù)雜的動態(tài)圖像。

關(guān)鍵詞:單片機(jī);;;控制

引言
當(dāng)前,激光技術(shù)發(fā)展日趨完善,在基礎(chǔ)研究、醫(yī)療、機(jī)械、通訊等領(lǐng)域廣泛應(yīng)用。目前多采用計(jì)算機(jī)進(jìn)行可視化激光器控制,因?yàn)橛?jì)算機(jī)有很高的速度和很大的存貯空間,可以控制大的系統(tǒng)。在控制中小型系統(tǒng)時,計(jì)算機(jī)的優(yōu)勢并不明顯,而且軟硬件復(fù)雜、成本較高。
采用簡單的控制系統(tǒng)來取代計(jì)算機(jī)這樣復(fù)雜的系統(tǒng),可以解決以上問題。在一般控制系統(tǒng)中,單片機(jī)可以代替計(jì)算機(jī),其中被廣泛使用的是AT89C51單片機(jī),它具有結(jié)構(gòu)簡單、價格便宜、控制性能良好、操作方便等優(yōu)點(diǎn)。
該控制系統(tǒng),本質(zhì)上是控制四路TTL電源電平,這方面作者作了一些有效嘗試。
本文利用單片機(jī)及C51程序控制激光器,使其在顯示屏上描述圖像。圖像原始數(shù)據(jù)由AUTOCAD 等相關(guān)軟件生成PLT文件,再轉(zhuǎn)化成C51數(shù)據(jù)模式。該控制系統(tǒng)主體控制程序是C51程序,由它控制激光描繪出相應(yīng)的圖像。

單片機(jī)控制的激光廣告儀系統(tǒng)
硬件系統(tǒng)組成
控制系統(tǒng)主要分為以下四個部分。
控制部分:AT89C51單片機(jī),8MHz晶振。運(yùn)行控制程序,向兩個芯片發(fā)送控制指令,完成芯片的選擇和數(shù)據(jù)的發(fā)送。
部分:兩個DAC芯片DAC0832LCN。完成數(shù)字信號向模擬信號的轉(zhuǎn)換,在確認(rèn)被選中后,對送上端口的8位數(shù)字信號進(jìn)行轉(zhuǎn)換。
信號放大部分:兩組雙運(yùn)算放大器HA17741。將數(shù)字圖像轉(zhuǎn)換成電壓量,然后輸出兩路電源給光學(xué)掃描系統(tǒng),控制X,Y軸振鏡。
開關(guān)電源: 通過單片機(jī)的p1.4和p1.5端口,輸出“1”或“0”來關(guān)閉和打開兩路紅綠激光電源。
三色激光廣告儀系統(tǒng)原理簡圖和構(gòu)成
原來的三色激光廣告儀中的控制系統(tǒng)由計(jì)算機(jī)完成,現(xiàn)在由單片機(jī)來取代,如圖1所示。單片機(jī)通過導(dǎo)入其中的C51程序來控制四路電平的輸出。光學(xué)振鏡掃描系統(tǒng)(上海通用掃描公司生產(chǎn),型號為6001S)中X、Y軸振鏡步進(jìn)機(jī)接受從運(yùn)算放大器輸出的模擬電壓信號。正常的輸入電壓范圍為±10V,系統(tǒng)設(shè)定±40o光學(xué)掃描角,單片機(jī)控制系統(tǒng)中輸出電壓范圍為± 5V,所以對應(yīng)的光學(xué)掃描角為±20o,這樣的角度范圍滿足實(shí)驗(yàn)要求。
其余SW1,SW2兩路控制激光電源,一路是670nm的紅色激光,另一路是532nm的綠色激光。運(yùn)行程序控制激光發(fā)光及激光顏色,最后在演示屏幕上顯示所要求的圖像。


圖1 三色激光廣告儀系統(tǒng)原理簡圖


圖2 雙極性輸出電路圖


圖3 C51語音程序流程圖


圖4 動態(tài)顯示的橢圓和靜態(tài)矩形

?同步輸出
兩路D/A輸出要求嚴(yán)格同步,采用圖中接法,把數(shù)字量的輸入鎖存兩路D/A轉(zhuǎn)換輸出,實(shí)現(xiàn)同步控制X、Y軸振鏡步進(jìn)機(jī)。
當(dāng)振鏡的響應(yīng)頻率遠(yuǎn)遠(yuǎn)低于CPU數(shù)據(jù)傳輸速率,同步和異步之間的輸出差異將忽略,該系統(tǒng)也可采用異步輸出。
?雙極性輸出
振鏡的轉(zhuǎn)動不僅與輸出模擬電壓大小有關(guān),而且與輸出模擬電壓的極性有關(guān)。所以在每個DAC后要用兩個運(yùn)算放大器來實(shí)現(xiàn)雙極性輸出,如圖2所示。雙極性輸出是在單極性輸出的基礎(chǔ)上再加一級電壓放大器,最終輸出的電壓為。
本系統(tǒng)中VREF=+5V,所以輸出的雙極性電壓范圍為±5V。當(dāng)單片機(jī)向DAC0832輸出的數(shù)字量為0H(0)時,VOUT2=-5V;當(dāng)輸出的數(shù)字量為80H(128)時,VOUT2=0;當(dāng)輸出的數(shù)字量為FFH(255)時,VOUT2=+5V。
軟件系統(tǒng)
?AUTOCAD 的PLT文件
獲得圖像的原始數(shù)據(jù)一個基本方法,就是通過AUTOCAD 生成的PLT文件,PLT文件記錄了圖像在屏幕上坐標(biāo)值。一般來講,對圓弧而言,就是若干個微小的線段連接而成,每一個線段都有起始兩點(diǎn),由于圓弧是許多微小線段構(gòu)成,所以坐標(biāo)點(diǎn)很多,當(dāng)激光掃描這些坐標(biāo)點(diǎn)時,就能顯示相關(guān)的圖形。PLT文件是HP繪圖儀的命令語句, PLT 文件由幾乎可讀的ASCII碼組成,容易生成和調(diào)試。
對其中一些重要參數(shù)的解釋:
IN (initial):初始化,設(shè)置所有參數(shù),將畫筆移至原點(diǎn)。
SC (scale):定標(biāo),坐標(biāo)值的范圍。
LT (line type):線型,一般為實(shí)線。
SP (select pen):選擇筆型。
PU (pen up):起筆。
PD (pen down):落筆。
PA (pen allocate):定位筆,其后數(shù)據(jù)是X、Y軸坐標(biāo)。
從使用角度,真正有用的是PA后的X、Y軸坐標(biāo),也是必須轉(zhuǎn)換的數(shù)據(jù)部分,這也是PLT文件主體部分,集中了大量數(shù)據(jù),提取PA后的坐標(biāo)值簡化成TXT文件,再拷貝到C51程序中。
?TURBO C++ 相關(guān)程序段和解釋
該TURBO C++ 轉(zhuǎn)換程序主要功能是對PLT文件中的圖像數(shù)據(jù)進(jìn)行轉(zhuǎn)換,把不適合的PLT文件數(shù)據(jù)格式轉(zhuǎn)換成適合的數(shù)據(jù)格式。C51語言數(shù)據(jù)格式為0至255的十六進(jìn)制的數(shù)據(jù),如:34,d6,fe 等格式,255對應(yīng)的十六進(jìn)制的數(shù)為 ff。PLT文件的數(shù)據(jù)在零到數(shù)萬正負(fù)之間,因此必須要對數(shù)據(jù)進(jìn)行轉(zhuǎn)換。
?C51程序流程圖和解析
C51程序是控制激光器的主體程序,分成三個主要部分:選擇DAC芯片,數(shù)據(jù)指針指向數(shù)據(jù)表,數(shù)據(jù)輸出轉(zhuǎn)換。
這些數(shù)據(jù)代表電壓值,由于單片機(jī)數(shù)據(jù)位是8位,電壓的輸出在± 5V之間。把電壓分成256份(28)。80h對應(yīng)的是0V,ffh 對應(yīng)的是+5V,00h對應(yīng)的是- 5V。其輸出的電壓值精度就是10/256V,約為39mV。
流程圖如圖3所示。C51語言相關(guān)程序段和解釋:
1.打開激光器:把p1.4和p1.5 端口置成低電平來打開紅綠兩路激光器, 當(dāng)然也可打開其中任一路顏色的激光器,顏色合成就是通過打開不同顏色的激光器來實(shí)現(xiàn)的。
P1^=16:打開 5 V 電源,開綠激光器,關(guān)紅激光器;
P1=0xfd:打開 5 V 電源,開紅激光器,關(guān)綠激光器。
2.存貯圖形數(shù)據(jù):
unsigned char data x[]={0x3f,0x44,0x54,0x66,0x43,0x60};
unsigned char data y[]={0x3f,0x44,0x54,0x66,0x43,0x60}
其中,x[]和y[]分別代表圖形的X軸和Y軸的坐標(biāo),由上述的PLT文件中的數(shù)據(jù)轉(zhuǎn)化而來。
3.選擇第一DAC:當(dāng)DAC的片選端口為低電平時,即選中。
P1^=8:即選中第一個芯片、不選第二個芯片;
P1=0xfb:即選中第二個芯片、不選第一個芯片。
4. x[]和y[]的值分別送到P0端口被DAC鎖存:
P0=x[i];
P0=y[i]
5. x[]和y[]的值同時由DAC轉(zhuǎn)換輸出。
6. 延時:光學(xué)振鏡偏轉(zhuǎn)時需要一定的時間,所以在給振鏡端口送電平時,太快則振鏡來不及響應(yīng),太慢則影響圖形顯示速度,因此電平之間的延時要取適當(dāng)。延時值的設(shè)置相對于所用設(shè)備而言,如DAC、運(yùn)算放大器等,因此延時須考慮所用設(shè)備的性能。

實(shí)驗(yàn)結(jié)果
控制系統(tǒng)經(jīng)過調(diào)試,單片機(jī)可以控制激光廣告儀輸出動態(tài)圖像。在實(shí)驗(yàn)調(diào)試中,使用了綠色激光完成了動態(tài)橢圓縮放和靜態(tài)矩形的演示。動態(tài)顯示的實(shí)現(xiàn)原理是控制激光以適當(dāng)?shù)臅r間間隔依次顯示大中小三個不等的橢圓,調(diào)整顯示速度可造成動態(tài)效果,實(shí)現(xiàn)橢圓的縮放。圖4所示顯示大中小三個不等橢圓和矩形照片組。
通過圖中照片的效果,給出如下幾點(diǎn)說明:
1、橢圓圓弧光滑連貫:說明圖像中數(shù)據(jù)都被顯示出來,失真很小,在人眼觀察的允許范圍之內(nèi),從矩形直角和圓弧封口的顯示能看出圖像中數(shù)據(jù)已經(jīng)按要求顯示。如果橢圓的圓弧不光滑連貫或直角的角度不標(biāo)準(zhǔn),即存在失真,說明圖像中有坐標(biāo)點(diǎn)丟失。針對控制系統(tǒng)來說,就是由坐標(biāo)點(diǎn)代表的電壓值沒有全部送到光學(xué)振鏡,或者光學(xué)振鏡對端口電壓來不及反應(yīng),而造成圖像失真。在實(shí)驗(yàn)中所用光學(xué)振鏡是0.5V/機(jī)械偏轉(zhuǎn)角,如果往振鏡端口傳輸數(shù)據(jù)太快,即延時太短,光學(xué)振鏡來不及反應(yīng),而造成數(shù)據(jù)丟失。延時長的話,會影響輸出圖像連貫性,不是整個圖像。因此必須要考慮選擇適當(dāng)?shù)难訒r,在該控制系統(tǒng)中延時幾微秒即滿足振鏡時間要求。
2、顯示圖像的點(diǎn)數(shù):圖像復(fù)雜程度一般是由其點(diǎn)數(shù)決定,圖形越復(fù)雜,其描述的點(diǎn)數(shù)也必然越多,因此圖像越復(fù)雜就越難顯示。這里存在兩個原因,第一,存放數(shù)據(jù)的存貯器容量有限制,不能存貯很多的數(shù)據(jù),需要做相應(yīng)的擴(kuò)展。第二,振鏡偏有轉(zhuǎn)速和時間響應(yīng)限制。對人眼來說,要看到是一個完整的連續(xù)的圖像,當(dāng)數(shù)據(jù)很多時將花費(fèi)很多時間,使人觀測到的是不完整的圖像,而造成失真。第三單片機(jī)數(shù)據(jù)位是8位對應(yīng)256狀態(tài),當(dāng)數(shù)據(jù)很多時必須提高數(shù)據(jù)位。
3、圖像拉絲:即在顯示兩個或多個圖形時,在圖形之間存在不必要的連線。由于沒有關(guān)閉激光器而使得本來沒有聯(lián)系的圖形聯(lián)系在一起,這不是圖形失真。在程序中及時關(guān)閉激光器,就能解決這個問題,這要求激光電源有比較好的時間響應(yīng)。

結(jié)語
該控制系統(tǒng)的良好實(shí)現(xiàn)情況表明,單片機(jī)系統(tǒng)能實(shí)時控制激光廣告儀。該控制系統(tǒng)比較突出的優(yōu)點(diǎn):第一、順利地解決以前計(jì)算機(jī)較難解決的圖像封口這一麻煩的問題,用矢量法描述圖形時,8位數(shù)據(jù)精度已經(jīng)滿足解決圖像封口要求,排除了因?yàn)閿?shù)據(jù)精度不夠而引起圖像封口的可能。第二、有比較好響應(yīng)速度,能夠滿足目前光學(xué)振鏡的響應(yīng)時間,能按要求進(jìn)行實(shí)時控制。第三、由于C51編程簡單,代碼率高,而對于機(jī)器的配置要求不高,降低了激光廣告儀的成本。對于激光在其他方面的應(yīng)用,也可采用單片機(jī)取代計(jì)算機(jī)實(shí)現(xiàn)控制。現(xiàn)在所做的控制系統(tǒng)存貯容量是4K,已能描繪一些簡單動態(tài)圖像。當(dāng)采用高速的CPU和高容量Flash存貯器時,就能顯示復(fù)雜的圖像,乃至可能做成激光電視和激光電影。■

參考文獻(xiàn)
1 戴梅萼.微型計(jì)算機(jī)原理及技術(shù)應(yīng)用.清華大學(xué)出版社.1999(1)
2 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京航空航天大學(xué)出版社.1996(3)
3 周葉,高榮芳.數(shù)據(jù)結(jié)構(gòu)與C++.西安交通出版社.1999(11)
4 宛延.C++語言和面向?qū)ο蟪绦蛟O(shè)計(jì).清華大學(xué)出版社.1998(10)
5 李華等.MCS-51系列單片機(jī)使用接口技術(shù).北京航空航天大學(xué)出版社.2001(5)
6 梁合慶.從80x86C語言到8051C語言.南京神脈技術(shù)公司出版.1997(6)


c++相關(guān)文章:c++教程


雙控開關(guān)相關(guān)文章:雙控開關(guān)原理


關(guān)鍵詞: C51語言 DAC 單片機(jī) 控制

評論


相關(guān)推薦

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

關(guān)閉