第十章十一章数模及模数转换.pptVIP

  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文档。上传文档
查看更多
* 2. 编程: 转换结束信号EOC和输出允许信号OE相连后与PC7相接,这样,CPU通过查询PC7的状态即可控制数据的读入过程。 根据ADC0809的工作时序,在启动脉冲结束后,先要查到EOC为低电平,表示转换已开始。然后再继续查EOC,一旦发现EOC变为高电平,说明转换已结束, 又由于输出允许端OE与EOC相连.当EOC变高时,OE也为变高,从而使ADC0809的输出缓冲器打开,输出数据出现在8255A的A口上,这时可用IN指令读入CPU。 * * MOV DX,223H ;8255A控制口地址 MOV AL,98H ;初始化命令字,各口为方式0,A口 OUT DX,AL ;输入,C口高4位输入,低4位输出 MOV CX,8 ;数据个数 MOV BL,00H ;首先把通道号0送入BL LEA DI,DATA_BUF NEXT_IN:MOV DX,222H ;C口地址 MOV AL,BL OUT DX,AL ;输出通道号 MOV DX,223H MOV AL,07H OUT DX,AL ;使PC3置1,发启动信号的上升沿。 NOP NOP NOP * MOV AL,06H ;使PC3复位, OUT DX,AL ;启动信号恢复低电平,转换开始。 MOV DX,222H NOCONV:IN AL,DX ;读C口内容 TEST AL,80H ;查PC7=? JNZ NOCONV ;=1,说明未开始转换,则等待 NOEOC: IN AL,DX ;已开始转换,则读C口     TEST AL,80H ;查PC7=? JZ NOEOC ;=0,则转换未结束,等待 MOV DX,220H ;转换结束,则从A口读取转换数据 IN AL,DX MOV [DI],AL ;数据存入指定位置 INC DI INC BL LOOP NEXT_IN RET * 例3:设计以GAL20V8作为ADC0809与CPU的接口的硬件电路。并采用中断方式实现8个通道数据采集,采集1KB。采集的数据在屏幕上显示。 1. 硬件电路分析与设计 由于要求以GAL20V8作接口电路,则必须对它的进出信号进行分析。这些信号分成两类:一类是输出信号,另一类是输入信号。 ⑴输出信号:包含面向ADC0809的信号和面向CPU的信号。 ①面向ADC0809的信号: * ☆START:0809的启动信号,对GAL来说是输出。 0809本质上是作为CPU的外设,因此,GAL接口电路只要给0809提供一个接入其START引脚的信号即可。 GAL作为接口,其输出的控制信号START必定来自于CPU。为此,可以向CPU提供一个GAL的端口地址,然后用OUT指令由CPU把所需信号写入该端口内即可。 具体实现时,我们并不是用某种寄存器来形成端口去接收CPU发的控制信号,而是用CPU执行OUT指令时产生的该端口的地址信号,再配合以OUT指令产生的IOW及附加的AEN信号,经过GAL组合译码来生成一个输出信号,该信号接入0809的START引脚就成了START信号。 * 设GAL中启动控制信号的口地址为30CH,则START信号的组合逻辑表达式为: ☆ALE:通道选择控制信号(地址锁存信号),对GAL来说是输出。 该信号同样需要一个OUT指令来产生。原理同START。 设GAL中通道选择控制信号的口地址为30EH,则有: * ☆OE:0809的输出允许信号,对GAL则是输出。 该信号到来时,0809把转换的数据送上数据总线,CPU便可读取它。 实现时,我们可以对GAL的某端口发一条IN指令,用CPU执行IN指令时产生的该端口的地址信号,再配合IN指令产生的IOR及附加的AEN信号,经过GAL组合译码来生成一个输出信号,将它接入0809的OE引脚,就成为OE信号。 使用IN指令,既可使0809的转换数据被送上数据总线,又使CPU能读取它。一举两得。 由于我们使用IN指令,又仅仅是产生一个给0809的信号,因此可以选用上述OUT指令使用过的口地址。设输出允许信号的口地址为30EH,则有: * ②面向CPU的信号:包含转换结束状态

文档评论(0)

2266685ss + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档