- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目录
1 设计方案 1
2 设计总体框图 1
2.1 硬件部分 1
2.2 软件部分 2
2.2.1主程序设计 2
2.2.2 A/D转换子程序 3
2.2.3数据处理子程序 4
3 设计单元电路 5
3.1 模数转换单元 5
3.1.1 ADC0808引脚说明 5
3.1.2 ADC0808通道选择 6
3.1.3 ADC0808的工作原理: 6
3.2 数据处理及控制单元 7
3.3 4位一体七段数码管 8
4 电路原理说明 9
4.1 模数转换 9
4.2 数据处理及控制 10
5 参考文献 11
6 结论及心得 11
7 附录 12
7.1调试报告 12
7.2元器件清单 16
简易直流电压表的设计
1 设计方案
? 本主要采用AT8951芯片和ADC080芯片来完成一个简易的数字电压表,能够对输入的0~5 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示,测量误差约为0.02 V。该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC080来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片AT8951来完成,其负责把ADC080传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC080芯片的工作。显示模块主要由7段数码管组成,显示测量到的电压值。本实验采用AT8951单片机芯片配合ADC080模/数转换芯片构成一个简易的数字电压表,原理电路如图所示。该电路通过ADC080芯片采样输入口IN输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT8951芯片的P0口。AT8951负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口传送给数码管。同时它还通过其三位I/O口P3.0、P3.1、P3.2产生位选信号,控制数码管的亮灭。另外,AT8951还控制着ADC080的工作。其ALE管脚为ADC080提供了1MHz工作的时钟脉冲;P2.3控制ADC0808的地址锁存端(ALE);P2.4控制ADC0808的启动端(START);P2.5控制ADC0808的输出允许端(OE);P3.7控制ADC0808的转换结束信号(EOC)。系统框图如图2所示。电路原理图2 系统框图
2.2 软件部分
2.2.1主程序设计准备工作做好后便启动ADC0808对IN脚输入进的0~5V电压模拟信号进行数据采集并转换成相对应的0~255十进制数字量。
在数据处理子程序中,运用标度变换知识,编写算法将0~255十进制数字量转换成0.00~5.00V的数据,输出到显示子程序进行显示。整个主程序就是在A/D转换,数据处理及显示程序循环执行。整个程序流程框图如图所示。
图3 主程序流程图 A/D转换子程序
启动ADC0808对模拟量输入信号进行转换,通过判断EOC(P引脚)来确定转换是否完成,若EOC为0,则继续等待;若EOC为1,则把OE置位,将转换完成的数据存储到中。程序流程图如图所示。
图4 数据处理子程序流程图数据处理子程序ADC0808模块实现,它是典型的8位8通道逐次逼近式A/D转换器
3.1.1 ADC0808引脚说明
ADC0808芯片为28引脚双列直插式封装(1)IN0~IN7:8路模拟量输入通道。
(2)A、B、C:模拟通道地址线。这3根地址线用于对8路模拟通道的选择,其译码关系如表1-1所示。其中,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。
(3)ALE:地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。
(4)START:转换启动信号。START上升沿时,复位ADC0808;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST。
(5)D7~D0:数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高。
(6)OE:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。
(7)CLK:时钟信号。ADC0808的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号。
(8)EOC:转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。
(9)Vcc:+5V电源,GND:地。
(10)Vref:参考电压。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(
文档评论(0)