<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 彩色液晶智能控制系統的設計與實(shí)現

彩色液晶智能控制系統的設計與實(shí)現

——
作者: 時(shí)間:2010-01-25 來(lái)源:中國IT實(shí)驗室 收藏

  

本文引用地址:http://dyxdggzs.com/article/104758.htm

 

  系統上電后,首先進(jìn)行初始化,接著(zhù)循環(huán)讀取緩沖區指針。若有數據,則讀取緩沖區數據,并對數據進(jìn)行分析;若為命令就讀取完整的命令信息,并執行命令。否則,就將讀取內容作為中西文字符顯示。命令主要有:畫(huà)線(xiàn)、畫(huà)矩形、畫(huà)橢圓、畫(huà)曲線(xiàn)、畫(huà)填充區域、中西文切換、光標跳轉、字庫更新及圖形圖像下載及顯示等。若有中斷發(fā)生,就進(jìn)行中斷處理。外設引起的中斷共有兩個(gè):串行中斷和總線(xiàn)口中斷,當有一個(gè)串行數據或總線(xiàn)口數據到達時(shí),就會(huì )引發(fā)相應的中斷。這兩種中斷雖然入口地址不同,但它們實(shí)現的功能是完全一樣的,都是讀取外設傳來(lái)的數據,并將其放入緩沖區中。

  從微機下載字庫或圖像文件時(shí),數據量較大,在對板載接收程序編程時(shí)應注意對128字節緩沖區的操作要合理,否則會(huì )導致軟件系統的崩潰。緩沖區是作為環(huán)形隊列來(lái)使用的,主要應注意兩點(diǎn):一是不要等緩沖區滿(mǎn)時(shí)才置DTR(見(jiàn)圖3)為“忙”狀態(tài),因為這樣正在傳輸的字節會(huì )丟失;二是當DTR出現一次“忙”后,緩沖區有較多空閑時(shí),應使DTR信號變?yōu)?ldquo;閑”,否則會(huì )因DTR信號變化太頻繁而使程序失控。這里的算法是,當緩沖區還有6個(gè)字節空閑時(shí),置DTR有效(CPU“忙”),暫停通信;之后,當緩沖區降到64字節的閑余時(shí),置DTR為“閑”,恢復通信。這樣,雖然下載速度稍微受點(diǎn)影響,但通信的可靠性大大增強了;另一方面,下載完數據后,本系統要脫機和其它微處理器連接使用,下載速度對本系統的使用無(wú)任何影響。

  3 預置功能的實(shí)現

  預置功能主要是通過(guò)微機的通訊程序,為液晶顯示器預先儲存漢字字庫、圖形或圖像,并可隨時(shí)更新漢字字庫、圖形或圖像,以便系統脫機和其它微處理器連用時(shí),可以利用這些資源。當其它微處理器系統發(fā)送顯示預置資源命令時(shí),本系統就會(huì )控制液晶顯示器來(lái)顯示相應的漢字點(diǎn)陣、圖形或圖像。存儲器采用非易失FLASH閃存,分為字庫、圖形和圖像三個(gè)區域。字庫存儲的是漢字字模的點(diǎn)陣,圖形存儲的是液晶圖形方式下的一些命令,圖像存儲的是BMP位圖點(diǎn)陣數據。

  預置軟件是智能控制系統的配套軟件,用來(lái)下載PC機的圖形圖像到智能控制系統中,實(shí)現預置功能。它基于MSComm通信控件,采用VC++的MFC類(lèi)庫編程,控件工作方式為查詢(xún)方式,可運行于Windows的所有操作系統中,通過(guò)微機串行口和本系統通信。連接關(guān)系如圖3所示。

  

 

  由于通信距離較近,采用串行口直接相連方式。微機通信端口選擇COM1或COM2,它們是標準的RS232異步通訊接口。微機向智能控制系統發(fā)送數據,進(jìn)行單工串行通信,在智能界面板載128字節的緩沖區,采用了DSR硬件握手程序。在通訊過(guò)程中,如果智能控制系統的微處理器忙,它就會(huì )置DTR(微機的DSR)為RS232標準的低電平,微機暫停發(fā)送;等智能控制系統的微處理器閑時(shí),它又置DSR為高,微機繼續發(fā)送數據。

  字庫預置是把漢字字庫點(diǎn)陣下載到FLSH的字庫區;圖形預置時(shí),軟件會(huì )根據選擇的液晶屏型號,使預置視區和液晶屏分辨率相同。此時(shí)菜單項包括畫(huà)線(xiàn)、畫(huà)矩形、畫(huà)橢圓、畫(huà)曲線(xiàn)、畫(huà)填充區域及寫(xiě)漢字等。用戶(hù)可選擇在視區繪制圖形或寫(xiě)漢字的命令,然后按下發(fā)送命令,程序會(huì )在后臺把用戶(hù)繪制的圖形轉換為相應的智能控制系統能識別的命令傳送出去,之后智能控制系統的接收程序會(huì )把這些命令存儲到FLASH的圖形區內;圖像預置時(shí),程序可以打開(kāi)一副BMP無(wú)壓縮圖像,在圖像上有一個(gè)大小和位置可改變的矩形框,用來(lái)選定傳送圖像的區域,按下發(fā)送命令后,程序提取矩形框內圖像的寬高和點(diǎn)陣數據,傳送出去。

  在對BMP圖像數據進(jìn)行提取時(shí),應注意以下幾點(diǎn):第一,大多數BMP圖像點(diǎn)陣都是倒置的,起始點(diǎn)在左下角。第二,現在Windows操作系統下的位圖多為與設備無(wú)關(guān)的位圖,256色及以下位圖都帶有調色板,調色板每個(gè)顏色表示的三字節RGB分量按相反的順序排列,要注意調色板與位圖數據的正確對應關(guān)系。第三,要把顏色信息轉化為本系統能識別的信息。系統采用的液晶屏為16位色(用兩字節表示),對于24位真彩色,要把RGB分量由256個(gè)等級轉化為32個(gè)等級,即把每點(diǎn)的RGB分量分別除以8,再合為兩個(gè)字節;對于256色及以下位圖,要先找到每點(diǎn)對應的調色板顏色表示的信息,然后按上面介紹的方法處理即可。這種方法雖然引入一些失真,但失真不大,完全滿(mǎn)足應用要求。

p2p機相關(guān)文章:p2p原理



上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>