51单片机函数发生器
啊,课程设计,选了个“简单”的题目——函数发生器,后来发现太多坑了。且慢慢道。
这个题目在某度上有很多完成的项目且有经过Protues仿真。我图方便,就简单抄了里面DAC输出电路的原理图。反正有人验证过,应该可以用。打脸。
由于学校条件设备原因,板子只能打单层的。将就着看吧。画的也一般。
PCB是初版,实际电路我做了一些改动。额,刚开始调试很大原因是因为直插件的接口接触不良导致输出的波形不行(贴片大法好,可惜自己没存货),输出的电压也只有7-800mV。WTF,这么低吓得我重新去看了datasheet。
本系统采用到的主要元器件为:STC89C52RC,LM358,DAC0832,EC11,LCD1602;
先上一波datasheet;
LM358,用到里面的一个运放。后来发现单电源(+5V)驱动,加上DAC0832的反馈Rbf后,经运放出来的实际电压只有1点多伏。下面是DS给出的计算公式,电流型的。
实际上,使用时应该接双电源,即正负电(+-5V).运放接+-5V电压,其输出端输出最高不超过3.7 3.8V。我接的是单电源的5V,输出1V多,勉强了。
后面查找资料:
运放不是轨至轨输出的,不能达到或者接近+-VCC。传统的模拟集成器件,如运放、A/D、D/A等,其模拟引脚的电压范围一般都达不到电源,以运放为例,电源为+/-15V的运放,为确保性能(首先是不损坏,其次是不反相,最后是足够的共模抑制比),输入范围一般不要超过+/-10V,常温下也不要超过+/-12V;输出范围,负载RL>10kohm时一般只有+/-11V,小负载电阻(600ohm)时只能保证+/-10V。这对器件的应用带来很多不便。 rail-to-rail的器件,一般都是低压器件(+/-5V 或 single +5V),输入输出电压都能达到电源(输入甚至可以超过)。其原理上的秘诀便在于电流模+NPN/PNP互补输入结构。
后面是正确的姿势:
双极性输出:
如果实际应用系统中要求输出模拟电压为双极性,则需要用转换电路实现。
如图双极性电压输出电路
其中 R2=R3=2R1
VOUT= 2×VREF×D/256 -VREF= (2D/256-1)VREF
比如:
D = 0, VOUT= -VREF;
D = 128, VOUT= 0;
D = 255, VOUT= (2×255/256-1)×VREF= (254/255)VREF
即:输入数字为0~255时,输出电压在- VREF ~+ VREF之间变化。
单极性输出:
由运算放大器进行电流→电压转换,使用内部反馈电阻。输出电压值VOUT和输入数字量D的关系:
VOUT = - VREF ×D/256
D = 0~255, VOUT = 0 ~ - VREF ×255/256
比如:
VREF = -5V, VOUT =0~5×(255/256)V
VREF = +5V, VOUT = 0 ~ -5×(255/256)V;
总结:在使用DAC0832时,如果想获得足够大的电压输出,使用双极性会是更好的选择,并且在运放和DAC电流输出引脚之间和反馈引脚最好不要接电阻,过大负载对电流型输出的影响大。
51单片机函数发生器相关推荐
- 51单片机可以用来练手的60个小设计
60个51单片机可以用来练手的小设计 最近题主在温习关于51的一些知识,所以自己在网上搜集了一些小设计感觉还可以,大家可以试一试做练手 同样的设计也可以为其他单片机提供一定的设计思路 1 电子秤设计: ...
- 51单片机实现对24C02进行页写、顺序读取并显示验证
源:51单片机实现对24C02进行页写.顺序读取并显示验证 //******************************************************************** ...
- 51单片机编码自学_这是9个月的自学式编码看起来像什么
51单片机编码自学 by Stephen Mayeux 斯蒂芬·马约(Stephen Mayeux) 这是9个月的自学式编码看起来像什么 (Here's What 9 Months of Self-T ...
- 跳过51单片机,直接学STM32有什么严重后果?
STM32现在之所以这么普及,主要是教程资料非常丰富,一些卖开发板做教程的至少有50%的功劳. 再价格也算合理,导致很多企业用这个单片机去做产品,初学者也更渴望掌握这款芯片. 不过STM32这两年涨价 ...
- 单片机从事什么工作?只会51单片机能找到工作吗?
我当初是自学转行进入单片机行业,没有211/985这种学历背景. 转行纯粹是为了脱离阶层,我们那个年代都兴蓝领,白领. 我们学的专业就是属于蓝领类的. 蓝领就是做苦力活的,白领就是衣光鲜艳,坐办公室拿 ...
- 放弃51单片机,直接学STM32开发会有什么严重的问题?
本人从事单片机开发10年,我一直认为只有起点和你差不多的人,经历过的路,才具备参考的价值. 别人开局就是一套终极装,在各种资源背景加持下经历像开挂一样,你参考个锤子啊. 我当初是电气工程转行到嵌入式单 ...
- 51单片机可以做什么实用的产品?
我用51的单片机做过不少于10款产品了. 我看到很多文章,说51已经过时了,新手没必要学习51单片机,可以直接学STM32. 我个人认为这种说法存在一定的误导,51还是有很大的市场. 很多人想从事嵌入 ...
- 51单片机好学嘛?学完51单片机学什么?
大家好,我是无际单片机编程的徐导,很多想学单片机又担心自己学不会的兄弟们,都想问这个问题:51单片机好学嘛? 作为一个资深的老工程师,我还是要客观地回答一下这个问题. 关于的"0基础15天学 ...
- 单片机如何使用?51单片机C语言编程实例有哪些?
大家好,我是无际单片机编程的徐明,今天和大家一起探讨一下"单片机如何使用?" 单片机如何使用,我们要知道单片机在哪里使用? 单片机是很多电子产品的核心器件,它具有一定的逻辑判断和事 ...
最新文章
- 给Python代码加上酷炫进度条的几种姿势
- iOS中JS 与OC的交互(JavaScriptCore.framework)
- Atitit. atiJavaExConverter4js 新的特性
- servlet和servlet-mapping的作用------转载于《简书》作者:简单的书写点
- 人生哲理---你值得借鉴
- leetcode98. 验证二叉搜索树
- 程序员面试金典 - 面试题 03.06. 动物收容所(队列)
- 有关于mysql自增型需要返回id_关于mysql自增id,你需要知道的
- hdfs java读写hdfs demo
- 7.4 流水线的冒险
- linux 常见命令 cp,Linux 常用命令之cp,一个可以煮饭的工具;
- 中国内脏痛行业市场供需与战略研究报告
- java linux命令远程执行_java执行远程服务器上的shell命令
- Tomcat servers.xml 无注释版
- c语言删除文件 Windows,基于Windows API实现遍历所有文件并删除的方法
- sql和mysql 语法区别吗_sql和mysql语法有什么不同
- Windows 缓冲区溢出与数据执行保护DEP
- 计算机考研自我介绍大概多少字,考研复试中文自我介绍多少字合适
- 如何使用docker和docker-compose在本地Testnet上开发EOS区块链
- css保持图片原始比例
热门文章
- SpringBoot笔记(主程序类@SpringBootApplication详解)
- ssas连接mysql_SSAS系列基础知识
- vivado生成mig_Xilinx-在Zynq上用MIG扩展内存(2)-Vivado篇
- OCI和CNI个人笔记
- 简单三步, 搭建全平台私有同步网盘
- python教学小说04 写python必懂的潜规则:冒号和缩进
- 【高级】管理科学基础知识
- 家庭智能开关通断—Homekit智能
- html2048游戏算法逻辑,2048小游戏算法解析
- 笔记︱金融风险控制基础常识——巴塞尔协议+信用评分卡Fico信用分