如何使用W7100A實現網絡字符LCD?

本用戶手冊將為大家介紹如何使用W7100A實現網絡字符LCD。

 

1.字符LCD(Character LCD)

iMCU7100EVB提供了字符LCD(Character LCD)連接接口,並且能夠使用W7100A來控制和測試字符LCD(Character LCD)。如圖1所示,iMCU7100EVB能夠使用嵌入的硬件化TCP/IP協議棧通過網絡來控制字符LCD(Character LCD),這在普通的MCU中是很難實現的。這篇文檔將會幫助你使用網絡單片機W7100A實現遠程控制字符LCD(Character LCD)。

2. 網絡字符LCD(Network Character LCD)

圖片1是利用iMCU7100EVB實現網絡字符LCD(Network Character LCD)的圖片。需要將字符LCD、電源線、用於以太網通信的UPT線,以及用於調試和編程的串口線連接到iMCU7100EVB。

2.1 連接網絡字符LCD(Network Character LCD)

用戶能夠在Windows中通過超級終端機(Hyper Terminal)連接到網絡字符。當如圖2顯示“連接到(Connect To)”窗口出現時,輸入主機地址(例如192.168.1.165) 和端口地址(例如5000)。然後,按照圖3來設置超級終端機(Hyper Terminal)的屬性。

圖2連接網絡字符LCD

圖3設置超級終端機(Hyper terminal)屬性

2.2 向網絡字符LCD(Network Character LCD)發送信息

2.3 顯示信息

像公交車到達時間的信息等都可以顯示在網絡字符LCD(Network Character LCD)上。下面的圖表和圖片是用網絡字符LCD(Network Character LCD)顯示公交車到達時間的演示。圖6顯示了從遠程PC機接收到的網絡字符LCD的數據。圖片2為網絡字符LCD(Network Character LCD)向上滾動顯示從遠程PC機接收到的字符串。

3. 硬件配置

3.1 配置

3.2 字符LCD(Character LCD)連接器和引腳描述

圖6顯示了字符LCD(Character LCD)接口(JP1)電路。表1列出了字符LCD(Character LCD)各引腳的描述。

4. 固件程序說明

網絡字符LCD(Character LCD)工作於TCP服務器模式下。在該模式下,W7100A等待客戶端連接請求,並且當與客戶端連接之後,與客戶端進行數據通信。(更多的詳細信息,請參閱‘因特網嵌入式MCU W7100A用戶手冊9.2.1.1和文檔‘如何在W7100A中實現TCP’)。

擴展TCP迴路測試(Loopback)的實例代碼,這些代碼都包含在‘如何在W7100A實現TCP’文檔中,它們可用於實現網絡字符LCD(Character LCD)。網絡字符LCD(Character LCD)的程序流程如圖7所示。

4.1 初始化

Socket狀態寄存器(Sn_SR)的值是SOCK_ESTABLISHED(0x01),這個值也是軟件初始化之後Socket的值。Socket中斷寄存器的值是Sn_IR_CON(=0x01),該值表示客戶端成功連接到服務器。

-向客戶端發送信息: 代碼第51-53行和59-61行

-初始化保存data_buf值的tmp_data_buf :代碼第44行

-清除字符LCD(character LCD) : 代碼第47-48行

-避免初始化進程的重複,清除Sn_IR的值:代碼第56行

4.2 接收數據

‘接收讀取緩存大小寄存器(Receive Read Buffer Size Register)’ 用來接收字符串,並且字符串的長度必須為16字節,如果接收讀取緩存的長度大於16,使用recv()來接收數據(代碼65-68)。根據buf_idx(buffer_index)函數,在data_buf中接收到的數據將被複制到tmp_data_buf中。

Tmp_data_buf的大小為17 x32。也就是說它可以保存32個字符串,每個字符串有16個字符和一個Null字符。如果接收成功並且數據保存到tmp_data_buf中,則向客戶端(代碼84-86)發送一個表示成功的信息。

4.3 顯示

滾動tmp_data_buf的源代碼如下:使用在字符LCD(Character LCD)驅動源代碼lcd.c中定義的evb_set_lcd_text()函數。evb_set_lcd_text()函數的參數是1位(0或者1)和16個字符串。同時,如上面所提到的,tmp_data_buf最多能夠保存32列,lcd_scroll()函數用來在2行字符串LCD(Character LCD)中滾動實現所有的字符串。Dis_idx(display_index)用來在2行字符LCD(Character LCD)中滾動實現32個字符串(代碼127-128)。

 

這就是如何使用W7100A實現網絡字符LCD的全部內容,希望對大家有所幫助。