我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1356|回复: 2

带以太网口的中西文VFD字符显示器 - 工业/测控 - 电子工程

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

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

<strong>1 10M以太网口的实现</strong>

图1所示为字符显示器模块组成框图。


<ignore_js_op>





2010-3-10 23:11:33 上传
<strong>下载附件</strong> (17.3 KB)




</ignore_js_op>


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包的发送。

<strong>2 VFD模块的控制</strong>

VFD模块包括显示器、显示驱动、存储显示内容的RAM、微处理器以及控制接口。模块控制接口的引脚和功能如表1所列。

<strong>表1 VFD显示模块引脚功能</strong>
引  脚功  能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
}

<strong>3 字库的植入和程序的流程</strong>

一个标准的二极汉字字库(16×16点阵)约有256KB,标准的ASCII码字符库(16×8点阵)约有4KB,可以与编译好的程序bin文件整合在一起,并用Dynamic C提供的RFU下载工具写入目标板。经整合后的内存空间分为以下几个区间:程序区、字库区、信息断电保存区。当然,字库的格式和VFD显示器所要求的格式有所不同,还要进行格式转换。限于篇幅此处不再描述。

costate指令是Dynamic C对标准C的扩展功能。每一个costate实体就是一个任务。每一个costate实体都可以自愿地悬挂起来,等待一段时间后继续运行。本机的主程序就采用了costate结构。图2是主程序的流程图。


<ignore_js_op>





2010-3-10 23:11:32 上传
<strong>下载附件</strong> (23.92 KB)




</ignore_js_op>


<strong>结语</strong>

综上所述,本机的最大特点就是带有汉字和ASCII码字库,配备以太网和串口两种物理接口,可以通过指令方便地修改和显示中西文信息,真正实现了信息发布的无纸化。

<strong>参考文献</strong>

1. Dinamic C User' s Manual 1999
2. Dinamic C TCP/IP User' s Manual 2001
3. Rabbit Semiconductor 2001
4. Rabbit Semiconductor 1999
5. ISE Electronics Corp 2000

作 者:上海市广播科学研究所 沈红星
来 源:单片机与嵌入式系统应用 2003(8)
回复

使用道具 举报

该用户从未签到

7

主题

689

回帖

703

积分

二级逆天

像美国牛人造火箭

积分
703

终身成就奖社区居民社区明星宣传大使奖

QQ
发表于 2015-4-7 16:00:48 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

7

主题

689

回帖

703

积分

二级逆天

像美国牛人造火箭

积分
703

终身成就奖社区居民社区明星宣传大使奖

QQ
发表于 2015-4-7 16:01:24 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表