-
仿真Proteus中的AD转换(使用单片机配合ADC0809)
资源介绍
关于Proteus仿真ADC0809,说明以下几点:
1、在Proteus中,ADC0809是不可仿真的。但可以用ADC0808代替ADC0809进行仿真。ADC0808与ADC0809有相同的引脚,功能极为相似。在Proteus中,可以认为:ADC0808就是ADC0809。
2、说明几个关键引脚的输出信号:
1)OE 数据输出允许信号,高电屏有效(意思就是,当OE接高电屏时才允许将转换后的结果从ADC0808的OUT1~OUT8引脚输出,否则,在内部锁存)。
2)ADC0808的ALE信号(22引脚),以及START信号(6引脚)
ALE称为“地址锁存允许信号”,高电屏有效。就是说:ALE=1时,允许将ADDA~ADDC的地址输入到ADC0808的内部译码器,经过译码后选定外部模拟量的输入通道。
START信号,这是一个必须重点掌握的信号,向START送入一个高脉冲,其上升沿使ADC0808内部的“逐次逼近寄存器SAR”复位,其下降沿可以*启动A/D转换,并同时使EOC引脚为低电平*(两个*之间的内容必须牢记!)。
应注意到:ALE是高电屏有效,而START的有效部分只是上升沿和下降沿,所以在连接电路时可以将ALE信号与START信号连接到一起,使它们在同一个脉冲上各取所需。
3)EOC AD转换结束的标志信号,在AD转换结束时成现高电屏。不能通过以下方式使EOC恢复低电屏:
假设EOC连到P1.0口上,企图通过CLR P1.0使EOC恢复低电屏是不可行的。在Proteus仿真时,会出现黄色信号,表示短路。在实际当中,短路是非常可怕的事情。
千万注意:EOC是靠START的下降沿清零的!
4)在Proteus中,ADC0808的时钟信号要用DCLOCK产生(应该知道啥是DCLOCK吧?),因为在Proteus仿真中,当不外接扩展ROM时,单片机的ALE信号(注意,不是ADC0808的ALE信号!)在Proteus仿真中不会出现,因此即使外接74LS74作分频也不会得到时钟信号。
发点牢骚:很多高校都以ADC0809作为AD转换的代表芯片来讲解,但却不细说其工作过程和工作原理。我们杨红梅老师上课这样说的:“当程序执行到MOVX @DPTR,A的时候,会启动AD转换”。我不理解为什么执行到这里就启动AD转换了,于是说道:“老师,这里我不理解。”作为一名十分有责任感的副教授,她是这样回答的:“就是执行到这里就启动了,你还想理解到什么程度?”……令我实在无语。于是我到校图书馆翻阅了一些相关的高校教材,其各书所述大同小异,也没什么收获,现在的高校教材呀!不得不令人怀疑有抄袭之嫌。后来,在清华大学出版社出版的《单片机原理与应用及C51程序设计》一书中获得了一些启发,又亲自动手做了仿真,才略懂一二。对于希望学好单片机的同仁,我有一点小常识奉送,就是:务必学会读懂时序图,即使老师上课不讲,自己也要自学,并学会。
我写的这个程序极其短小,重点在于使读者通过仿真控制理解上述关键信号的作用,进而理解ADC0808的工作过程和工作原理。为了减少赘余,突出重点,并没有用单片机对AD转换后的数字信号行处理,而是通过ADC0808的OUT1~OUT8引脚直接输出。希望看过此例的同仁能通过此例真正学懂ADC0808(也即是:ADC0809)。相关的时序图,百度上有丰富的资源,在这里就不赘赠了,请见谅。
- 上一篇: GM预测.zip,灰度系统理论预测
- 下一篇: 灰色系统预测模型