当前位置:网站首页>TLC549Proteus仿真&Sallen-Key滤波器&AD736Vrms到DC转换&Proteus查看51寄存器值
TLC549Proteus仿真&Sallen-Key滤波器&AD736Vrms到DC转换&Proteus查看51寄存器值
2022-07-27 10:59:00 【char~lie】
如题,本篇博客是讲了4块内容,但是只通过一个小实验就解决了!
原来是有道作业题说要用51和TLC549测低通电压有效值,寻思着要用有效值到DC转换,所以用了AD736芯片仿真。
Sallen-Key低通滤波原理

传函:是个二阶的低通滤波
参数选择和电路连接
稍微提一下,不知道是因为仿真原因还是真是这样,输入1Hz的信号AD736就仿不出来,加了10Hz就好了,然后RC选的是1k和10uF,按照上面的公式算出来就是w0=100(rad/s)。
然后输入正弦,幅值1V,滤波输出幅值0.7V左右,有效值0.5V左右。
AD736的接法如上。
电压探针上看确实是0.5V左右。
后面就是AD736输出端接AIN,P1.5接DO,P1.6接SCK,P1.7接CS非,两个电容是滤波用的。
整个电路差不多这样:
仿真过程和结果
用Proteus查看寄存器很简单,因为我这里是循环运行,不需要运行到哪一步停下来,所以先点左下方的运行,然后点调试(debug)下拉列表里的暂停,然后移动光标到8051CPU这里:
跳出来的东西里选寄存器(Register),当然你要看其它可以点别的很方便。
转换结果理论上是1AH:

转换结果我是存在R6,可以看到仿真的结果和计算一毛一样,实验完成。
TLC549时序
书上说CS非拉低之后要等两个上升沿,我就信了,结果一开始我做出来的结果是68H,刚好是1AH的4倍,因为差了两个0,就是等这两个上升沿等出来的。
其实CS非拉低之后SCK高电平直接读8位就好了,CS非拉高之后需要等36个周期(书上说的,可能不一定,但是结果是没问题)。
程序
汇编写时序比C方便,C的话在集成上略微比汇编强,这里我用的当然是汇编:
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
边栏推荐
- LeetCode 03: T58. 最后一个单词的长度(简单); 剑指 Offer 05. 替换空格(简单); 剑指 Offer 58 - II. 左旋转字符串(简单)
- SMA TE: Semi-Supervised Spatio-Temporal RepresentationLearning on Multivariate Time Series
- C programming language (2nd Edition) -- Reading Notes -- 1.5.3
- 记忆化搜索 AcWing 901. 滑雪
- Remember an experience of using canvas to make the banner streamer effect of Tencent cloud homepage
- First experience of three.js: simulating the growth of a small branch
- 局域网SDN技术硬核内幕 13 从局域网到互联网
- 剑指 Offer 笔记: T45. 把数组排成最小的数
- Lazy loading of lists and pictures
- Local virtual machine initialization script
猜你喜欢
随机推荐
w.r.t. ; i.e.;etc.;e.g.是什么意思
What is private traffic?
TapNet: Multivariate Time Series Classification with Attentional Prototypical Network
Vscode establishes automatic search of header files under non engineering directories
N ¨UWA: Visual Synthesis Pre-training for Neural visUal World creAtionChenfei
Properties file
Gaussian elimination acwing 883. solving linear equations with Gaussian elimination
Interval problem acwing 906. Interval grouping
Maker paper data search training notes
When std:: bind meets this
Quantitative industry knowledge summary
82.(cesium之家)cesium点在3d模型上运动
Force buckle - 10. Regular expression matching
(3) Pass parameters
Maker harmony OS application development training notes 01
LeetCode 04: T26. 删除排序数组中的重复项(简单); 剑指 Offer 67. 把字符串转换成整数(中等); 面试题 01.08. 零矩阵 (简单)
Modelarts image classification and object detection
Stm32f10x -- C Language-1
LeetCode 01: T1. 两数之和 ; T1108. IP 地址无效化 ; T344. 反转字符串
剑指 Offer 笔记: T53 - II. 0~n-1 中缺失的数字







