武汉理工大学《通信工程应用技术课程设计》报告
DDRAM) 从CGRAM11 或DDRAM读数据 I/D =1 递增,I/D=0 递减。 1 1 读取入一字节数据,需要先设置RAM地址 写入一字节的数据 从CGRAM/DDRAM读取一字节的数据 S=0 时显示屏不移动,S=1时,如果I/D =1且有字符写入时显示屏左移,否则右移。 D=1 显示屏开,D=0 显示屏关。 C=1 时光标出现在地址计数器所指的位置,C=0时光标不出现。 B=1 时光标出现闪烁,B=0时光标不闪烁。 S/C=0 时,RL=0则光标左移,否则右移。 S/C=1 时,RL=0则字符和光标左移,否则右移。 DL=1 时数据长度为8位,DL=0 时为使用D7-D4共4位,分两次送一字节。 N=0为单行显示,N=1时为双行显示。 F=1 时为510点阵字体,F=0 时为57点阵字体。 BF=1 时LCD忙,BF=0 时LCD就绪。 LM016L液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。 指令11:读数据。
10
武汉理工大学《通信工程应用技术课程设计》报告
与HD44780相兼容的芯片时序表如表3.3.2-2: 表3.3.2-2 基本操作时序表 读状态 输入 RS=L,R/W=H,E=H 读数据 输入 RS=H,R/W=H,E=H 写数据 输入 RS=H,R/W=L,D0—D7=数据,E=高脉冲 输出 D0—D7=状态字 输出 D0—D7=数据 输出 无 写指令 输入 RS=L,R/W=L,D0—D7=指令码,E=高脉冲 输出 无 4 系统设计
4.1业务调度控制规则设计
由于本次课设要求是叫号机支持两类业务:现金业务和非现金业务。办理现金业务的窗口有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理现金业务,而综合业务窗口可以办理现金业务和非现金业务;非现金业务优先级高,综合业务窗口只有在没有非现金业务情况下,才能办理现金业务;银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统安排其下一个办理业务的顺序号;顺序号在窗口前的LED屏上显示的同时进行语音播音,提示客户前来办理业务。
因此,本次我设计的银行叫号系统其业务调度规则如下:银行设置两个取号机,分别是现金业务取号机和非现金业务取号机,顾客根据自身办理业务来选择对应叫取号机打印自己的号码;银行共设置五个叫号机,其中2个非现金业务叫号机和3个现金业务叫号机来分别对应5个服务窗口;现金业务窗口只能处理现金业务;非现金业务窗口能处理两种业务,但若有非现金业务,非现金业务窗口优先处理非现金业务,完成后才处理现金业务。非现金业务和现金业务待处理的堆积量分别均为20人,以免引起取号过多等待服务的人数过多导致超负荷服务。
4.2 前端排队子系统设计
前端排队子系统我主要是靠2个按键来模拟两个取号机,以LM016L液晶显示来模拟打印机显示客户的号码,然后通过程序来控制顾客取号排队的过程。其电路图如图4.2-1所示,取号排队流程图如图4.2-2所示。
11
武汉理工大学《通信工程应用技术课程设计》报告
图4.2-1 取号排队电路图
开始
非现金业务取号键按下? 是 延时去抖 现金业务取号键按下? 是 延时去抖 非现金业务取号键按下? 是 非现金业务排队人数超20? 否 1.排队总人数(排队号码)加1 2.非现金业务排队人数加1 3.排队号码赋给非现金业务队 是 显示队列已满 是 现金业务取号键按下? 是 非现金业务排队人数超20? 否 1.排队总人数(排队号码)加1 2.现金业务排队人数加1 3.排队号码赋给现金业务队 排队号码送显示 结束
图4.2-2 排队取号流程图
12
武汉理工大学《通信工程应用技术课程设计》报告
4.3 银行业务调度系统设计
银行业务调度系统主要实现的就是对顾客业务的处理,5个处理窗口共分为2个非现金业务和3个现金业务的处理窗口,在仿真中我采用了5个按键来模拟着5个处理窗口,然后通过程序来控制单片机实现整个业务的分类处理和优先级处理的问题。其流程图如下图所示,电路图如图4.3-1所示
开 始 非现金业务现金业务窗 窗口按下? 口按下? 是 是 延时去抖 延时去抖
非现金业务处 现金业务处理
理窗口按下? 窗口按下?
是 是
显示队列已空
金 非 现 业 务 是 是 现 金 业 务 排
人人 排 队 数 为 队 数 为 0 ? 0 ? 否 否 蜂鸣器语音 蜂鸣器语音 提示 提示 被排队号码送及对应处理窗口显示
结束 13 武汉理工大学《通信工程应用技术课程设计》报告
图4.3-1 业务调度电路图
4.4 业务提示子系统设计
4.4.1 液晶显示电路
本次课设我采用了LM016L液晶来模拟显示,主要对排队取号的号码进行显示(模拟实际系统中的打印机)以及对服务窗口叫号的显示,其电路如图4.4.1-1所示,单片机P1口接LM016L的8个双向数据线接口,P3.4接LM016L的数据/命令选择端,P3.5接LM016L的使能信号。通过对RS以及E的高低电平进行写指令和写数据操作来控制LM016L的显示。
图4.4.1-1 显示系统
14