999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

STM32控制串口液晶屏的動態疊加曲線顯示

2019-01-11 08:56:24束仁義張水鋒
通化師范學院學報 2019年2期
關鍵詞:指令

陳 帥,束仁義,張水鋒

在數據采集系統的液晶屏上需要繪制不同測點數據水平變化曲線,同時又要疊加繪制數據大小的柱狀圖形.例如要繪制N個測量點數據的柱狀圖,表示數據的相對大小,同時又要疊加繪制這N個測量點數據的水平方向動態變化,即連接柱狀圖頂點的連線,表示不同測點水平方向的變化趨勢.運用工業串口液晶屏[1-2]可以繪制基本圖形以及多條連續水平動態曲線[3],無法滿足需求.本文研究實現了基于STM32控制在迪文串口液晶屏上的動態疊加曲線顯示過程.

1 控制原理

1.1 串口幀格式[3]

迪文 DGUS[4]液晶屏 DMT80480T050_01WN如圖1所示,組成包括驅動基板和液晶面.與外界通信有RS485和RS232接口,同時兼供電線路.這里采用單片機STM32通過RS232串口與液晶屏連接,連接示意圖如圖2所示.

通過STM32控制液晶工作只需在程序中向串口發送數據幀.發送的串口數據幀必須按照一定的格式,數據幀格式如表1所示.其中數據幀的幀頭占2字節,數據長度占1字節,指令占1字節,然后是數據字節,根據系統參數配置選項最后可有2字節的檢驗碼.

表1 迪文液晶屏的串口幀格式

幀頭可以通過系統參數配置指定.數據長度字節值是指從指令字節開始至CRC校驗的字節數.指令字節內容為0x80~0x84之一.也可以通過配置文件決定是否需要CRC校驗字節.

圖1 迪文液晶屏

圖2 實驗連接圖

1.2 指令

迪文液晶的串口屏有五條指令,分別是寄存器寫、寄存器讀、數據存儲器寫、數據存儲器讀、曲線控制緩沖區寫,對應的指令分別為80~84指令.

例如,如果通過配置文件設定不需要CRC校驗,則STM32通過RS232串口向液晶屏發送十六進制幀:unsigned char Frame_pwd[8]={A5 5A 05 82 00 50 00 2A};則該幀表示在0050地址顯示字符"*".其中幀頭為A5和5A兩字節;第三字節05表示數據長度為5,也就是幀的第3字節后面還有5個字節;第4字節82為指令,表示寫數據存儲器;第5~6字節00、50表示數據存儲地址,該地址是在組態軟件中設定的顯示區地址,即決定了顯示位置;第7~8字節00、2A表示ASCII碼數值2A,對應字符"*".

迪文液晶屏支持繪制多個曲線數據連續變化的84指令,但靠這個指令難以滿足我們的要求.而82指令有基本圖形繪制功能,可以繪制點、圓、線、矩形等基本圖形.

例如串口發送幀:{A5 5A 0F 82 00 10 00 01 00 01 00 10 00 10 F8 00 FF 00}

其中:

A5 5A:為幀頭;

0F:是發送的數據長度(不含幀頭和長度字節,即從82開始總共15字節);

82:曲線控制指令;

00 10:為變量(VP)地址;

00 01:寫入VP地址的數據(作為繪圖指令);(此處VP地址由于在DGUS配置軟件中已經做成基本繪圖的控件,因此存儲的數據被DGUS默認為繪圖指令,例如0001便是置點指令,0002為連線指令,0003畫矩形,0004矩形填充,0005為畫圓,0006為圖片剪切,0008為區域填充,0009畫垂直線)[曲線控制82向VP地址寫入的數據(作為繪圖指令)時發送數據的長度也相應不同];

00 01:寫入數據0001(此處VP+1地址里存儲的數據表示最大數據包數目.例如置點,0001表示置一個點);

00 10 00 10:往VP+2開始的地址里寫入第一個頂點的坐標(這里分別是X,Y坐標(0010,0010));

F8 00:往VP+3地址寫入的數,表示點的顏色(F800表示紅色);

FF 00:表示繪圖操作結束.

2 液晶配置

迪文液晶屏通過組態軟件DGUS進行液晶界面配置設置.先在個人計算機上利用Photoshop等軟件設計需要的圖形界面,然后導入組態軟件DGUS,再進行配置,包括系統參數配置、觸控配置,最后生成配置文件.將配置文件復制到SD卡上,將SD卡插入液晶的插口,在液晶上電時就把SD卡上的配置文件下載到液晶屏中.

2.1 分辨率與系統參數配置

在組態軟件DGUS下引入背景圖,設置好屏幕分辨率800*640,系統參數配置串口波特率為115200,幀頭字節為:0xA5,0x5A.

2.2 觸控配置

以N取6點為例.

引入12個基本圖形控件,放置在要繪制圖形的恰當位置,如圖3所示,它們是疊加在一起的.其中6個用于顯示6點動態數據的柱狀圖,變量地址分別為0x2000、0x2020、0x2040、0x2060、0x2080、0x20a0;5個用于顯示這6點動態數據的水平連線(柱狀圖頂點連線),變量地址分別為0x2410、0x2420、0x2430、0x2440、0x2450;1個用于顯示水平參考坐標,變量地址設為0x2400.

圖3 在液晶設計中引入12個基本圖形控件

圖3中的加括號的數據表示圖形中相應點的坐標值.生成配置文件,導出變量.同時還可以查看變量.

3 編程控制

3.1 連線函數

在設計的每個基本圖形控件上進行連線的操作功能:柱狀線、水平坐標線、動態連線,都具有相同的點與點之間的連接操作.故在STM32中設計兩點間連線函數以供調用,函數形式如下.void self_line(addr,X1,Y1,X2,Y2,color);

其中:函數參數都為無符號的整數.地址為基本圖形控件的變量地址值,X1、X2和Y1、Y2分別為連線的起止兩點的橫、縱坐標,color為連線的顏色.函數無返回值.該函數實現比較簡單:定義一個無符號字符數組作為串口準備發送的幀,使用82命令按照表1格式填充幀字節,調用串口發送函數把幀字節發送給工業液晶屏顯示.有了連線函數,就可以通過參數改變進行曲線繪制.連線函數實現代碼如下.

void self_line(u16 addr,u16 X1,u16 Y1,u16 X2,u16 Y2,u16 col

or)//連線函數

{

u8 frame_line[22]={0xa5,0x5a,0x13,0x82,0x21,0x10,0x00,

0x02,0x00,0x01,0xff,0xe0,0x00,0x10,0x00,

0x10,0x00,0x50,0x00,0x50,0xff,0x00};//19字節

frame_line[4]=(addr>>8)&(0xff);

frame_line[5]=(addr>>0)&(0xff);

frame_line[10]=(color>>8)&(0xff);//顏色

frame_line[11]=(color>>8)&(0xff);

frame_line[12]=(X1>>8)&(0xff);//起點

frame_line[13]=(X1>>0)&(0xff);

frame_line[14]=(Y1>>8)&(0xff);

frame_line[15]=(Y1>>0)&(0xff);

frame_line[16]=(X2>>8)&(0xff);//終點

frame_line[17]=(X2>>0)&(0xff);

frame_line[18]=(Y2>>8)&(0xff);

frame_line[19]=(Y2>>0)&(0xff);

uart3_sendbuf(frame_line,22);//STM32的uart3發送22字節,送液晶顯示

}

3.2 參考坐標繪制

在連線函數self_line中,只要保持Y1=Y2,X1≠ X2即可繪出水平線.同樣,保持X1=X2,Y1≠Y2即可繪出垂直線.

3.3 疊加曲線繪制功能

設數據保存在浮點數組strain中,則繪制疊加曲線過程為:

float strain_pos[7];//6個動態測量數據

int j; //變量

int px[7],y1[7],y2[7];//坐標變量數組

float scale=10;//坐標比例系數

for(j=1;j<=6;j++) //繪6測點疊加曲線圖

{

px[j]=150+(j-1)*100; //水平方向x位置

y1[j]=135; //垂直方向 y起點

y2[j]=135-(strain_pos[j])/scale*90;//垂直方向y終點

self_line(0x2110+(j-1)*16,px[j],y1[j],px[j],y2[j],

0xffe0);//調用連線函數繪柱狀圖

if(j>=2)//從第2點開始

self_line(0x2400+(j-1)*16,px[j-1],y2[j-1],px[j],

y2[j],0xf800);//調用連線函數繪制連線圖

}

4 實驗

數據采集系統連接如圖2所示.Stm32f103通過串口與迪文工業液晶屏連接.傳感器采集使用zigbee無線模塊采集.采集的壓力通過stm32f103處理后,發送給迪文液晶屏進行動態顯示,即要顯示柱狀圖,又要疊加顯示水平曲線.實驗裝置如圖4.

圖4 實驗裝置

圖5 工業液晶屏顯示的動態疊加曲線

實驗結果如圖5(a)(b)(c),分別是三個不同時間顯示曲線的液晶屏顯示照片.由圖5(a)(b)(c)可見,工業液晶屏可以同時疊加顯示柱狀圖和水平變化曲線圖.當數據發生動態變化時,疊加柱狀圖和水平變化曲線隨之改變.

5 結論

為了在工業液晶串口屏上同時疊加顯示柱狀圖和水平曲線,采用組態軟件設計了液晶顯示界面,并進行了液晶配置.在STM32F103上設計了連線控制函數,在實驗裝置上進行了實驗.結果驗證了在STM32控制下,設計的方法可以在串口液晶屏上實現動態疊加曲線的顯示.

猜你喜歡
指令
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
巧用G10指令實現橢圓輪廓零件倒圓角
時代農機(2015年3期)2015-11-14 01:14:29
中斷與跳轉操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設備等產品安全規定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業發展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 美女亚洲一区| 国产a v无码专区亚洲av| 91九色国产porny| 亚洲香蕉久久| 国产精品高清国产三级囯产AV| 国产精品99一区不卡| 日本福利视频网站| 久草性视频| 久久精品丝袜| 韩国福利一区| 国产不卡一级毛片视频| 国产成人三级在线观看视频| 欧美在线黄| 亚洲综合香蕉| 国产乱肥老妇精品视频| 熟妇人妻无乱码中文字幕真矢织江| 老司机久久精品视频| 国产激爽大片高清在线观看| 国产人碰人摸人爱免费视频| 亚洲欧美综合精品久久成人网| 国产精品lululu在线观看| 亚州AV秘 一区二区三区| 亚洲综合狠狠| 亚洲最猛黑人xxxx黑人猛交| 伊人色在线视频| 小13箩利洗澡无码视频免费网站| 青青青亚洲精品国产| 久久久久青草大香线综合精品 | 国产一级无码不卡视频| www.狠狠| 国产成人精品视频一区二区电影| 色综合天天操| 久久综合九色综合97网| 婷婷亚洲天堂| 91视频青青草| 国产精品亚洲欧美日韩久久| 四虎成人精品| 亚洲自偷自拍另类小说| 久久久成年黄色视频| 亚洲精品国产综合99| 国产网站在线看| 欧美一级爱操视频| 亚洲欧洲国产成人综合不卡| 亚洲国产清纯| 九九九精品视频| 超碰aⅴ人人做人人爽欧美| 久久精品亚洲中文字幕乱码| 国产精品成人不卡在线观看| 在线亚洲天堂| 91午夜福利在线观看| 99国产精品国产高清一区二区| 一区二区午夜| 中文字幕在线观| 欧美成人h精品网站| 日韩午夜福利在线观看| 国产免费黄| 亚洲人成网站在线播放2019| 波多野结衣一二三| 精品国产欧美精品v| 国产精品短篇二区| 美女被躁出白浆视频播放| 五月激情婷婷综合| 成年人视频一区二区| 久视频免费精品6| 日韩精品亚洲精品第一页| 亚洲永久免费网站| 色婷婷在线影院| 特级欧美视频aaaaaa| 中国毛片网| 91口爆吞精国产对白第三集| 欧美激情二区三区| 欧美h在线观看| 91麻豆精品视频| 成人免费网站久久久| 综合人妻久久一区二区精品| 久久一色本道亚洲| 91亚洲影院| 国产无人区一区二区三区| 亚洲精品免费网站| 91小视频在线| 五月婷婷欧美| 国产精品无码在线看|