第9章mcs-51单片机的其他接口概要

上传人:今*** 文档编号:110043756 上传时间:2019-10-28 格式:PPT 页数:86 大小:942.50KB
返回 下载 相关 举报
第9章mcs-51单片机的其他接口概要_第1页
第1页 / 共86页
第9章mcs-51单片机的其他接口概要_第2页
第2页 / 共86页
第9章mcs-51单片机的其他接口概要_第3页
第3页 / 共86页
第9章mcs-51单片机的其他接口概要_第4页
第4页 / 共86页
第9章mcs-51单片机的其他接口概要_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《第9章mcs-51单片机的其他接口概要》由会员分享,可在线阅读,更多相关《第9章mcs-51单片机的其他接口概要(86页珍藏版)》请在金锄头文库上搜索。

1、第9章 MCS-51单片机的其他接口,9.1 LCD与MCS-51接口,液晶显示器按其功能可分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。,9.1.1 字符型点阵式LCD液晶显示器,有16字1行、16字2行、20字2行和40字2行等的字符液晶显示模块。这些LCM虽然显示字数各不相同,但是都具有相同的输入输出界面。本节将以162字符型液晶显示模块RT-1602C为例,详细介绍字符型液晶显示模块的应用。,一字符型液晶显示模块RT-1602C的外观与引脚,RT-1602C采用标准的16脚接口,各引脚情况如下:,第1脚:VSS,电源地 第2脚:VDD,+5V电源 第3脚:VL

2、,液晶显示偏压信号 第4脚:RS,数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。,第5脚:R/W,读/写选择端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。,第6脚:E,端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7,为8位双向数据线。 第15脚:BLA,背光源正极 第16脚:BLK,背光源负极,二字符型液晶显示模块RT-1602C的内部结构,液晶显示模块RT-C1602C的内部结构可以分成三部份:一为

3、LCD控制器,二为LCD驱动器,三为LCD显示装置,如图所示:,控制器采用HD44780,驱动器采用HD44100。 HD44780集成电路的特点: 1、可选择57或510点字符。 2、HD44780不仅作为控制器而且还具有驱动4016点阵液晶像素的能力,在外部加一HD44100外扩展多40路/列驱动,则可驱动162LCD。 3、HD44780内藏显示缓冲区DDRAM、字符发生存储器(ROM)及用户自定义的字符发生器CGRAM。 HD44780有80个字节的显示缓冲区,分两行,地址分别为00H27H,40H67H,它下实际显示位置的排列顺序跟LCD的型号有关,液晶显示模块RT-1602C的显示

4、地址与实际显示位置的关系如图所示。,HD44780内藏的字符发生存储器(ROM)已经存储了160个不同的点阵字符图形,如图所示:,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。比如数字“1”的代码是00110001B(31H),又如大写的英文字母“A”的代码是01000001B(41H),可以看出英文字母的代码与ASCII编码相同。要显示“1”时,我们只需将ASCII码31H存入DDRAM指定位置,显示模块将在相应的位置把数字“1”的点阵字符图形显示出来,我们就能看到数字“1”了。,4、HD44780具有8位数据和4位数据传输两种方式,可与4

5、/8位CPU相连。 5、HD44780具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。,三指令格式与指令功能,LCD控制器HD44780内有多个寄存器,通过RS和R/W引脚共同决定选择哪一个寄存器,选择情况如表,总共有11条指令,它们的格式和功能如下:,1清屏命令 格式:,功能:清除屏幕,将显示缓冲区DDRAM的内容全部写入空格(ASCII20H)。 光标复位,回到显示器的左上角。 地址计数器AC清零。,2光标复位命令 格式:,功能:光标复位,回到显示器的左上角。 地址计数器AC清零。 显示缓冲区DDRAM的内容不变。,3输入方式设置命令 格式:,功能:设定当写入一个字节后,光标的

6、移动方向以及后面的内容是否移动。 当I/D=1时,光标从左向右移动;I/D=0时,光标从右向左移动。 当S=1时,内容移动,S=0时,内容不移动。,4显示开关控制命令 格式:,功能:控制显示的开关,当D=1时显示,D=0时不显示。 控制光标开关,当C=1时光标显示,C=0时光标不显示。 控制字符是否闪烁,当B=1时字符闪烁,B=0时字符不闪烁。,5光标移位置命令 格式:,功能:移动光标或整个显示字幕移位。 当S/C=1时整个显示字幕移位,当S/C=0时只光标移位。 当R/L=1时光标右移,R/L=0时光标左移。,6功能设置命令 格式:,功能:设置数据位数,当DL=1时数据位为8位,DL=0时数

7、据位为4位。 设置显示行数,当N=1时双行显示,N=0时单行显示。 设置字形大小,当F=1时510点阵,F=0时为57点阵。,7设置字库CGRAM地址命令,格式:,功能:设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设定CGRAM的地址,地址范畴063。,8显示缓冲区DDRAM地址设置命令,格式:,功能:设置当前显示缓冲区DDRAM的地址,对DDRAM访问时,要先设定DDRAM的地址,地址范畴0127。,9读忙标志及地址计数器AC命令,格式:,功能:读忙标志及地址计数器AC, 当BF=1时则表示忙,这时不能接收命令和数据;BF=0时表示不忙。 低7位为读出的AC的地址,值为

8、0127。,10写DDRAM或CGRAM命令 格式:,功能:向DDRAM或CGRAM当前位置中写入数据。对DDRAM或CGRAM写入数据之前须设定DDRAM或CGRAM的地址。,11读DDRAM或CGRAM命令 格式:,功能:从DDRAM或CGRAM当前位置中读邮数据。当DDRAM或CGRAM读出数据时,先须设定DDRAM或CGRAM的地址。,四LCD显示器的初始化 LCD使用之前须对它进行初始化,初始化可通过复位完成,也可在复位后完成,初始化过程如下: 1清屏。 2功能设置。 3开/关显示设置。 4输入方式设置。,9、12 LCD显示器与单片机的接口与应用,下图是LCD显示器与8051单片机

9、的接口图,图中RT-1602C的数据线与8051的P1口相连,RS与8051的P2.0相连,R/ W与8051的P2.1相连,E端与8051的P2.7相连。编程在LCD显示器的第一行、第一列开始显示“GOOD”,第二行、第6列开始显示“BYE”。,汇编语言程序: RS BIT P2.0 RW BIT P2.1 E BIT P2.7 ORG 00H AJMP START ORG 50H ;主程序 START:MOV SP,#50H ACALL INIT MOV A,#10000000B ;写入显示缓冲区起始地址为第1行第1列。 ACALL WC51R MOV A,“G” ;第1行第1列显示字母“

10、G”。 ACALL WC51DDR MOV A,“O” ;第1行第2列显示字母“O”。 ACALL WC51DDR MOV A,“O” ;第1行第3列显示字母“O”。 ACALL WC51DDR MOV A,“D” ;第1行第4列显示字母“D”。 ACALL WC51DDR,MOV A,#11000101B ;写入显示缓冲区起始地址为第2行第6列。 ACALL WC51R MOV A,“B” ;第2行第6列显示字母“B”。 ACALL WC51DDR MOV A,“Y” ;第2行第7列显示字母“Y”。 ACALL WC51DDR MOV A,“E” ;第2行第8列显示字母“E”。 ACALL

11、WC51DDR LOOP:AJMP LOOP ;初始化子程序 INIT:MOV A,#00000001H ;清屏 ACALL WC51R MOV A,#00111000B ;使用8位数据,显示两行,使用5*7的字型。 LCALL WC51R MOV A,#00001110B ;显示器开,光标开,字符不闪烁。 LCALL WC51R MOV A,#00000110B ;字符不动,光标自动右移一格。 LCALL WC51R RET,;检查忙子程序 F_BUSY:PUSH ACC ;保护现场 PUSH DPH PUSH DPL PUSH PSW WAIT:CLR RS SETB RW CLR E S

12、ETB E MOV A,P1 CLR E JB ACC.7,WAIT ;忙,等待 POP PSW ;不忙,恢复现场 POP DPL POP DPH POP ACC ACALL DELAY RET,;写入命令子程序。 WC51R:ACALL F_BUSY CLR E CLR RS CLR RW SETB E MOV P1,ACC CLR E ACALL DELAY RET ;写入数据子程序。 WC51DDR:ACALL F_BUSY CLR E SETB RS CLR RW SETB E MOV P1,ACC CLR E ACALL DELAY RET,;延时子程序。 DELAY:MOV R6,

13、#5 D1:MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END,C语言编程: #include #define uchar unsigned char sbit RS=P20; sbit RW=P21; sbit E=P27; void delay(void); void init(void); void wc5r(uchar i); void wc51ddr(uchar i); void fbusy(void); /主函数 void main() SP=0x50; init(); wc51r(0x80); /写入显示缓冲区起始地址为第1行第1列 wc51ddr(

14、0x44); /第1行第1列显示字母“G” wc51ddr(0x4f); /第1行第2列显示字母“O” wc51ddr(0x4f); /第1行第3列显示字母“O” wc51ddr(0x47); /第1行第4列显示字母“D”,wc51r(0xc5); /写入显示缓冲区起始地址为第2行第6列 wc51ddr(0x42); /第2行第6列显示字母“B” wc51ddr(0x59); /第2行第7列显示字母“Y” wc51ddr(0x45); /第2行第8列显示字母“E” while(1); /初始化函数 void init() wc51r(0x01); /清屏 wc51r(0x38); /使用8位数

15、据,显示两行,使用5*7的字型 wc51r(0x0e); /显示器开,光标开,字符不闪烁 wc51r(0x06); /字符不动,光标自动右移一格 ,/检查忙函数 void fbusy() RS=0;RW=1; E=1;E=0; while (P1&0x80) E=0; E=1; /忙,等待 delay(); /写命令函数 void wc51r(uchar j) fbusy(); E=0;RS=0;RW=0; E=1; P1=j; E=0; delay(); ,/写数据函数 void wc51ddr(uchar j) fbusy(); E=0;RS=1;RW=0; E=1; P1=j; E=0; delay(); /延时函数 void delay() uchar y; for (y=0;y0xff;y+); ,9.2 MCS-51单片机与I2C总线芯片接口,9.2.1 I2C总线简介,一I2C总线的主要特点,I2C总线是由PHILIPS公司开发一种简单、双向二线制同步串行总线。它只需要两根线即在连接于总线上的器件之间传送信息。这种总线的主要特点有: 1总线只有两根线,即串行时钟线(SCL)和串行数据线(SDA),这在设计中大大减少了硬件接口。 2每个连接到总线上的都有一个用于识别的器件地址,器件地址由芯片内部硬件电路和外部地址引脚同时决定,避免了片

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号