angmall 发表于 2018-5-21 23:19 手册上说的指行MOVX或者MOVC指令才输出信号怎么理解呢? |
|
本帖最后由 zl2168 于 2018-5-21 23:26 编辑 实例84 ADC0808并行A-D(虚拟CLK) ADC 0808/0809 A-D转换电路还可采用虚拟CLK控制A-D。所谓虚拟CLK,是用某一通用I/O端线,模拟CLK输出脉冲信号。 先Proteus仿真一下,确认有效。
实例84 ADC0808A-D(虚拟CLK).rar
(35.75 KB, 下载次数: 8)
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解。 |
|
本帖最后由 zl2168 于 2018-5-21 23:24 编辑 实例83 ADC0808延时方式A-D(ALE输出CLK) 延时等待方式时,0809 EOC端可不必与80C51相连,而是根据时钟频率计算出A-D转换时间,每路每次需64个时钟周期,80C51一机周发出2次ALE信号,因此需要32个机器周期,略微延长后直接读A-D转换值。
先Proteus仿真一下,确认有效。
实例83 ADC0808A-D( ALE输出CLK,延时等待方式).rar
(54.13 KB, 下载次数: 11)
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解。 |
|
本帖最后由 zl2168 于 2018-5-21 23:23 编辑 实例82 ADC0808查询方式A-D(ALE输出CLK) ADC 0808/0809 A-D转换电路还可采用查询方式和延时等待方式。 查询方式时,0809 EOC端可不必通过反相器与INT0或INT1相连,直接与80C51 P1口或P3口中任一端线相连,不断查询EOC电平,当EOC高电平时,表示0809A-D完成,即可读0809A-D值。
先Proteus仿真一下,确认有效。
实例82 ADC0808A-D( ALE输出CLK,查询方式).rar
(54.04 KB, 下载次数: 15)
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解。 |
|
STC89C51RD+系列的ALE能给ADC0809提供时钟信号 sfr AUXR = 0x8E; AUXR = 0x00; |
|
本帖最后由 zl2168 于 2018-5-21 23:19 编辑 实例81 ADC0808中断方式A-D(ALE输出CLK) 先Proteus仿真一下,确认有效。
实例81 ADC0808A-D( ALE输出CLK,中断方式).rar
(54.32 KB, 下载次数: 26)
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解。 |
| 80C51 ALE信号固定为CPU时钟频率的1/6,若fOSC=6MHz,则1/6为1MHz,正好用于0809 CLK(此时A-D转换时间为64s)。因此,80C51 ALE信号除用于74LS373锁存低8位地址外,还与0809 CLK端连接,用于0809 A-D转换的时钟信号。但若fOSC=12MHz,则1/6为2MHz,超出0809最高工作频率,就需要用分频器分频了。 |
| 当80C51无读写外RAM操作时,ALE信号固定为CPU时钟频率的1/6,若晶振为6MHz ,则1/6为1MHz时,A-D转换时间为64S。 |
| 有没有大神知道的??? |
| 急,在线等 |