如题,本篇博客是讲了4块内容,但是只通过一个小实验就解决了! (虽然百度也可以搜,但是作为本人最方便的资料库,顺便也写了)。 稍微提一下,不知道是因为仿真原因还是真是这样,输入1Hz的信号AD736就仿不出来,加了10Hz就好了,然后RC选的是1k和10uF,按照上面的公式算出来就是w0=100(rad/s)。 然后输入正弦,幅值1V,滤波输出幅值0.7V左右,有效值0.5V左右。 用Proteus查看寄存器很简单,因为我这里是循环运行,不需要运行到哪一步停下来,所以先点左下方的运行,然后点调试(debug)下拉列表里的暂停,然后移动光标到8051CPU这里: 书上说CS非拉低之后要等两个上升沿,我就信了,结果一开始我做出来的结果是68H,刚好是1AH的4倍,因为差了两个0,就是等这两个上升沿等出来的。 汇编写时序比C方便,C的话在集成上略微比汇编强,这里我用的当然是汇编:
原来是有道作业题说要用51和TLC549测低通电压有效值,寻思着要用有效值到DC转换,所以用了AD736芯片仿真。Sallen-Key低通滤波原理
传函:是个二阶的低通滤波
参数选择和电路连接
AD736的接法如上。
电压探针上看确实是0.5V左右。
后面就是AD736输出端接AIN,P1.5接DO,P1.6接SCK,P1.7接CS非,两个电容是滤波用的。
整个电路差不多这样:
仿真过程和结果
跳出来的东西里选寄存器(Register),当然你要看其它可以点别的很方便。
转换结果理论上是1AH:
转换结果我是存在R6,可以看到仿真的结果和计算一毛一样,实验完成。TLC549时序
其实CS非拉低之后SCK高电平直接读8位就好了,CS非拉高之后需要等36个周期(书上说的,可能不一定,但是结果是没问题)。程序
CS BIT P1.7 SCK BIT P1.6 DO BIT P1.5 ORG 0000H START:SETB CS CLR SCK SETB DO ADC:MOV A,#0 MOV R0,#08H CLR CS CLR SCK LP1:CPL SCK NOP MOV C,DO RLC A CPL SCK NOP DJNZ R0,LP1 SETB CS MOV R6,A MOV R0,#48H LP4:CPL SCK NOP DJNZ R0,LP4 AJMP ADC END
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算