<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>

新聞中心

EEPW首頁(yè) > 光電顯示 > 設計應用 > 帶以太網(wǎng)口的中西文VFD字符顯示器

帶以太網(wǎng)口的中西文VFD字符顯示器

作者: 時(shí)間:2004-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:介紹一種帶口的,根據口的實(shí)現方法、的控制要點(diǎn)以及字庫的植入和程序的流程。該為單位內部、公共場(chǎng)所的監控系統發(fā)布信息提供了完整的方案。

關(guān)鍵詞:字庫 Rabbit2000微處理器

在一些單位內部、醫院和公共場(chǎng)所的監控系統中,常要發(fā)布流動(dòng)的信息?,F采用Rabbit半導體公司Rabbit2000微處理器為主控制器,植入二級漢字字庫和ASCII碼字庫,驅動(dòng)Noritake公司(伊勢電子工業(yè)株式會(huì )社)生產(chǎn)的真空熒光顯示器(VFD)模塊,只要通過(guò)10M以及網(wǎng)口或串行口輸入要顯示的信息內容,要發(fā)布的信息就可以顯示在VFD上。

1 10M以太網(wǎng)口的實(shí)現

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

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

*CR=0X60:選擇頁(yè)1寄存器,使控制器處于離線(xiàn)狀態(tài);

*設置以太網(wǎng)卡地址PAR0~PAR5;

*CR=0x21:選擇頁(yè)0寄存器,使控制器處于離線(xiàn)狀態(tài),中止遠程DMA;

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

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

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

*TCR=0X02:環(huán)路測試模式;

*PSTART=0x46,BNRY=0x46:設置接收緩沖起始地址、接收和發(fā)送緩沖邊界;

*PSTOP=0x80:設置接收緩沖的末地址;

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

*TPSR=0x40:發(fā)送緩沖從4000h開(kāi)始;

*CR=0X61:選擇頁(yè)1寄存器;

*CURR=0x46:設置當前接收緩沖指針;

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

*TCR=0:發(fā)送器正常工作狀態(tài);

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

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

Rabbit2000微處理器的軟件開(kāi)發(fā)平臺Dynamic C集編程、編譯、鏈接、調試、下載于一體,并有完善的TCP/IP協(xié)議棧,配備各種I/O驅動(dòng)函數庫。建立SOCKET后,直接調用sock_init()函數可實(shí)現TCP包的初始化。根據需要,調用int sock_read(void *s,byte *dp,int len)等函數可實(shí)現TCP包的接收;調用int sock_write(void *s,byte *dp,int len)等函數可實(shí)現TCP包的發(fā)送。

2 VFD模塊的控制

VFD模塊包括顯示器、顯示驅動(dòng)、存儲顯示內容的RAM、微處理器以及控制接口。模塊控制接口的引腳和功能如表1所列。

表1 VFD顯示模塊引腳功能

引 腳

功 能

D0D7數據線(xiàn)(輸入/輸出)
WR寫(xiě)信號(輸入)
RD讀信號(輸入)
CS片選信號(輸入)
C/D命令/數據選擇信號(輸入)
C/D="1"命令
C/D="0"數據
FPR幀信號(輸出)(一個(gè)顯示幀輸出個(gè)脈沖)
BL顯示空白信號(輸入)

VFD顯示模塊共有23條指令,通過(guò)C/D引腳來(lái)區別命令和數據。以下就是一個(gè)向顯示模塊發(fā)出命令或寫(xiě)入數據的子函數:當flag=1時(shí),ldata為對顯示模塊發(fā)出的命令;當flag=0時(shí),ldata為對顯示模塊寫(xiě)入的數據。子函數用匯編語(yǔ)言寫(xiě)成,主要目的是為了節約機器的運行時(shí)間。

root void VFD_C_D(char flag,char ldata){

#asm

pop h1 ;彈出跳入地址

ex de,h1 ;保存

pop h1 ;彈出flag

ioi ld a,(PEDR)

bit 0,1

jr Z,VFD_C_D0 ;判斷flag的值

set V_CD,a ;準備發(fā)命令

jp VFD_C_D1

VFD_C_D0:res V_CD,a ;準備寫(xiě)入數據

VFD_C_D1:res V_CS,a

ioi ld(PEDR),a ;C/D信號發(fā)出

pop h1 ;彈出ldata

ld,b,1

ld hl,WR_ADD ;讀顯示模塊的外部地址

ioe ld(h1),b ;將ldata發(fā)出

set V_CS,a

set V_CD,a

ioi ld(PEDR)a ;一個(gè)完整的時(shí)序完成

push de

push de

push de ;恢復堆?,F場(chǎng),準備退出子函數

#endasm

}

3 字庫的植入和程序的流程

一個(gè)標準的二極漢字字庫(1616點(diǎn)陣)約有256KB,標準的ASCII碼字符庫(168點(diǎn)陣)約有4KB,可以與編譯好的程序bin文件整合在一起,并用Dynamic C提供的RFU下載工具寫(xiě)入目標板。經(jīng)整合后的內存空間分為以下幾個(gè)區間:程序區、字庫區、信息斷電保存區。當然,字庫的格式和VFD顯示器所要求的格式有所不同,還要進(jìn)行格式轉換。限于篇幅此處不再描述。

costate指令是Dynamic C對標準C的擴展功能。每一個(gè)costate實(shí)體就是一個(gè)任務(wù)。每一個(gè)costate實(shí)體都可以自愿地懸掛起來(lái),等待一段時(shí)間后繼續運行。本機的主程序就采用了costate結構。圖2是主程序的流程圖。

結語(yǔ)

綜上所述,本機的最大特點(diǎn)就是帶有漢字和ASCII碼字庫,配備以太網(wǎng)和串口兩種物理接口,可以通過(guò)指令方便地修改和顯示信息,真正實(shí)現了信息發(fā)布的無(wú)紙化。



評論


相關(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>