帶乙太網口的中西文VFD字元顯示器論文

帶乙太網口的中西文VFD字元顯示器論文

  摘要:介紹一種帶乙太網口的中西文VFD字元顯示器,根據乙太網口的實現方法、VFD的控制要點以及中西文字型檔的植入和程式的流程。該字元顯示器為單位內部、公共場所的監控系統釋出資訊提供了完整的方案。

  關鍵詞:字型檔Rabbit2000微處理器乙太網VFD顯示器

  在一些單位內部、醫院和公共場所的監控系統中,常要釋出流動的資訊。現採用Rabbit半導體公司Rabbit2000微處理器為主控制器,植入二級漢字字型檔和ASCII碼字元字型檔,驅動Noritake公司(伊勢電子工業株式會社)生產的真空熒光顯示器(VFD)模組,只要透過10M以及網口或序列口輸入要顯示的.資訊內容,要釋出的資訊就可以顯示在VFD上。

  1、10M乙太網口的實現

  圖1所示為字元顯示器模組組成框圖。

  Rabbit2000微處理器是Rabbit半導體公司生產的8位微處理器。它和Z80系列微處理器有相似的結構和高度的相容性,但效能有很大的提高。要使乙太網控制器RTL8019AS正常工作,Rabbit2000微處理器必須進行以下初始化。

  *CR=0X60:選擇頁1暫存器,使控制器處於離線狀態;

  *設定乙太網卡地址PAR0~PAR5;

  *CR=0x21:選擇頁0暫存器,使控制器處於離線狀態,中止遠端DMA;

  *RBCR0=0,RBCR1=0:遠端DMA的接收計數暫存器清零;

  *CRDA0=0,CRDA1=0x40:遠端DMA起始地址為4000h;

  *RCR=0X20:接收監控模式;

  *TCR=0X02:環路測試模式;

  *PSTART=0x46,BNRY=0x46:設定接收緩衝起始地址、接收和傳送緩衝邊界;

  *PSTOP=0x80:設定接收緩衝的末地址;

  *ISR=0xff:遮蔽所有中斷;

  *TPSR=0x40:傳送緩衝從4000h開始;

  *CR=0X61:選擇頁1暫存器;

  *CURR=0x46:設定當前接收緩衝指標;

  *CR=0x22:選擇頁0,正常工作模式;

  *TCR=0:傳送器正常工作狀態;

  *RCR=0x04:允許接收廣播包;

  *ISR=0xff:清除所有中斷。

  Rabbit2000微處理器的軟體開發平臺DynamicC集程式設計、編譯、連結、除錯、下載於一體,並有完善的TCP/IP協議棧,配備各種I/O驅動函式庫。建立SOCKET後,直接呼叫sock_init()函式可實現TCP包的初始化。根據需要,呼叫intsock_read(void*s,byte*dp,intlen)等函式可實現TCP包的接收;呼叫intsock_write(void*s,byte*dp,intlen)等函式可實現TCP包的傳送。

  2、VFD模組的控制

  VFD模組包括顯示器、顯示驅動、儲存顯示內容的RAM、微處理器以及控制介面。模組控制介面的引腳和功能如表1所列。

  表1VFD顯示模組引腳功能

  引腳

  功能

  D0D7資料線(輸入/輸出)WR寫訊號(輸入)RD讀訊號(輸入)CS片選訊號(輸入)C/D命令/資料選擇訊號(輸入)

  C/D="1"命令

  C/D="0"資料FPR幀訊號(輸出)(一個顯示幀輸出個脈衝)BL顯示空白訊號(輸入)

  VFD顯示模組共有23條指令,透過C/D引腳來區別命令和資料。以下就是一個向顯示模組發出命令或寫入資料的子函式:當flag=1時,ldata為對顯示模組發出的命令;當flag=0時,ldata為對顯示模組寫入的資料。子函式用匯編語言寫成,主要目的是為了節約機器的執行時間。

  rootvoidVFD_C_D(charflag,charldata){

  #asm

  poph1;彈出跳入地址

  exde,h1;儲存

  poph1;彈出flag

  ioilda,(PEDR)

  bit0,1

  jrZ,VFD_C_D0;判斷flag的值

  setV_CD,a;準備發命令

  jpVFD_C_D1

  VFD_C_D0:resV_

  CD,a;準備寫入資料

  VFD_C_D1:resV_CS,a

  ioild(PEDR),a;C/D訊號發出

  poph1;彈出ldata

  ld,b,1

  ldhl,WR_ADD;讀顯示模組的外部地址

  ioeld(h1),b;將ldata發出

  setV_CS,a

  setV_CD,a

  ioild(PEDR)a;一個完整的時序完成

  pushde

  pushde

  pushde;恢復堆疊現場,準備退出子函式

  #endasm

  }

  3、字型檔的植入和程式的流程

  一個標準的二極漢字字型檔(16×16點陣)約有256KB,標準的ASCII碼字元庫(16×8點陣)約有4KB,可以與編譯好的程式bin檔案整合在一起,並用DynamicC提供的RFU下載工具寫入目標板。經整合後的記憶體空間分為以下幾個區間:程式區、字型檔區、資訊斷電儲存區。當然,字型檔的格式和VFD顯示器所要求的格式有所不同,還要進行格式轉換。限於篇幅此處不再描述。

  costate指令是DynamicC對標準C的擴充套件功能。每一個costate實體就是一個任務。每一個costate實體都可以自願地懸掛起來,等待一段時間後繼續執行。本機的主程式就採用了costate結構。圖2是主程式的流程圖。

  結語

  綜上所述,本機的最大特點就是帶有漢字和ASCII碼字型檔,配備乙太網和串列埠兩種物理介面,可以透過指令方便地修改和顯示中西文資訊,真正實現了資訊釋出的無紙化。

最近訪問