第三章 数字化医疗仪器人机介面_第1页
第三章 数字化医疗仪器人机介面_第2页
第三章 数字化医疗仪器人机介面_第3页
第三章 数字化医疗仪器人机介面_第4页
第三章 数字化医疗仪器人机介面_第5页
已阅读5页,还剩111页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章数字化医疗仪器人机接口数字化医疗仪器第三章

数字化医疗仪器人机接口学习要点一、能力培养要点1、键盘与微机接口的结构与调试能力。2、LED显示及接口电路的结构与调试能力。3、打印机接口的构成与调试能力。本章主要内容键盘与接口电路应用键盘分析程序CRT显示及接口简介LED显示及接口电路应用LCD数码显示技术简介打印机接口电路应用概述实现人机对话的部件有键盘、显示器和打印机等,这些部件同医疗仪器主体电路的连接是由人机接口电路来完成的。数字化医疗仪器要有人机对话功能,即人与机器交换信息的功能。两方面的含义一是人对数字化医疗仪器进行状态干预和数据输入;二是数字化医疗仪器向人报告运行状态与处理结果。

人机接口技术是数字化医疗仪器设计的关键技术之一。

数字化医疗仪器主要人机接口

键盘接口

LED显示及接口

CRT显示及接口

LCD数码显示技术打印机接口3.1键盘与接口键盘与微机的接口包括硬件和软件二部分。

硬件:是指键盘的组织,即键盘结构及与主机的连接方式。

软件:软件是指对按键操作的识别与分析,称为键盘管理程序。

虽然对不同的键盘组织其键盘管理程序存在很大的差异,但任务大体可分为下列几项:(1)识键:判断是否有键按下。若有,则进行译码;若无,则等待或转做别的工作。(2)译键:识别出哪一个键被按下并求出被按下键的键值。(3)键值分析:根据键值,找出对应处理程序的入口并执行之。3.1.1 键盘输入基础知识

一.键盘的组织1.编码式键盘 键和专用键盘编码器构成.有键按下,自动生成键值。 例如:MM5740AA芯片;INTEL8279等。2.非编码式键盘(本节介绍) 不含编码器,键盘只送出一个简单的闭合信号,对应的键值需有软件来译出。显然,非编码键盘的软件是比较复杂的,并且要占用较多的CPU时间,这是非编码键盘的不足之处。但非编码键盘可以任意组合、成本低、使用灵活,因而数字化医疗仪器大多采用非编码式键盘。

非编码键盘按照与主机连接方式的不同:有独立式键盘和矩阵式键盘之分。

1)独立式键盘

如图3-1(a)特点:

一键一线.优点:

结构简单,键容易识别。缺点:

占用较多检测线,不便组成大型键盘。S0S1S2S3RRRR+5VR=5KD0D1D2D32)矩阵式键盘如图3-1(b)特点:

把检测线分成二组,一组为行线,另一组为列线,按键放在行线和列线的交叉点上。优点:

键盘规模可扩大。缺点:

键盘分析程序较复杂。RRRR+5VX0X1X2X3Y0Y1Y2Y3R=5K二.键盘的工作方式数字化医疗仪器中CPU对键盘进行扫描时,要兼顾两方面的问题:a)编程扫描方式(查询方式);b)中断工作方式;c)定时扫描方式。三.键抖动及消除键盘按键一般都采用触点式按键开关。当按键被按下或释放时,按键触点的弹性会产生一种抖动现象。一是要及时,以保证对用户的每一次按键都能作出响应;二是扫描不能占用过多的时间,CPU还有大量的其他任务要去处理,因此,要根据智能仪器中的CPU忙、闲情况,选择适当的键盘工作方式。三种键盘工作方式

键抖动可能导致计算机将按键操作识别为多次操作.可采取以下措施:(0—10)ms(50—200)ms(0—10)ms键抖动现象(2)软件延时法

当判定按键按下时,用软件延时10ms~20ms,等待键稳定后重新再判一次,以躲过触点抖动期。(1)硬件电路消除法

RRR=5KS输出&&+5V四.键连击的处理图3-4

当我们按下某键时,对应的功能便会通过键盘分析程序得以执行。如果在操作者释放键之前,对应的功能得以多次执行,如同操作者在连续不断操作该键一样,这种现象就称为连击。

读键延时去抖执行等键释放读键延时去抖执行延时(a)(b)键连击现象的克服及合理运用3.1.2独立式键盘接口方法1.查询方式图3-5硬件接口;图3-6软件流程图+5V

8031S0S1S2RRRR=10kP1.0P1.1P1.2独立链接式非编码键盘中断方式

用中断方式处理8只按键电路

ORG0000H AJMPMAIN ;上电后转主程序

ORG0003H ;外部中断0入口

AJMPKEYJMP ;指向中断服务程序

ORG0100HMAIN: SETBIT0 ;选择边沿触发方式

SETBEX0 ;允许外部中断0 SETBEA ;允许CPU中断

MOVDPTR,#0EF00H ;送8155命令口地址

MOVA,#02H ;置A口为输入口

MOVX@DPTR,A

;控制字写入

HERE:

AJMPHERE ;模拟主程序

ORG0120H ;中断服务程序

KEYJMP:

MOVR3,#08H ;设循环次数

MOVDPTR,#0EF01H ;送A口地址

MOVR4,#00H ;计数器清零

MOVXA,@DPTR ;读入按键状态

KEYADl:

RRCA ;状态字右移一位

JNCKEYAD2 ;C=0,转KEYAD2 INCR4 ;计数器加1 DJNZR3,KEYADlKEYRET:

RETIKEYAD2:

MOVDPTR,#JMPTBL MOVA,R4 RL A JMP@A+DPTR ;转相应功能处理JMPTBL:

AJMPSB0 AJMPSBl AJMPSB2 AJMPSB3 AJMPSB4 AJMPSB5 AJMPSB6 AJMPSB7

3.1.3矩阵式键盘接口方法当采用矩阵式键盘时,为了编程方便,应将矩阵键盘中的每一个键按一定的顺序编号,这种按顺序排列的编号叫顺序码,也称键值。本节介绍两种键盘接口电路及控制软件。一种是采用编程扫描工作方式的行扫描法来识别键值,另一种是采用中断工作方式的线路反转法来识别键值。为了求得矩阵式键盘中被按下键的键值,常用的方法有行扫描法和线路反转法。一、行扫描法步骤:1、判是否有键按下(没有键按下,读入值为FFH)。2、若有键按下,消除键抖动(延时10ms),再判是否有键按下。3、若确定有键按下,则求出按下键的键值。

键值=行值+列值4、为保证按键每闭合一次,CPU只作一次处理,程序需等闭合的键释放后再对其处理。RAM/IO扩展器8155结构:1、256BITS的静态RAM;

2、二个可编程的8位并行I/O口PA、PB;3、一个可编程的6位并行I/O口PC;4、一个可编程的14位减法计数器TC。3210765489ABCDEF8031P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7二、线路反转法原理图线路反转法的原理

(1)先从P1的高四位输出“0”电平,从P1的低四位读键盘状态,设图中E键被按下,从P1的低四位输入为1101,“0”对应按键代表的列。(2)线路反转,P1的低四位输出“0”电平,从P1高四位读键盘状态,从P1高四位输入0111,“0”对应按键代表的行位置。(3)数据合成特征码0111、1101,完全确定按键位置。(4)通过查键码转换表找到对应的键值(顺序码)。

3.2键盘分析程序单义键:一键一义多义键:一键多义

键盘分析程序的任务是对键盘的操作做出识别并调用相应的功能模块完成预定的任务。3.2.1直接分析法(单一键构成的键盘)

根据当前按键的键值,把控制直接分支到相应处理程序的入口,而无须知道再此之前的按键情况。图3-103-11优点:

简明直观。缺点:

命令的识别和处理程序的执行交错在一起,层次不清楚。

简单多义键的分析程序仍可用直接分析法来进行设计,不过要用多张转换表。图3-123.2.2状态分析法

将键盘分析程序作为时序系统,当条件改变后,它的状态可以发生变迁。当一个按键按下时,分析程序将根据它的现行状态和输入条件,决定产生何种相应动作以及变迁到哪一个新状态。在不同的状态下,同一按键会具有不同的含义。引入状态概念后,只需在存储器内开辟存储单元“记忆”当前状态,就能对当前按键的含义作出正确的解释,简化程序设计。

注意3.2.3触摸屏一、概述一些医疗场所不便安装键盘、鼠标等输入设备,同时也要让任何人都能操作,触摸屏就是一种理想的输入设备。二、分类及原理

触摸屏需收集以下信息:触摸物进入触摸屏的坐标、触摸物在触摸屏上移动的新坐标、触摸物离开触摸屏的坐标、是否有东西触摸等1.红外线触摸屏(以红外线检测技术为基础)原理:物体进入检测区,遮挡住若干条红外光栅,红外接收管输出的信号就会发生变化,从而检测出触摸点的坐标和触摸屏的状态。优点:对触摸的物体没有太严格的要求;

触摸物只要进入红外检测区域即可;触摸屏不易损坏,寿命较长,成本也较低。缺点:外界光线变化会影响其准确度;不防水,不防污秽,易导致误差。2.电阻式触摸屏(压力感应式)原理:外层OTI作导电体,二层OTI附上电压场,层间以细小的透明隔离点隔开。平时这些隔离点的电阻近似相同,当手指接触屏幕,两层导电层出现一个接触点,该点电阻发生变化,便可以计算出触摸的位置。优点:不受尘埃、水、污秽影响缺点:触摸屏的寿命不长久3.电容式触摸屏4.声表面波式触摸屏3.3LED显示及接口3.3.1LED显示原理

LED----发光二极管. LED的正向压降:

1.2V~2.6V。

工作电流:

5mA~20mA。

适合于脉冲工作状态,电路须串联适当的限流电阻. LED显示器的类型:

单个、七段和点阵式。一.单个LED显示器 常用于仪器的状态显示之用.图3-16CSIOW………D0~774LS374CLKD0D7Q0...Q7+5VLED单个LED显示器的接口电路将数个LED组成一个阵列,并封装于一个标准的外壳中。七段LED显示器有共阳极和共阴极两种结构,如下图。可用于显示0~9数字和多种字母。

二.七段LED显示器109876gfkabedkcdpK+5VabfecgdabcdefgdpKabcdefgdp为了显示某个数或字母,须点亮对应的段,则需要译码。1、硬件译码(由七段译码/驱动器完成)

图3-18计算机时间的开销较小,但硬件开支大.2、软件译码 图3-19、表3-4

省略了硬件,其BCD码转换为对应的段码由软件来完成.BCD---七段显示译码器(74LS48)

因为计算机输出的是BCD码,要想在数码管上显示十进制数,就必须先把BCD码转换成7段字型数码管所要求的代码。我们把能够将计算机输出的BCD码换成7段字型代码,并使数码管显示出十进制数的电路称为“七段字型译码器”。

1)输入:8421BCD码,用A3A2A1A0表示(4位)。2)输出:七段显示,用Ya~Yg表示(7位)3)逻辑符号:

在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,一方面供人们直接读取测量和运算的结果;另一方面用于监视数字系统的工作情况。因此,数字显示电路是许多数字设备不可缺少的部分。数字显示电路通常由译码器、驱动器和显示器等部分组成,如图5.3.5所示。下面对显示器和译码驱动器分别进行介绍。

数码显示器是用来显示数字、文字或符号的器件,现在已有多种不同类型的产品,广泛应用于各种数字设备中,目前数码显示器件正朝着小型、低功耗、平面化方向发展。数码的显示方式一般有三种:第一种是字形重叠式,它是将不同字符的电极重叠起来,要显示某字符,只须使相应的电极发亮即可,如辉光放电管、边光显示管等。第二种是分段式,数码是由分布在同一平面上若干段发光的笔划组成,如荧光数码管等。第三种是点阵式,它由一些按一定规律排列的可发光的点阵所组成,利用光点的不同组合便可显示不同的数码,如场致发光记分牌。数字显示方式目前以分段式应用最普遍,图5.3.6表示七段式数字显示器利用不同发光段组合方式,显示0~15等阿拉伯数字。在实际应用中,10~15并不采用,而是用2位数字显示器进行显示。三.点阵式LED显示器

以点阵格式进行显示,显示的字符较逼真,但接口电路和控制程序较复杂.常用57点阵。图3-20

按显示方式分:静态显示和动态显示之分。一、静态显示及其接口特点:

每位显示器都有自己的锁存器,译码器(若采用软件译码可省略)和驱动器。优点:

在每一位显示输出后能够保持显示不变。缺点:

当显示位数较多时,占用的I/O口较多 图3-21二、动态扫描显示及其接口特点:

微机应定时对各个显示器进行扫描,显示器件分时轮流工作,每次只使一个器件显示。优点:

使用硬件少,占用I/O口少。缺点:

占用机时长,只要不执行显示程序,就立刻停止显示。 图3-233.3.2七段LED显示及接口3.3.3 点阵LED显示器3.4 CRT显示及接口主要用于显示图形和表格3.4.1 光栅扫描CRT字符显示系统

一、光栅扫描CRT字符显示原理1、扫描过程2、系统组成:

显示RAM,字符发生器,并/串移位器,混合电路和逻辑定时电路等组成。 图3-26显示器的扫描方式(a)(b)显示RAM字符发生器串/并移位器混合电路CRT定时控制逻辑光栅扫描CRT字符显示系统框图ASCII码并行点阵码串行码视频字时钟点时钟….23184018411842…….1981191924192019211922…….199819991808182…………78790123………7879行数列数...............二. 双行缓冲器工作方式作用:为了保证系统能连续工作。图3-28行缓冲器(2行)字符计数器字符发生器点行计数器并入串出移位器字行计数器字时钟点时钟点时钟行同步帧同步点行码串行点阵码ASCII码ASCII码888CRT中各个字符显示的位置应与显示RAM中字符ASCII码的地址严格一一对应,这需系统的定时电路给予保证。 图3-29三、系统的定时四. CRT显示电路的组成典型的CRT控制器有Intel8275CRTC,Motorola6845CRTC。

8275组成的光栅扫描字符显示系统DACK显示DMADMA(8257)CRTC(8275)串/并移位与定时逻辑字符发生器系统母线DRQCCLKCC0~6LC0~3视频信号水平同步垂直同步亮度控制视频控制3.4.2 光栅扫描CRT图形显示系统显示RAM中存放的是由软件形成的图形点阵,显示RAM中的每个存储单元中的每个数位都与显示屏上的某一像素点一一对应.图3-30图形光栅显示系统中不再需要字符发生器.光栅扫描CRT图形显示原理框图 图3-31图形显示器CGA逻辑框图 图3-320100000101000010010000110100010011001010………..00110101ABCD显示RAMCRT显示RAMCRT显示RAM的内容与显示器显示内容的关系(a)字符显示系统(b)图形显示系统25*80数据缓冲器OE地址缓冲器OEOE定时与控制D0~D7A0~A13WECER/W显示RAM并入/串出

LDCLK图形点阵数据串行点阵码光栅扫描CRT图形显示系统原理图A0~5(字时钟计数码)A6~13(行计数码)D0~7D0A0A13D0D711181416KB显存彩色编码6845CRTC图形移位字符移位ROM寄存器总线字符发生器水平、垂直同步信号视频CGA的逻辑框图监视器3.4.3随机扫描CRT图形显示系统采用示波器的X-Y显示原理,即分别向CRT水平和垂直输入端加以连续变化的电压信号,通过控制电子束的偏转便可形成连续的各种形状的光迹。如果在栅极上加入适当的消隐脉冲,则可构成不连续线条,形成各种字符和图形。用于显示波形的,智能示波器采用的CRT显示系统。见下页图:8数据缓冲器OE地址缓冲器OEOE定时与控制R/W显示RAMDACA(Y)DACA(X)D0~7A0~9WECEY(t)偏转信号X(t)偏转信号显示时钟记数码1110波形数据D0~9D0~7D0~7A0~9单值函数信号波形的CRT显示系统3.5LCD数码显示技术LCD优点:耗电低,驱动电压低,结构空间小,有效显示面积大、体薄物轻。3.5.1LCD数码显示采用交流驱动,直流分量在100mv以下,频率50~100Hz,取方波效果最好。

图3-34LCD交流驱动LCD硬件译码驱动静态显示电路

为了在4N07显示器上显示48.5数字,执行如下程序:

MOV A,#85HMOV DPTR,#8000HMOVX @DPTR,AMOV A,#0F4HINC DPTRMOVX @DPTR,AMOV A,#20HMOV DPTR,#8007HMOVX @DPTR,A自动消隐0前缀子程序:

OTF:MOV R0,#4DH MOV R1,#02HOTL:MOV A,@R0 ANLA,#0F0H JNZ OT2 MOV A,@R0 ORL A,#0F0H MOV @R0,A ANL A,#0FH JNZ OT2 MOV @R0,#0FFH DEC R0 DJNZ R1,OTLMOV 4CH,#0F0HOT2:RET图3-36:三线LCD显示电路7231COM1~374LS373LE272568031WRP0ALEP2PSENA7~0Au-8D7~0OEXTZ8XTZ1CSAN2BD3~0A2~0AN1……图3-37三线LCD显示电路结构原理abfecgdAN1AN2(a)(b)AN1AN2efabcdgXYZN1COM1COM2COM3LCD与MCS-51接口(补充)

液晶显示器(LCD)是利用液晶经过处理后能改变光线的传输方向的特性实现显示信息。

按功能分为三类:笔段式、字符点阵式和图形点阵式。前两种可显示数字、字符和符号等,图形点阵式LCD还可显示汉字和任意图形。一、字符型点阵式LCD液晶显示器

常用模块有16字1行、16字2行、20字2行和40字2行等的字符LCD显示器,显示字数不同,但有相同的输入输出界面。以下介绍162字符型液晶显示模块RT-1602C应用。(一)字符型液晶显示模块RT-1602C的外观与引脚RT-1602C采用标准的16脚接口,各引脚情况如下:第1脚:VSS,电源地第2脚:VDD,+5V电源第3脚:VL,液晶显示偏压信号第4脚:RS,数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W,读/写选择端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E,端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7,为8位双向数据线。第15脚:BLA,背光源正极第16脚:BLK,背光源负极(二)字符型液晶显示模块RT-1602C的内部结构

液晶显示模块RT-C1602C的内部结构可以分成三部份:一为LCD控制器,二为LCD驱动器,三为LCD显示装置,如图所示:LCD控制器LCD驱动器LCD显示装备VSSVDDVOVSV/WEDB0~DB7

控制器采用HD44780,驱动器采用HD44100。HD44780是集控制器,驱动器于一体,专用于字符显示控制驱动集成电路。HD44100是作扩展显示字符位的。HD44780是字符型液晶显示控制器的代表电路。HD44780集成电路的特点:1、可选择5×7或5×10点字符。2、HD44780不仅作为控制器而且还具有驱动40×16点阵液晶像素的能力,并且HD44780的驱动能力可通过外接驱动器扩展360列驱动。HD44780可控制的字符高达每行80个字,也就是580=400点,HD44780内藏有16路行驱动器和40路列驱动器,所以HD44780本身就具驱动有16×40点阵LCD的能力(即单行16个字符或两行8个字符)。如果在外部加一HD44100外扩展多40路/列驱动,则可驱动16×2LCD。3、HD44780的显示缓冲区DDRAM、字符发生存储器(ROM)及用户自定义的字符发生器CGRAM全部内藏在芯片内。HD44780有80个字节的显示缓冲区,分两行,地址分别为00H~27H,40H~67H,它下实际显示位置的排列顺序跟LCD的型号有关,液晶显示模块RT-1602C的显示地址与实际显示位置的关系如图所示。HD44780内藏的字符发生存储器(ROM)已经存储了160个不同的点阵字符图形,如图所示:

这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。

比如数字“1”的代码是00110001B(31H),又如大写的英文字母“A”的代码是01000001B(41H),可以看出英文字母的代码与ASCII编码相同。

要显示“1”时,我们只需将ASCII码31H存入DDRAM指定位置,显示模块将在相应的位置把数字“1”的点阵字符图形显示出来,我们就能看到数字“1”了。4、HD44780具有8位数据和4位数据传输两种方式,可与4/8位CPU相连。5、HD44780具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。(三)指令格式与指令功能

LCD控制器HD44780内有多个寄存器,通过RS和R/W引脚共同决定选择哪一个寄存器,选择情况如表RSR/W寄存器及操作00指令寄存器写入01忙标志和地址计数器读出10数据寄存器写入11数据寄存器读出总共有11条指令,它们的格式和功能如下:1.清屏命令格式:RSR/WD7D6D5D4D3D2D1D00000000001功能:清除屏幕,将显示缓冲区DDRAM的内容全部写入空格(ASCII20H)。光标复位,回到显示器的左上角。地址计数器AC清零。2.光标复位命令格式:功能:设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。当I/D=1,光标从左向右移动;I/D=0,光标从右向左移动。当S=1时,内容移动,S=0时,内容不移动。RSR/WD7D6D5D4D3D2D1D000000000103.输入方式设置命令格式:RSR/WD7D6D5D4D3D2D1D000000001I/DS功能:设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。当S=1时,内容移动,S=0时,内容不移动。4.显示开关控制命令格式:RSR/WD7D6D5D4D3D2D1D00000001DCB功能:控制显示的开关,当D=1时显示,D=0时不显示。控制光标开关,当C=1时光标显示,C=0时光标不显示。控制字符是否闪烁,当B=1时字符闪烁,B=0时字符不闪烁。5.光标移位置命令格式:RSR/WD7D6D5D4D3D2D1D0000001S/CR/L**功能:移动光标或整个显示字幕移位。当S/C=1时整个显示字幕移位,当S/C=0时只光标移位。当R/L=1时光标右移,R/L=0时光标左移。6.功能设置命令格式:RSR/WD7D6D5D4D3D2D1D000001DLNF**功能:设置数据位数,当DL=1时数据位为8位,DL=0时数据位为4位。设置显示行数,当N=1时双行显示,N=0时单行显示。设置字形大小,当F=1时5×10点阵,F=0时为5×7点阵。7.设置字库CGRAM地址命令格式:RSR/WD7D6D5D4D3D2D1D00001CGRAM的地址功能:设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设定CGRAM的地址,地址范畴0~63。8.显示缓冲区DDRAM地址设置命令格式:RSR/WD7D6D5D4D3D2D1D0001DDRAM的地址功能:设置当前显示缓冲区DDRAM的地址,对DDRAM访问时,要先设定DDRAM的地址,地址范畴0~127。9.读忙标志及地址计数器AC命令格式:RSR/WD7D6D5D4D3D2D1D001BFAC的值功能:读忙标志及地址计数器AC,当BF=1时则表示忙,这时不能接收命令和数据;BF=0时表示不忙。低7位为读出的AC的地址,值为0~127。10.写DDRAM或CGRAM命令格式:RSR/WD7D6D5D4D3D2D1D010写入的数据功能:向DDRAM或CGRAM当前位置中写入数据。对DDRAM或CGRAM写入数据之前须设定DDRAM或CGRAM的地址。11.读DDRAM或CGRAM命令格式:RSR/WD7D6D5D4D3D2D1D011读出的数据功能:从DDRAM或CGRAM当前位置中读出数据。当DDRAM或CGRAM读出数据时,先须设定DDRAM或CGRAM的地址。(四)LCD显示器的初始化LCD使用之前须对它进行初始化,初始化可通过复位完成,也可在复位后完成,初始化过程如下:1.清屏。2.功能设置。3.开/关显示设置。4.输入方式设置。二、LCD显示器与单片机的接口与应用

下图是LCD显示器与8051单片机的接口图,图中RT-1602C的数据线与8051的P1口相连,RS与8051的P2.0相连,R/W与8051的P2.1相连,E端与8051的P2.7相连。编程在LCD显示器的第一行、第1列开始显示“GOOD”,第二行、第6列开始显示“BYE”。P1.7P2.7P2.1P2.0P1.08051…………DB0……DB7ERSR/WRT-1602VLBLKBLAP=10KOVOV+5VR=10欧姆1/2W汇编语言程序:

RSBITP2.0RWBITP2.1EBITP2.7ORG00HAJMPSTARTORG50H;主程序START:MOVSP,#50HACALLINITMOVA,#10000000B;写显示缓冲区始地址为第1行第1列。ACALLWC51RMOVA,“G”;第1行第1列显示字母“G”。ACALLWC51DDRMOVA,“O”;第1行第2列显示字母“O”。ACALLWC51DDRMOVA,“O”;第1行第3列显示字母“O”。ACALLWC51DDRMOVA,“D”;第1行第4列显示字母“D”。ACALLWC51DDR

MOVA,#11000101B;写入显示缓冲区起始地址为第2行第6列。ACALLWC51RMOVA,“B”;第2行第6列显示字母“B”。ACALLWC51DDRMOVA,“Y”;第2行第7列显示字母“Y”。ACALLWC51DDRMOVA,“E”;第2行第8列显示字母“E”。ACALLWC51DDRLOOP:AJMPLOOP;初始化子程序INIT:MOVA,#00000001H;清屏(指令1)ACALLWC51RMOVA,#00111000B;使用8位数据,显示两行,5*7的字型LCALLWC51RMOVA,#00001110B;显示器开,光标开,字符不闪烁(指令4)LCALLWC51RMOVA,#00000110B;字符不动,光标自动右移一格(指令3)LCALLWC51RRET(指令6)(指令8);检查忙子程序F_BUSY:PUSHACC;保护现场PUSHDPHPUSHDPLPUSHPSWWAIT:CLRRSSETBRWCLRESETBEMOVA,P1CLREJBACC.7,WAIT;忙,等待(指令9功能)POPPSW;不忙,恢复现场POPDPLPOPDPHPOPACCACALLDELAYRET;写入命令子程序WC51R:ACALLF_BUSYCLRECLRRSCLRRWSETBEMOVP1,ACCCLREACALLDELAYRET;写入数据子程序WC51DDR:ACALLF_BUSYCLRESETBRSCLRRWSETBEMOVP1,ACCCLREACALLDELAYRET

;延时子程序DELAY:MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETENDC语言编程:#include<reg51.h>#defineucharunsignedcharsbitRS=P2^0;sbitRW=P2^1;sbitE=P2^7;voiddelay(void);voidinit(void);voidwc5r(uchar

i);voidwc51ddr(uchar

i);voidfbusy(void);//主函数voidmain(){SP=0x50;init();wc51r(0x80);//写入显示缓冲区起始地址为第1行第1列wc51ddr(0x47);//第1行第1列显示字母“G”wc51ddr(0x4f);//第1行第2列显示字母“O”wc51ddr(0x4f);//第1行第3列显示字母“O”wc51ddr(0x44);//第1行第4列显示字母“D”wc51r(0xc5);//写入显示缓冲区起始地址为第2行第6列wc51ddr(0x42);//第2行第6列显示字母“B”wc51ddr(0x59);//第2行第7列显示字母“Y”wc51ddr(0x45);//第2行第8列显示字母“E”while(1);}//初始化函数voidinit(){wc51r(0x01);//清屏wc51r(0x38);//使用8位数据,显示两行,使用5*7的字型wc51r(0x0e);//显示器开,光标开,字符不闪烁wc51r(0x06);//字符不动,光标自动右移一格}//检查忙函数voidfbusy(){RS=0;RW=1;E=1;E=0;while(P1&0x80);//忙,等待delay();}//写命令函数voidwc51r(ucharj){fbusy();E=0;RS=0;RW=0;E=1;P1=j;E=0;delay();}//写数据函数voidwc51ddr(ucharj){fbusy();E=0;RS=1;RW=0;E=1;P1=j;E=0;delay();}//延时函数voiddelay(){uchary;for(y=0;y<0xff;y++){;}}数据口显示存储空间I/O接口行计数器LCD接口方式字组显示存贮区寄存组数据I/O缓冲器光标控制器显示方式寄存器组内部字存库控制器指令口标志LCDA0CSRD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论