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