MCS-51单片机原理与应用5剖析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用 李宝华 2008年9月 第五章 MCS-51片外接口 总线 存储器扩展 译码器 LCD显示 ADC,DAC 微型打印机 键盘 LED显示 如何将其他元器件与单片机相连? 从硬件上讲:连接到口(引脚) 从软件方面讲:放在存储空间里 程序存储器 数据存储器 专用寄存器 片外接口 1、电信号必须是: “数字”信号——TTL电平 2、必须是连接成: CPU能访问到的“存储器” 总线 总线 MCS-51总线 读外部程序存储器时序图 读外部数据存储器时序图 写外部数据存储器时序图 地址数据分离 一个具体电路例子 EPROM M27C4001 RAM HM628128 译码器问题 译码器 74HC138——三到八线译码器 74HC138——三到八线译码器 译码器 读U8的第123存储单元到累加器 MOV DPTR , #123 ;(#7BH) MOVX A , @DPTR 或 MOV DPTR , #87BH MOVX A , @DPTR ADC——ADC0809 ADC0809 结构框图 ADC——ADC0809 ADC0809——典型应用 转换程序 等待法 MOV DPTR,#0FE00H ;ADC口地址 MOV A,#00 ;转换IN0 MOVX @DPTR,A ;启动A/D转换 LCALL DELAY ;等待转换结束 MOVX A,@DPTR ;取转换结果 转换程序 查询法 MOV DPTR,#0FE00H ;ADC口地址 MOV A,#00 ;转换IN0 MOVX @DPTR,A ;启动A/D转换 JNB EX0 , $ ;查询 CLR EX0 ; 清除标志 MOVX A,@DPTR ;取转换结果 转换程序——中断法 组程序 …… MOV DPTR,#0FE00H ;ADC口地址 MOV A,#00 ;转换IN0 …… 中断程序 INT0: PUSH A ;保护现场 PUSH DPTR MOV DPTR,#0FE00H ;ADC口地址 MOVX A,@DPTR ;取转换结果 MOV R0 , A ;保存转换结果 POP DPTR ;恢复现场 POP A RETI ;中断返回 DAC——DAC0832 DAC——DAC0832 DAC——DAC0832 LCM——240128 LCM——240128 LCM——240128 LCM——240128 240128——状态寄存器 240128——命令寄存器 LCM——240128 LCM——240128 键盘 键盘 键盘 键盘——去抖 键盘——软件去抖 键盘——多个按键 键盘——多个按键——矩阵键盘 键盘——键盘扫描程序 键盘——键盘处理程序——去抖、拍发 LED特性 LED数码管 LED数码管——驱动 LED数码管——驱动——静态 LED数码管——驱动——动态 LED数码管——驱动——动态 微型打印机 类型: 针式微打、热敏微打 台式微打、嵌入式微打 接口 接口 I/O口模式程序——打印“0” I2C总线 I2C总线是一种由PHILIPS公司发明的两线式串行总线。 主要的优点 简单性和有效性。 支持多主控 很多外围器件如存储器、监控芯片、ADC、DAC、RTC、数字电位器等等都有I2C接口的产品。 I2C总线 I2C总线是由: 数据线SDA、 时钟线SCL构成的串行总线 I2C总线 I2C总线 I2C总线 主器件写从器件 I2C总线 主器件读从器件 I2C总线 I2C总线 谢谢! 我的联系方式 电话邮箱:libh@mail.jlu.edu.cn P1=0xff; key_l1=0; if(!key_r1) temp=1; if(!key_r2) temp=4; if(!key_r3) temp=7; P1=0xff; key_l2=0; if(!key_r1) temp=2; if(!key_r2) temp=5; if(!key_r3) temp=8; P1=0xff; key_l3=0; if(!key_r1) temp=3; if(!key_r2) temp=6; if(!key_r3) temp=9; return(temp); } //********************************************** // 键盘驱动程序 // 返回按键键值。当无键按下时返回值为0。 //**************

文档评论(0)

119220 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档