单片机原b理与接口技术(第13章).pptVIP

  • 5
  • 0
  • 约1.04万字
  • 约 47页
  • 2016-11-29 发布于湖南
  • 举报
单片机原b理与接口技术(第13章)

第13章:字符型液晶显示器 13.2.2 HD61830 指令集 11. 数据读 指令代码为 0DH 。 该指令代码写人后,紧跟着一次“空读”操作后,则可以连续读出当前光标地址指针所指向单元的内容。 12. 位清零 指令代码为 0EH 。 13. 位置 1 指令代码为 0FH 。 以上两条指令的功能是将光标地址指针所指向的显示缓冲区单元中的字节某位清零或置 1 。指令执行一次,光标地址指针自动增 1 。指令参数格式如下: 其中, NB 为清零或置 1 ,取值 1~8 ,对应该字节的 LSB ~ MSB 第13章:字符型液晶显示器 13 .2 .3 与 HD61830 的液晶模块的接口和编程 整个模块有 18 个外引出线可供接口使用。其引脚顺序如下表所示。 其中, GND , V0为地和十 5V 电源.V0 为负向液晶驱动电源,对 MGLS -240128 来说, V0 的取值为一 15V 左右;4 ~10 引脚含义见 HD61830 的引脚说明; LED +和 LED -为接背景光时的电源。 第13章:字符型液晶显示器 13 .2 .3 与 HD61830 的液晶模块的接口和编程 本例子采用间接方式用 8255 控制 MGLS 一 240128 模块的接口电路。 8255 的地址为 8000H 一 8003H 。 第13章:字符型液晶显示器 13 .2 .3 与 HD61830 的液晶模块的接口和编程 下面是显示字符串 WELCOME !的程序 welc .c 。该程序包括显示字符串函数 disstr 、写指令函数 wcode 和写数据函数wdata 。 #includereg51.h #includeabsacc.h #define uchar unsigned char #define uint unsigned int #define PA XBYTE[0x8000] #define PB XBYTE[0x8001] #define PC XBYTE[0x8002] #define COM XBYTE[0x8003] #define DELAY 3 uchar idata welc[11]= {0x20, 0x57, 0x45, 0x4c, 0x43, 0x4f, 0x4d, 0x45, 0x21, 0x20, 0x00}; /*WELCOME1*/ uchar idata sadl, sadh; uchar idata addl, addh; void wcode(uchar c); void wdata(uchar d); void disstr(uchar idata *str) ; 第13章:字符型液晶显示器 13 .2 .3 与 HD61830 的液晶模块的接口和编程 void main(void) {COM=0x81; PB=ox00; PB=0xf0; /* MGLS-24128模块复位*/ disstr(welc); /* 显示字符串*/ while(1); } void wcode(uchar c) /* 写指令代码*/ {uchar i=DELAY; while(i) i - - ; PC=0x9f; PA=c; PC=0xdf; PC=0x5f; PC=0x1f; PC=0x9f; } void comd(x,y) /*写指令参数*/ uchar x,y; { wcode(x); wdata(y); } 第13章:字符型液晶显示器 13 .2 .3 与 HD61830 的液晶模块的接口和编程 void disstr (uchar idata *str) { uchar i,j; comd(0x00,0x3c); /*方式设置,主方式显示,光标闪烁,文本方式,选用CGROM*/ comd(0x01,0x77); /*字体设置,VP=8,HP=8,8×8字体*/ comd(0x02,0x1d); /*显示域设置,HN=30,一行显示30个字符*/ comd(0x03,0x7f); /*帧设置,NX=128,占空比为1:128*/ comd(0x04,0x07); /*光标设置,CP=8,光标位于字符的最下端*/ sadl=0x00; sadh=0x00; comd(0x08,sadl); comd(0x09,sadh); /*设置缓冲区起始地址*/ comd(0x08,0x00); comd(0x0b,0x00); wc

文档评论(0)

1亿VIP精品文档

相关文档