单片机的其他接口.ppt
《单片机的其他接口.ppt》由会员分享,可在线阅读,更多相关《单片机的其他接口.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口第第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的外观与
2、引脚的外观与引脚第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口RT-1602C采用标准的16脚接口,各引脚情况如下:第1脚:VSS,电源地第2脚:VDD,+5V电源第3脚:VL,液晶显示偏压信号第4脚:RS,数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W,读/写选择端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口第6脚:E,
3、端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7,为8位双向数据线。第15脚:BLA,背光源正极第16脚:BLK,背光源负极二字符型液晶显示模块二字符型液晶显示模块RT-1602C的内部结构的内部结构液晶显示模块RT-C1602C的内部结构可以分成三部份:一为LCD控制器,二为LCD驱动器,三为LCD显示装置,如图所示:LCD控制器LCD驱动器LCD显示装备VSSVDDVOVSV/WEDB0DB7第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口控制器采用HD44780,驱动器采用HD44100。HD44780集成电路的特点:1、可选择5
4、7或510点字符。2、HD44780不仅作为控制器而且还具有驱动4016点阵液晶像素的能力,在外部加一HD44100外扩展多40路/列驱动,则可驱动162LCD。3、HD44780内藏显示缓冲区DDRAM、字符发生存储器(ROM)及用户自定义的字符发生器CGRAM。HD44780有80个字节的显示缓冲区,分两行,地址分别为00H27H,40H67H,它下实际显示位置的排列顺序跟LCD的型号有关,液晶显示模块RT-1602C的显示地址与实际显示位置的关系如图所示。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口HD44780内藏的字符发生存储器(ROM)已经存储了160
5、个不同的点阵字符图形,如图所示:这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。比如数字“1”的代码是00110001B(31H),又如大写的英文字母“A”的代码是01000001B(41H),可以看出英文字母的代码与ASCII编码相同。要显示“1”时,我们只需将ASCII码31H存入DDRAM指定位置,显示模块将在相应的位置把数字“1”的点阵字符图形显示出来,我们就能看到数字“1”了。00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 27 40 41 42 43 44 45 46 47 48
6、 49 4A 4B 4C 4D 4E 4F 50 67 LCD 16 字 2 行 第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口4、HD44780具有8位数据和4位数据传输两种方式,可与4/8位CPU相连。5、HD44780具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。三指令格式与指令功能三指令格式与指令功能 LCD控制器HD44780内有多个寄存器,通过RS和R/W引脚共同决定选择哪一个寄存器,选择情况如表 RSR/W寄存器及操作00指令寄存器写入01忙标志和地址计数器读出10
7、数据寄存器写入11数据寄存器读出总共有11条指令,它们的格式和功能如下:第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口1清屏命令清屏命令格式:RSR/WD7D6D5D4D3D2D1D00000000001功能:清除屏幕,将显示缓冲区DDRAM的内容全部写入空格(ASCII20H)。光标复位,回到显示器的左上角。地址计数器AC清零。2光标复位命令光标复位命令格式:RSR/WD7D6D5D4D3D2D1D00000000010功能:光标复位,回到显示器的左上角。地址计数器AC清零。显示缓冲区DDRAM的内容不变。第第9 9章章 MCS-51 MCS-51单片机的其他接口
8、单片机的其他接口3输入方式设置命令输入方式设置命令格式: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时字符不闪烁。第第9 9章章 MCS-51 MC
9、S-51单片机的其他接口单片机的其他接口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时510点阵,F=0时为57点阵。第第9 9章章 MCS-51 MCS-51单片
10、机的其他接口单片机的其他接口7设置字库设置字库CGRAM地址命令地址命令格式:RSR/WD7D6D5D4D3D2D1D00001CGRAM的地址功能:设置用户自定义CGRAM的地址,对用户自定义CGRAM访问时,要先设定CGRAM的地址,地址范畴063。8显示缓冲区显示缓冲区DDRAM地址设置命令地址设置命令格式:RSR/WD7D6D5D4D3D2D1D0001DDRAM的地址功能:设置当前显示缓冲区DDRAM的地址,对DDRAM访问时,要先设定DDRAM的地址,地址范畴0127。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9读忙标志及地址计数器读忙标志及地址计数
11、器AC命令命令格式:RSR/WD7D6D5D4D3D2D1D001BFAC的值功能:读忙标志及地址计数器AC,当BF=1时则表示忙,这时不能接收命令和数据;BF=0时表示不忙。低7位为读出的AC的地址,值为0127。10写写DDRAM或或CGRAM命令命令格式:RSR/WD7D6D5D4D3D2D1D010写入的数据功能:向DDRAM或CGRAM当前位置中写入数据。对DDRAM或CGRAM写入数据之前须设定DDRAM或CGRAM的地址。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口11读读DDRAM或或CGRAM命令命令格式:RSR/WD7D6D5D4D3D2D1D
12、011读出的数据功能:从DDRAM或CGRAM当前位置中读邮数据。当DDRAM或CGRAM读出数据时,先须设定DDRAM或CGRAM的地址。四四LCD显示器的初始化显示器的初始化LCD使用之前须对它进行初始化,初始化可通过复位完成,也可在复位后完成,初始化过程如下:1清屏。2功能设置。3开/关显示设置。4输入方式设置。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9、12 LCD显示器与单片机的接口与应用显示器与单片机的接口与应用 下图是LCD显示器与8051单片机的接口图,图中RT-1602C的数据线与8051的P1口相连,RS与8051的P2.0相连,R/W与8
13、051的P2.1相连,E端与8051的P2.7相连。编程在LCD显示器的第一行、第一列开始显示“GOOD”,第二行、第6列开始显示“BYE”。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口汇编语言程序:RS BIT P2.0RW BIT P2.1E BIT P2.7ORG 00HAJMP STARTORG 50H;主程序START:MOV SP,#50HACALL INITMOV A,#10000000B ;写入显示缓冲区起始地址为第1行第1列。ACALL WC51RMOV A,“G”;第1行第1列显示字母“G”。ACALL WC51DDRMOV A,“O”;第1行
14、第2列显示字母“O”。ACALL WC51DDRMOV A,“O”;第1行第3列显示字母“O”。ACALL WC51DDRMOV A,“D”;第1行第4列显示字母“D”。ACALL WC51DDR第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口MOV A,#11000101B ;写入显示缓冲区起始地址为第2行第6列。ACALL WC51RMOV A,“B”;第2行第6列显示字母“B”。ACALL WC51DDRMOV A,“Y”;第2行第7列显示字母“Y”。ACALL WC51DDRMOV A,“E”;第2行第8列显示字母“E”。ACALL WC51DDRLOOP:A
15、JMP LOOP;初始化子程序INIT:MOV A,#00000001H ;清屏ACALL WC51RMOV A,#00111000B ;使用8位数据,显示两行,使用5*7的字型。LCALL WC51RMOV A,#00001110B ;显示器开,光标开,字符不闪烁。LCALL WC51RMOV A,#00000110B ;字符不动,光标自动右移一格。LCALL WC51RRET第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口;检查忙子程序F_BUSY:PUSH ACC ;保护现场PUSH DPHPUSH DPLPUSH PSWWAIT:CLR RSSETB RWCL
16、R ESETB EMOV A,P1CLR EJB ACC.7,WAIT ;忙,等待POP PSW ;不忙,恢复现场POP DPLPOP DPHPOP ACCACALL DELAYRET第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口;写入命令子程序。WC51R:ACALL F_BUSYCLR ECLR RSCLR RWSETB EMOV P1,ACCCLR EACALL DELAYRET;写入数据子程序。WC51DDR:ACALL F_BUSYCLR ESETB RSCLR RWSETB EMOV P1,ACCCLR EACALL DELAYRET第第9 9章章 MC
17、S-51 MCS-51单片机的其他接口单片机的其他接口;延时子程序。DELAY:MOV R6,#5D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RETEND第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口C语言编程:#include#define uchar unsigned charsbit 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
18、 main()SP=0 x50;init();wc51r(0 x80);/写入显示缓冲区起始地址为第1行第1列wc51ddr(0 x44);/第1行第1列显示字母“G”wc51ddr(0 x4f);/第1行第2列显示字母“O”wc51ddr(0 x4f);/第1行第3列显示字母“O”wc51ddr(0 x47);/第1行第4列显示字母“D”第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口wc51r(0 xc5);/写入显示缓冲区起始地址为第2行第6列wc51ddr(0 x42);/第2行第6列显示字母“B”wc51ddr(0 x59);/第2行第7列显示字母“Y”wc
19、51ddr(0 x45);/第2行第8列显示字母“E”while(1);/初始化函数void init()wc51r(0 x01);/清屏wc51r(0 x38);/使用8位数据,显示两行,使用5*7的字型wc51r(0 x0e);/显示器开,光标开,字符不闪烁wc51r(0 x06);/字符不动,光标自动右移一格第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口/检查忙函数void fbusy()RS=0;RW=1;E=1;E=0;while(P1&0 x80)E=0;E=1;/忙,等待delay();/写命令函数void wc51r(uchar j)fbusy();
20、E=0;RS=0;RW=0;E=1;P1=j;E=0;delay();第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口/写数据函数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;y0 xff;y+);第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.2 MCS-51单片机与单片机与I2C总线芯片接口总线芯片接口9.2.1 I2C总线简介总线简介一一I2C总线的主要特点总线的主要特点I2C总线是由P
21、HILIPS公司开发一种简单、双向二线制同步串行总线。它只需要两根线即在连接于总线上的器件之间传送信息。这种总线的主要特点有:1总线只有两根线,即串行时钟线(SCL)和串行数据线(SDA),这在设计中大大减少了硬件接口。2每个连接到总线上的都有一个用于识别的器件地址,器件地址由芯片内部硬件电路和外部地址引脚同时决定,避免了片选线的连接方法,并建立简单的主从关系,每个器件既可以作为发送器,又可以作为接收器。3同步时钟允许器件以不同的波特率进行通信。4同步时钟可以作为停止或重新启动串行口发送的握手信号。5串行的数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速
22、模式下可达3.4Mbit/s。6连接到同一总线的集成电路数只受400pF的最大总线电容的限制。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口二二I2C总线的基本结构总线的基本结构第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口三三I2C总线信息传送总线信息传送当I2C总线没有进行信息传送时,数据线(SDA)和时钟线(SCL)都为高电平时。当主控制器向某个器件传送信息时,首先应向总线送开始信号,然后才能传送信息,当信息传送结束时应送结束信号,开始信号和结束信号规定如下:开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束
23、信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。开始信号和结束信号之间传送的是信息,信息的字节数没有限制,但每个字节必须为8位,高位在前,低位在后。数据线SDA上每一位信息状态的改变只能发生在时钟线SCL为低电平的期间,因为SCL高电平的期间SDA状态的改变已经被用来表示开始信号和结束信号。每个字节后面必须接收一个应答信号(ACK),ACK是从控制器在接收到8位数据后向主控制器发出的特定的低电平脉冲,用以表示已收到数据。主控制器接收到应答信号(ACK)后,可根据实际情况作出是否继续传递信号的判断。若未收到ACK,则判断为从控制器出现故障。具体情况如图所示:第第9 9章章 MC
24、S-51 MCS-51单片机的其他接口单片机的其他接口SDASCL开始信号12789应答位12891应答位结束信号主控制器每次传送的信息的第一个字节必须是器件地址码,第二个字节为器件单元地址,用于实现选择所操作的器件的内部单元,从第三个字节开始为传送的数据。其中器件地址码格式如下:D7D6D5D4D3D2D1D0器件类型码片选R/W第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口四四I2C总线读、写操作总线读、写操作1当前地址读当前地址读该操作将从所选器件当前地址读,读的字节数不指定,格式如下:S控制码(R/W=1)A数据1A数据2AP2指定单元读指定单元读该操作将从
25、所选器件指定地址读,读的字节数不指定,格式如下:S控制码(R/W=0)A器件单元地址AS控制码(R/W=1)A数据1A数据2AP3指定单元写指定单元写该操作将从所选器件指定地址写,写的字节数不指定,格式如下:S控制码(R/W=0)A器件单元地址A数据1A数据2AP其中:S表示开始信号,A表示应答信号,P表示结束信号。第第9 9章章 MCS-51 MCS-51单片机的其他接口单片机的其他接口9.2.2 I2C总线总线EEPROM芯片与单片机接口芯片与单片机接口一串行一串行EEPROM电路电路CAT24WCXX系列概述系列概述 CAT24WCXX系列是美国CATALYST公司出品的,包含1-256
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 其他 接口
限制150内