带以太网口的中西文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微处理器的软件开发平台dynamic c集编程、编译、链接、调试、下载于一体,并有完善的tcp/ip协议栈,配备各种i/o驱动函数库。建立socket后,直接调用sock_init()函数可实现tcp包的初始化。根据需要,调用int sock_read(void *s,byte *dp,int len)等函数可实现tcp包的接收;调用int sock_write(void *s,byte *dp,int len)等函数可实现tcp包的发送。
2 vfd模块的控制
vfd模块包括显示器、显示驱动、存储显示内容的ram、微处理器以及控制接口。模块控制接口的引脚和功能如表1所列。
表1 vfd显示模块引脚功能
引 脚 | 功 能 |
d0d7 | 数据线(输入/输出) |
wr | 写信号(输入) |
rd | 读信号(输入) |
cs | 片选信号(输入) |
c/d | 命令/数据选择信号(输入) c/d="1"命令 c/d="0"数据 |
fpr | 帧信号(输出)(一个显示帧输出个脉冲) |
bl | 显示空白信号(输入) |
vfd显示模块共有23条指令,通过c/d引脚来区别命令和数据。以下就是一个向显示模块发出命令或写入数据的子函数:当flag=1时,ldata为对显示模块发出的命令;当flag=0时,ldata为对显示模块写入的数据。子函数用汇编语言写成,主要目的是为了节约机器的运行时间。
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 ;准备发命令
jp vfd_c_d1
vfd_c_d0:res v_cd,a ;准备写入数据
vfd_c_d1:res v_cs,a
ioi ld(pedr),a ;c/d信号发出
pop h1 ;弹出ldata
ld,b,1
ld hl,wr_add ;读显示模块的外部地址
ioe ld(h1),b ;将ldata发出
set v_cs,a
set v_cd,a
ioi ld(pedr)a ;一个完整的时序完成
push de
push de
push de ;恢复堆栈现场,准备退出子函数
#endasm
}
3 字库的植入和程序的流程
一个标准的二极汉字字库(16×16点阵)约有256kb,标准的ascii码字符库(16×8点阵)约有4kb,可以与编译好的程序bin文件整合在一起,并用dynamic c提供的rfu下载工具写入目标板。经整合后的内存空间分为以下几个区间:程序区、字库区、断电保存区。当然,字库的格式和vfd显示器所要求的格式有所不同,还要进行格式转换。限于篇幅此处不再描述。
costate指令是dynamic c对标准c的扩展功能。每一个costate实体就是一个任务。每一个costate实体都可以自愿地悬挂起来,等待一段时间后继续运行。本机的主程序就采用了costate结构。图2是主程序的流程图。
结语
综上所述,本机的最大特点就是带有汉字和ascii码字库,配备以太网和串口两种接口,可以通过指令方便地修改和显示中西文信息,真正实现了发布的无纸化。