ADC0832程序完整版 源码+Proteus仿真

前段时间一直在为ADC0832的程序感到疑惑,从网上找了很多的代码,用Proteus仿真,最后都出现了一些奇怪的问题,有的根本没法读取数据,有的数据有错误。

当参考电压为5V时,如果把输入电压从0一直调到5V,读取的数据应该是从0到255,2.5V时应该是128。但是我发现一些源码在输入0~2.5V时读取出来的是0~255,到2.5V时读取的数据为0,从2.5到5V,读出的值又从0增加到255,始终不正确。今天下午特地查阅的ADC0832英文原版的DataSheet,又参考了一篇中文文档,终于写出了其完整的程序,并且先后读取了MSB FIRST DATA和LSB FIRST DATA,进行比较,如果两个数据相等,返回读取的数据,否则返回0,这样可以避免读取发生错误,更稳定可靠。并通过了Proteus仿真。

下图是ADC0832的时序图:




其中T-SetUp为250ns,由于使用的是51单片机,晶振11.0592MHz,机器周期比这个值大,可以不考虑,但为了防止出现异常,还是延时了两个机器周期。注意在第11个时钟下降沿之后,DO上的电平既是MSB FIRST输出的最后一位,又是LSB FIRST输出的第一位。以下是读取ADC0832的代码。


sbit CS_0832 = P1^0;
sbit CLK_0832 = P1^1;
sbit DO_0832 = P1^2;	// DI、DO不同时有效,可共用一个接口
sbit DI_0832 = P1^2;extern void _nop_ ( void );
#define pulse0832() _nop_();_nop_();CLK_0832=1;_nop_();_nop_();CLK_0832=0//把模拟电压值转换成8位二进制数并返回
unsigned char read0832()
{unsigned char i, ch = 0, ch1 = 0;CS_0832=0;		// 片选,DO为高阻态DI_0832=1;// 此处暂停T-SetUp: 250ns (由pulse0832完成)pulse0832();	// 第一个脉冲,起始位,DI置高DI_0832=1;pulse0832();	// 第二个脉冲,DI=1表示双通道单极性输入DI_0832=1;pulse0832();	// 第三个脉冲,DI=1表示选择通道1(CH2)// 51单片机为准双向IO口:应先写入1再读取DI_0832=1;// MSB FIRST DATAfor(i = 0; i < 8; ++i) {pulse0832();ch <<= 1;if(DO_0832==1)ch |= 0x01;}// MSB FIRST输出的最后一位与LSB FIRST输出的第一位是在// 同一个时钟下降沿之后,故此处先执行读取,后执行pulse// LSB FIRST DATAfor(i = 0; i < 8; ++i) {ch1 >>= 1;if(DO_0832==1)ch1 |= 0x80;pulse0832();}CS_0832=1;		// 取消片选,一个转换周期结束return (ch==ch1) ? ch : 0;		// 返回转换结果
}




Proteus仿真文件以及英文DataSheet、中文介绍请点击此处下载。

http://download.csdn.net/detail/jzj1993/5141464

本文由PurpleSword(jzj1993)原创,转载请注明
原文网址 http://blog.csdn.net/jzj1993/article/details/8275140

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我国是世界最大石油进口国,但是大家知道从哪些国家进口吗?

大家都知道我国是世界上最主要的石油进口国&#xff0c;目前我国原油对进口的依赖程度超过70%。下图是2018年上半年我国原油消费以及国内原油产量相关统计数据。从这个图当中&#xff0c;我们可以看出2018年上半年&#xff0c;我国每月消费的原油都在5000万吨以上&#xff0c;而…

数码管和573锁存器的细节问题

今天在QQ群上一个初学单片机的人提了一个关于数码管的问题&#xff0c;主要是程序的问题&#xff0c;由于对基础知识掌握不够&#xff0c;花了比较长的时间才解决&#xff0c;现总结一下其中的细节。 电路中8位数码管是由两个74HC573锁存器分别控制位选和段选的。 原程序大致如…

为什么银行大额存单没有4年期?想存4年期怎么办?

大额可以存四年吗&#xff1f;相信这个问题很多人都有类似的疑问&#xff0c;因为市场上目前没有4年期的存款期限。根据《大额存单管理暂行办法》大额存单期限包括1个月、3个月、6个月、9个月、1年、18个月、2年、3年和5年共9个品种&#xff0c;就是没有4年期的&#xff0c;普通…

STC单片机程序下载失败总结

STC单片机下载失败总结 ——PurpleSword STC为宏晶公司推出的国产51单片机&#xff0c;其优点在于价格低廉&#xff0c;功能强大&#xff0c;使用方便&#xff0c;尤其是其串口ISP下载程序的方式方便了大量用户&#xff0c;免去了购买昂贵的编程器&#xff0c;非常适合单片机…

我国经济最强的城市是哪个?北京、上海、还是深圳?

单论经济规模的话&#xff0c;最强的城市当属上海&#xff0c;若论经济质量的话&#xff0c;最强的是深圳市。目前上海是我国经济综合实力最强的。经济综合实力&#xff0c;可以从几个方面来评价&#xff0c;一个GDP规模&#xff0c;二个是财政收入&#xff0c;三个是进出口量&…

目前我国负债超过100万的大概有多少人?

说到负债&#xff0c;估计大家都不陌生&#xff0c;目前很多中国人都有负债&#xff0c;少的几千块钱&#xff0c;多的上千亿都有。目前我国居民负债比较高&#xff0c;而且增长较快十年前&#xff0c;如果说起家庭负债&#xff0c;人们往往用“美国老太太贷款买房提前享受、中…

拉5000万存款,银行客户经理能拿40万奖金?

我们都知道银行富得流油&#xff0c;在银行工作的人一般都是学历&#xff0c;高收入的人群&#xff0c;这是一份让很多人羡慕的工作。比如下图是2017年部分上市银行人均薪酬统计情况&#xff1a;从这个统计结果可以看出&#xff0c;银行薪酬是非常丰厚的&#xff0c;在26家上市…

未来人口出现负增长后,我国的房价何去何从?

未来中国的房价会朝向哪里&#xff1f;是涨还是跌&#xff0c;这个都是很多人关心的问题&#xff0c;但是房价具体会怎么发展没人能给出一个准确的答案。但是你要是去问房地产界的人&#xff0c;很多都会给出这样的答案&#xff1a;短期看金融、中期看土地、长期看人口。也就是…

50万块钱,在哪个银行存钱最合适?

现在又到年底了&#xff0c;大家辛苦一年时间&#xff0c;该分红的分红&#xff0c;该领奖金的领奖金&#xff0c;所以大家的腰包都鼓起来了&#xff0c;腰包鼓起来之后&#xff0c;相信很多人想到的是去理财&#xff0c;而对于那些风险能力承受比较低的人来说把钱存进银行是最…

信用卡超过还款日还款就算不良征信?这么做可以避免逾期!

小编有一个朋友&#xff0c;他的信用记录一直非常好&#xff0c;无论是贷款还是信用卡&#xff0c;一直都按时还款&#xff0c;而且每次都是提前好几天还&#xff0c;从来没有逾期过。不过元旦期间他去旅游&#xff0c;可能是玩的太嗨&#xff0c;忘记了1号是他的还款日&#x…

支付宝18年账单已出,你消费了多少钱?

我2018年在支付宝上只消费了23678元&#xff0c;严重拖全国人民的后腿&#xff01;等了一个星期&#xff0c;支付宝2018年的年度账单终于出来的&#xff0c;2018支付宝年账单统计日期为2018年1月1日-2018年12月31日。账单首页显示2018年你在深夜打开支付宝的天数&#xff0c;向…

2019年最新银行存款利息,有的银行最高给到5.45%

2019年1月4日央行宣布降准1个百分点&#xff0c;15日降准0.5%&#xff0c;20日再降准0.5%。这个消息对于资本市场来说绝对是个利好消息&#xff0c;特别是对于股市和楼市更是利好&#xff0c;所以我们看到很多楼市、股市的从业人员都是一片欢呼。不过央行降准对于存款市场来说可…

Best Free Network Performance Test tool – Iperf

According to wikipedia Iperf “is a commonly used network testing tool that can create TCP and UDP data streams and measure the throughput of a network that is carrying them. Iperf is a modern tool for network performance measurement written in C.” This t…

51单片机程序下载、ISP及串口基础知识

本文详细介绍了串口、51单片机的ISP下载等基础知识&#xff0c;已经学过单片机的也可以看看&#xff0c;加强一下对这方面的了解。串口串行接口简称串口&#xff0c;也称串行通信接口&#xff0c;是采用串行通信方式的扩展接口。我们比较熟悉的USB接口&#xff0c;全名通用串行…

世界排名前20的大学毕业生去做银行柜员,柜员工资是不是很高?

说到银行柜员估计很多人都五味杂陈&#xff0c;特别是做过银行柜员的更知道其中的酸甜苦辣。柜员表面看起来是在银行工作&#xff0c;但做却做的是最基层的工作&#xff0c;每天要处理各种琐碎的事情&#xff0c;还要分到各种任务&#xff0c;每个月面临各种考核&#xff0c;每…

中国房地产市值已经超过450万亿,为何还不见房价下跌?

大家都知道&#xff0c;目前我国的房价比较高&#xff0c;特别是在北上广深等城市&#xff0c;一平米动不动就五六万块钱&#xff0c;贵的甚至十几万都有&#xff0c;房价已经远远超过普通老百姓的承受范围&#xff0c;所以很多老百姓只能望房兴叹。目前我国的房地产市值已经超…

51单片机使用定时器进行数码管动态扫描程序

数码管是51单片机学习中比较基础的一个模块&#xff0c;为简化电路连接&#xff0c;提高系统可靠性&#xff0c;降低制造成本&#xff0c;多位数码管广泛采用动态扫描的方式进行显示。如果程序编写不当&#xff0c;数码管动态扫描容易出现亮度不均匀、亮度过低、重影等现象。很…

Gartner Magic Quadrant for Enterprise Network Firewall (2018,2017,2016,2015,2014,2013,2011,2010)

Based on Gartner’s definition, the enterprise network firewall ” is composed primarily of purpose-built appliances for securing enterprise corporate networks. Products must be able to support single-enterprise firewall deployments and large and/or comple…

avr-gcc中关于delay延时函数的应用修改版[ourdev]

在51中我们的延时函数都是自己编写的&#xff0c;无论是在汇编中还是在C言语中。虽然有模板&#xff0c;有时还是有点烦。呵呵。不过在应用avr 单片机的时候我们就有福了。因为avr-gcc 提供给我们很方便的delay 延时函数, 只有在源文件包含&#xff1a; #include <util/dela…

最后半天时间,支付宝等第三方支付机构备付金必须100%上交

这几天支付宝、微信等第三支付机构备付金100%上交央行的新闻相信大家已经看到很多&#xff0c;对于备付金可能大家都不是很了解&#xff0c;甚至很多人认为这是不是银行又跟支付宝等第三方支付机构过意不去了&#xff0c;今天我们就带大家来了解下事情的经过以及真相。央行铁令…