在一些單位內(nèi)部、醫(yī)院和公共場(chǎng)所的監(jiān)控系統(tǒng)中,常要發(fā)布流動(dòng)的信息。現(xiàn)采用Rabbit半導(dǎo)體公司Rabbit2000微處理器為主控制器,植入二級(jí)漢字字庫(kù)和ASCII碼字符字庫(kù),驅(qū)動(dòng)Noritake公司(伊勢(shì)電子工業(yè)株式會(huì)社)生產(chǎn)的真空熒光顯示器(VFD)模塊,只要通過(guò)10M以及網(wǎng)口或串行口輸入要顯示的信息內(nèi)容,要發(fā)布的信息就可以顯示在VFD上。
1 10M以太網(wǎng)口的實(shí)現(xiàn)
圖1所示為字符顯示器模塊組成框圖。
Rabbit2000微處理器是Rabbit半導(dǎo)體公司生產(chǎn)的8位微處理器。它和Z80系列微處理器有相似的結(jié)構(gòu)和高度的兼容性,但性能有很大的提高。要使以太網(wǎng)控制器RTL8019AS正常工作,Rabbit2000微處理器必須進(jìn)行以下初始化。
*CR=0X60:選擇頁(yè)1寄存器,使控制器處于離線狀態(tài);
*設(shè)置以太網(wǎng)卡地址PAR0~PAR5;
*CR=0x21:選擇頁(yè)0寄存器,使控制器處于離線狀態(tài),中止遠(yuǎn)程DMA;
*RBCR0=0,RBCR1=0:遠(yuǎn)程DMA的接收計(jì)數(shù)寄存器清零;
*CRDA0=0,CRDA1=0x40:遠(yuǎn)程DMA起始地址為4000h;
*RCR=0X20:接收監(jiān)控模式;
*TCR=0X02:環(huán)路測(cè)試模式;
*PSTART=0x46,BNRY=0x46:設(shè)置接收緩沖起始地址、接收和發(fā)送緩沖邊界;
*PSTOP=0x80:設(shè)置接收緩沖的末地址;
*ISR=0xff:屏蔽所有中斷;
*TPSR=0x40:發(fā)送緩沖從4000h開(kāi)始;
*CR=0X61:選擇頁(yè)1寄存器;
*CURR=0x46:設(shè)置當(dāng)前接收緩沖指針;
*CR=0x22:選擇頁(yè)0,正常工作模式;
*TCR=0:發(fā)送器正常工作狀態(tài);
*RCR=0x04:允許接收廣播包;
*ISR=0xff:清除所有中斷。
Rabbit2000微處理器的軟件開(kāi)發(fā)平臺(tái)Dynamic C集編程、編譯、鏈接、調(diào)試、下載于一體,并有完善的TCP/IP協(xié)議棧,配備各種I/O驅(qū)動(dòng)函數(shù)庫(kù)。建立SOCKET后,直接調(diào)用 sock_init()函數(shù)可實(shí)現(xiàn)TCP包的初始化。根據(jù)需要,調(diào)用int sock_read(void *s,byte *dp,int len)等函數(shù)可實(shí)現(xiàn)TCP包的接收;調(diào)用int sock_write(void *s,byte *dp,int len)等函數(shù)可實(shí)現(xiàn)TCP包的發(fā)送。
2 VFD模塊的控制
VFD模塊包括顯示器、顯示驅(qū)動(dòng)、存儲(chǔ)顯示內(nèi)容的RAM、微處理器以及控制接口。模塊控制接口的引腳和功能如表1所列。
VFD顯示模塊共有23條指令,通過(guò)C/D引腳來(lái)區(qū)別命令和數(shù)據(jù)。以下就是一個(gè)向顯示模塊發(fā)出命令或?qū)懭霐?shù)據(jù)的子函數(shù):當(dāng)flag=1 時(shí),ldata為對(duì)顯示模塊發(fā)出的命令;當(dāng)flag=0時(shí),ldata為對(duì)顯示模塊寫(xiě)入的數(shù)據(jù)。子函數(shù)用匯編語(yǔ)言寫(xiě)成,主要目的是為了節(jié)約機(jī)器的運(yùn)行時(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 ;準(zhǔn)備發(fā)命令
jp VFD_C_D1
VFD_C_D0:res V_CD,a ;準(zhǔn)備寫(xiě)入數(shù)據(jù)
VFD_C_D1:res V_CS,a
ioi ld(PEDR),a ;C/D信號(hào)發(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ù)堆棧現(xiàn)場(chǎng),準(zhǔn)備退出子函數(shù)
#endasm
}
3 字庫(kù)的植入和程序的流程
一個(gè)標(biāo)準(zhǔn)的二極漢字字庫(kù)(16×16點(diǎn)陣)約有256KB,標(biāo)準(zhǔn)的ASCII碼字符庫(kù)(16×8點(diǎn)陣)約有4KB,可以與編譯好的程序bin文件整合在一起,并用Dynamic C提供的RFU下載工具寫(xiě)入目標(biāo)板。經(jīng)整合后的內(nèi)存空間分為以下幾個(gè)區(qū)間:程序區(qū)、字庫(kù)區(qū)、信息斷電保存區(qū)。當(dāng)然,字庫(kù)的格式和VFD顯示器所要求的格式有所不同,還要進(jìn)行格式轉(zhuǎn)換。限于篇幅此處不再描述。
costate指令是Dynamic C對(duì)標(biāo)準(zhǔn)C的擴(kuò)展功能。每一個(gè)costate實(shí)體就是一個(gè)任務(wù)。每一個(gè)costate實(shí)體都可以自愿地懸掛起來(lái),等待一段時(shí)間后繼續(xù)運(yùn)行。本機(jī)的主程序就采用了costate結(jié)構(gòu)。圖2是主程序的流程圖。
結(jié)語(yǔ)
綜上所述,本機(jī)的最大特點(diǎn)就是帶有漢字和ASCII碼字庫(kù),配備以太網(wǎng)和串口兩種物理接口,可以通過(guò)指令方便地修改和顯示中西文信息,真正實(shí)現(xiàn)了信息發(fā)布的無(wú)紙化。
責(zé)任編輯:gt
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5600瀏覽量
175099 -
接口
+關(guān)注
關(guān)注
33文章
8967瀏覽量
153347 -
微處理器
+關(guān)注
關(guān)注
11文章
2373瀏覽量
83931
發(fā)布評(píng)論請(qǐng)先 登錄
基于微處理器和以太網(wǎng)接口實(shí)現(xiàn)嵌入式尿液分析儀系統(tǒng)的設(shè)計(jì)

Rabbit2000/液晶顯示控制器KS0108B接口
微處理器Rabbit2000和液晶顯示控制器KS0108B接口及編程
0P7200多功能控制器怎么樣?
HDMI和以太網(wǎng)應(yīng)用程序,使用什么微控制器微處理器?
ARM微處理器編程基礎(chǔ)和接口實(shí)驗(yàn)
ARM微處理器編程基礎(chǔ)和接口實(shí)驗(yàn)
由Rabbit2000微處理器構(gòu)成的網(wǎng)絡(luò)消防報(bào)警系統(tǒng)
由Rabbit2000 微處理器構(gòu)成的網(wǎng)絡(luò)消防報(bào)警系統(tǒng)
基于VME總線的以太網(wǎng)接口設(shè)備
基于Rabbit2000微處理器的網(wǎng)絡(luò)消防報(bào)警控制系統(tǒng)

評(píng)論