网站首页  |   业界社区  |  电信社区  |  技术社区   |  极客社区  |  游戏社区  |  生活社区   |   科技博客  |   同事录
TechWeb-技术社区


标题: [转贴] 带以太网口的中西文VFD字符显示器
bika
TW金牌会员
Rank: 6Rank: 6



UID 138192
精华 27
积分 1720
帖子 941
阅读权限 70
注册 2008-7-23
状态 离线
发表于 2008-8-25 16:41 资料 短消息 加为好友 添加 bika 为MSN好友 通过MSN和 bika 交谈
带以太网口的中西文VFD字符显示器

带以太网口的中西文VFD字符显示器/Q#m#F3K2p6b$C

摘要:介绍一种带以太网口的中西文VFD字符显示器,根据以太网口的实现方法、VFD的控制要点以及中西文字库的植入和程序的流程。该字符显示器为单位内部、公共场所的监控系统发布信息提供了完整的方案。

关键词:字库 Rabbit2000微处理器 以太网 VFD显示器tech.techweb.com.cn1V+s&s7G5o:s8X
RTL8019AS+YL18-1001D

3\-e;m%L*S0_:A6g程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛

在一些单位内部、医院和公共场所的监控系统中,常要发布流动的信息。现采用Rabbit半导体公司Rabbit2000微处理器为主控制器,植入二级汉字字库和ASCII码字符字库,驱动Noritake公司(伊势电子工业株式会社)生产的真空荧光显示器(VFD)模块,只要通过10M以及网口或串行口输入要显示的信息内容,要发布的信息就可以显示在VFD上。

1 10M以太网口的实现

图1所示为字符显示器模块组成框图。程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 G$p,O/E&Q;~,[;t8r

5x3G+H3X-c nTechWeb-技术社区

5d.t8T%M9h+E(z)_%M,xRabbit2000微处理器是Rabbit半导体公司生产的8位微处理器。它和Z80系列微处理器有相似的结构和高度的兼容性,但性能有很大的提高。要使以太网控制器RTL8019AS(+YL18-1001D)正常工作,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所列。
4|%V-C5V,Q8`0X2h/d4sTechWeb-技术社区表1 VFD显示模块引脚功能


$e-J5F7f7z5j"`;W.K

tech.techweb.com.cn6U+g'K-L4W*d#J

D0D7

数据线(输入/输出)

WR

写信号(输入)

RD

读信号(输入)

CS

片选信号(输入)

C/D

命令/数据选择信号(输入)1~6d$Z7l-m7\8p2u6K
C/D="1"命令TechWeb-技术社区0z(e9L6H.A-O;H
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

}


引用 回复 顶部
查看积分策略说明快速回复主题
选项 标题 Smilies
禁用 URL 识别
禁用 Smilies
禁用 Discuz!代码
使用匿名发帖
使用个人签名
接收新回复邮件通知
内容





当前时区 GMT+8, 现在时间是 2008-11-23 08:08
京ICP证060517号

本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.5.0 © 2001-2008 Comsenz Inc.
Processed in 0.038536 second(s), 7 queries

清除 Cookies - 联系我们 - TechWeb.com.cn - Archiver - WAP