单片机原理及应用技术牛月兰10单元AT89S51单片机与输入输出外设的接口教程.pptVIP

单片机原理及应用技术牛月兰10单元AT89S51单片机与输入输出外设的接口教程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 图10-29 4位BCD码拨盘组 BCD码拨盘后面有5个接点,如图10-29所示,其中A为输入控制端,另外4条是BCD码输出端8、4、2、1。 拨盘拨到不同位置时,输入控制端A分别与4条BCD码输出端中的某条或某几条接通,其接通的BCD码输出端状态正好与拨盘指示的十进制数一致。 表10-19所示为BCD码拨盘的输入/输出状态表。 * * 2.单片BCD码拨盘与单片机的接口 单片BCD码拨盘可以与任何一个4位的I/O口或扩展的I/O口相连,以输入BCD码。 图10-30所示为AT89S51单片机通过P1.0~P1.3与单片BCD码拨盘相连的接口电路。 图10-30 单片BCD码拨盘与AT89S51单片机的接口 * A接+5V,当拨盘拨至某个输入的十进制数时,相应的8、4、2、1有效端输出高电平(如拨至“6”时,4、2端为有效端),无效端为低电平。输出正逻辑BCD码(原码)。如控制端A接地,则8、4、2、1输出端通过电阻上拉至高电平时,输出负逻辑BCD码(反码)。 软件编程,只需读入P1.0~P1.3端口的状态,例如: MOV P1,#0FFH ;设置P1端口为输入 MOV A,P1 ;读入P1.0~P1.7的状态 ANL A,0FH ;屏蔽P1.4~P1.7 MOV 40H,A ;将BCD码拨盘的值存入内部RAM的40H单元 * 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 S/C=1时,显示移位;S/C=0时,光标移位。 R/L=1时,向右移位,R/L=0时,向左移位。 ⑥ 功能设置。命令格式如下: 功能: DL位设置接口数据位数,DL=1为8位数据接口;DL=0为4位数据接口。 N 位设置显示行数,N=0单行显示;N=1双行显示。 F位设置字型大小,F=1为5?10点阵,F=0为5?7点阵。 * ⑦ CGRAM(自定义字符RAM)地址设置。格式如下 功能:设置CGRAM的地址,地址范围为0~63。 ⑧ DDRAM(数据显示存储器)地址设置。格式如下: 功能:设置DDRAM的地址,地址范围为0~127。 ⑨ 读忙标志BF及地址计数器。格式如下: * 功能:BF位为忙标志。BF=1,表示忙,此时LCM不能接收命令和数据;BF=0,表示LCM不忙,可接收命令和数据。 AC位为地址计数器的值,范围为0~127。 向CGRAM/DDRAM写数据。格式如下: 功能:将数据写入CGRAM或DDRAM中,应与CGRAM或DDRAM地址设置命令结合使用。 * 从CGRAM/DDRAM中读数据。格式如下: 功能:从CGRAM或DDRAM中读出数据,应与CGRAM或DDRAM地址设置命令结合使用。 (3)有关说明 ① 显示位与DDRAM地址的对应关系,如表10-17所示。 * ② 标准字符库。图10-21所示为字符库的内容、字符码和字型的对应关系。 ③ 字符码(DDRAM DATA)、CGRAM地址与自定义点阵数据(CGRAM数据)之间的关系,如表10-18所示。 * 10.4.3 AT89S51单片机与LCD的接口及软件编程 1.AT89S51单片机与LCD模块的接口 AT89S51单片机与LCD模块的接口如图10-22所示。 图10-22 AT89S51单片机与LCD模块的接口电路 * 2.软件编程 (1)初始化 先对LCD模块进行初始化,否则模块无法正常显示。两种初始化方法。 ① 利用模块内部的复位电路进行初始化。LCM有内部复位电路,能进行上电复位。复位期间BF?=?1,在电源电压VDD达4.5V以后,此状态可维持10ms,复位时执行下列命令。 清除显示。 * 功能设置,DL=1为8位数据长度接口;N=0单行显示; F=0为5???7点阵字符。 开/关设置,D=0关显示;C=0关光标;B=0关闪烁功能。 进入方式设置,I/D=1地址采用递增方式;S=0关显示移位功能。 ② 软件初始化。流程如图10-23所示。 图10-23 软件初始化流程 * (2)显示程序编写 【例10-1】 编写程序在LCD第一行显示“CSS”,第二行显示“92”。假定对LCM已按图10-23所示完成初始化。程序如下: START: MOV DPTR,#8000H ;命令口地址送DPTR MOV A,#01H ;清屏并置AC为0 MOVX @DPTR,A ;输出命令 ACALL F_BUSY ;等待直至LCM不忙 MOV A,#30H ;功能设置,8位接口, ; 2行显示, 5×7点阵 MOV

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档