与单片机有关的课件_第1页
与单片机有关的课件_第2页
与单片机有关的课件_第3页
与单片机有关的课件_第4页
与单片机有关的课件_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第八章MCS-51单片机的其他接口8.1LCD与MCS-51接口

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

液晶显示器按其功能可分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果。第2页8.1.1字符型点阵式LCD液晶显示器

目前市面上常用的有16字1行、16字2行、20字2行和40字2行等的字符液晶显示模块。

本节将以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~DB7HD44780集成电路的特点:1、可选择5×7或5×10点字符。2、HD44780不仅作为控制器而且还具有驱动40×16点阵液晶像素的能力。3、HD44780的显示缓冲区DDRAM、字符发生存储器(ROM)及用户自定义的字符发生器CGRAM全部内藏在芯片内。HD44780有80个字节的显示缓冲区,分两行,地址分别为00H~27H,40H~67H,它下实际显示位置的排列顺序跟LCD的型号有关,液晶显示模块RT-1602C的显示地址与实际显示位置的关系如图所示。第6页

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行

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具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。第10页三.指令格式与指令功能LCD控制器HD44780内有多个寄存器,通过RS和R/W引脚共同决定选择哪一个寄存器,选择情况如表RSR/W寄存器及操作00指令寄存器写入01忙标志和地址计数器读出10数据寄存器写入11数据寄存器读出总共有11条指令,它们的格式和功能如下:1.清屏命令RSR/WD7D6D5D4D3D2D1D00000000001功能:清除屏幕,将显示缓冲区DDRAM的内容全部写入空格

(ASCII20H)。光标复位,回到显示器的左上角。地址计数器AC清零。2.光标复位命令功能:光标复位,回到显示器的左上角。地址计数器AC清零。显示缓冲区DDRAM的内容不变。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的地址。第17页四.LCD显示器的初始化

LCD使用之前须对它进行初始化,初始化可通过复位完成,也可在复位后完成,初始化过程如下:1.清屏。2.功能设置。3.开/关显示设置。4.输入方式设置。8.1.2LCD显示器与单片机的接口与应用

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

;写入显示缓冲区起始地址为第2行第6列。ACALLWC51RMOVA,“B”;第2行第6列显示字母“B”。ACALLWC51DDRMOVA,“Y”;第2行第7列显示字母“Y”。ACALLWC51DDRMOVA,“E”;第2行第8列显示字母“E”。ACALLWC51DDRLOOP:AJMPLOOP

;初始化子程序INIT:MOVA,#00000001H;清屏ACALLWC51RMOVA,#00111000B

;使用8位数据,显示两行,使用5*7的字型。LCALLWC51RMOVA,#00001110B;显示器开,光标开,字符不闪烁。LCALLWC51RMOVA,#00000110B;字符不动,光标自动右移一格。LCALLWC51RRET;检查忙子程序F_BUSY:PUSHACC;保护现场PUSHDPHPUSHDPLPUSHPSWWAIT:CLRRSSETBRWCLRESETBEMOVA,P1CLREJBACC.7,WAIT;忙,等待POPPSW;不忙,恢复现场POPDPLPOPDPHPOPACCACALLDELAYRET;写入命令子程序。WC51R:ACALLF_BUSYCLRECLRRSCLRRWSETBEMOVP1,ACLREACALLDELAYRET;写入数据子程序。WC51DDR:ACALLF_BUSYCLRESETBRSCLRRWSETBEMOVP1,ACLREACALLDELAYRET;延时子程序。DELAY:MOVR6,#5D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETENDC语言编程:#include<reg51.h>#defineucharunsignedcharsbitRS=P2^0;sbitRW=P2^1;sbitE=P2^7;voiddelay(void);voidinit(void);voidwc5r(uchari);voidwc51ddr(uchari);voidfbusy(void);//主函数voidmain(){SP=0x50;init();wc51r(0x80);//写入显示缓冲区起始地址为第1行第1列wc51ddr(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);}//初始化函数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++){;}}8.2MCS-51单片机与I2C总线芯片接口8.2.1I2C总线简介一.I2C总线的主要特点

I2C总线是由PHILIPS公司开发一种简单、双向二线制同步串行总线。它只需要两根线即在连接于总线上的器件之间传送信息。这种总线的主要特点有:1.总线只有两根线,即SCL和SDA。2.每个连接到总线上的都有一个用于识别的器件地址。3.同步时钟允许器件以不同的波特率进行通信。4.同步时钟可以作为停止或重新启动串行口发送的握手信号。5.串行的数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。6.连接到同一总线的集成电路数只受400pF的最大总线电容的限制。二.I2C总线的基本结构三.I2C总线信息传送开始信号和结束信号规定如下:开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。SDASCL开始信号12789应答位12891应答位结束信号主控制器每次传送的信息的第一个字节必须是器件地址码,第二个字节为器件单元地址,用于实现选择所操作的器件的内部单元,从第三个字节开始为传送的数据。其中器件地址码格式如下: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表示开始信号,A表示应答信号,P表示结束信号。8.2.2I2C总线EEPROM芯片与单片机接口一.串行EEPROM电路CAT24WCXX系列概述

CAT24WCXX系列包含CAT24WC01/02/04/08/16/32/64/128/256共8种芯片,容量分别为1、2、4、8、16、32、64、128、256KB。

串行EEPROM一般具有两种写入方式:1.字节写入方式,2.页写入方式。允许在一个写周期内同时对1个字节到一页的若干字节的编程写入,一页的大小取决于芯片内页寄存器的大小。其中,CAT24WC01具有8字节数据的页面写能力,CAT24WC02/04/08/16具有16字节数据的页面写能力,CAT24WC32/64具有32字节数据的页面写能力,CAT24WC128/256具有64字节数据的页面写能力。二.CAT24WCXX的引脚CAT24WC01/02/04/08/16/32/64、CAT24WC128、CAT24WC256管脚排列图分别为如图(a)、(b)、(c)所示:其中:SCL:串行时钟线。这是一个输入管脚,用于形成器件所有数据发送或接收的时钟。SDA:串行数据/地址线。它是一个双向传输线,用于传送地址和所有数据的发送或接收。A0、A1、A2:器件地址输入端。这些输入端用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。WP:写保护。如果WP管脚连接到VCC,所有的内容都被写保护(只能读)。当WP管脚连接到VSS或悬空,允许对器件进行正常的读/写操作。VCC:电源线。VSS:地线。第36页三.CAT24WCXX的器件地址型号控制码片选读写总线访问的器件CAT24WC011010A2A1A01/0最多8个CAT24WC021010A2A1A01/0最多8个CAT24WC041010A2A1a81/0最多4个CAT24WC081010A2a9a81/0最多2个CAT24WC161010a10a9a81/0最多1个CAT24WC321010A2A1A01/0最多8个CAT24WC641010A2A1A01/0最多8个CAT24WC1281010XXX1/0最多1个CAT24WC25610100A1A01/0最多4个四.CAT24WCXX的写操作1.字节写结束应答信号数据数据器件内单元地址应答信号应答信号读写位器件地址开始SDA线信号2.页写应答信号数据1器件内单元地址应答信号应答信号读写位器件地址写开始SDA线信号数据n应答信号结束3.应答查询

可以利用内部写周期时禁止数据输入这一特性。一旦主器件发送停止位指示主器件操作结束时,CAT24WCXX启动内部写周期,应答查询立即启动,包括发送一个起始信号和进行写操作的从器件地址。4.写保护

写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写,当WP管脚接高电平时,整个寄存器区全部被保护起来而变为只可读取。第39页五.CAT24WCXX的读操作1.当前地址读SDA线信号开始读写位应答信号无应答信号结束数据器件地址2.随机地址读读写位器件地址读器件内单元地址应答信号应答信号读写位器件地址写开始SDA线信号应答信号结束器件内单元地址开始应答信号3.顺序地址读应答信号数据1应答信号读写位器件地址读SDA线信号数据2应答信号结束数据n无应答信号六.CAT24WCXX与单片机的接口与编程下图是8051单片机与串行EEPROM芯片CAT24WC04的接口电路。8051的P1.0、P1.1作为I2C总线与CAT24WC04的SDA和SCL相连,连接时注意I2C总线须通过电阻接电源。P1.3与WP相连。CAT24WC04的地址线A2、A1、A0直接接地。则片选编码为000,CAT24WC04的器件地址码的高7位为1010000。8051P1.0P1.1P1.2VCCSDASCLWPVSSA0A1A2CAT24W04VCC20K20K8.3MCS-51单片机与数字温度传感器的接口8.3.1DS18B20简介

DS18B20具有3引脚小体积封装形式,温度测量范围为-55℃~125℃

,可编程为9~12位A/D转换精度,测温分辨率可达0.0625℃

,被测温度用16位补码形式串行输出。8.4.2DS18B20的主要特性(1)适应电压范围宽:3.0V~5.5V,也可由数据线供电。(2)使用中不需要任何外围元件。(3)独立的单线接口方式。(4)测温范围:-55℃~125℃

(5)编程可实现分辨率为9~12位,可实现高精度测温。(6)转换时间快。(7)支持多点组网功能。(8)可自行设定报警上下限值。8.4.3DS18B20的外部结构引脚定义:(1)DQ:数字信号输入、输出端。(2)GND:电源地(3)VDD:外接电源8.4.4DS18B20的内部结构

DS18B20内部主要由4部分组成:64位光刻ROM、温度传感器、非易失性温度报警触发器TH和TL、配置寄存器等。内部结构图如图:1.光刻ROM存储器

光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。2.高速暂存存储器高速暂存存储器由9个字节组成,其分配如表所示。当温度转换命令发布后,经转换所得的温度值以二进制补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,以0.0625℃/LSB为例,对温度计算:当符号位S=0时,直接将二进制位转换为十进制数在乘以0.0625就可得到实际温度;当S=1时,先将补码变为原码,再计算十进制值后乘以0.0625就可得到实际温度。高温度触发器和低温度触发器分别存放温度报警的上限值TH和下限值TL;DS18B20完成温度转换后,就把转换后的温度值T与温度报警的上限值TH和下限值TL作比较,若T>或T<,则把该器件的报警标志置位。配置寄存器用于确定温度值的数字转换分辨率。低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用

温馨提示

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

评论

0/150

提交评论