- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于8051单片机的数字电压表的设计与制作推荐
设计一
基于8051单片机的数字电压表的设计与制作
设计目的:
(1).掌握A/D、D/A转换与单片机接口连接的方法;
(2).了解A/D芯片ADC0809、D/A芯片DAC0832的转换性能及编程方法;
(3).通过实验了解单片机系统中扩展A/D、D/A转换芯片的方法,学会和掌握用单片机进行数据采集;
二、设计要求:
将实验箱DJ598上的ADC0809作为A/D转换器,用实验箱上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,在利用DAC0832 D/A数模转换器输出,通过数码管显示出结果,构成一个简易数字电压表。
设计内容:
使用ADC0809的0通道(IN0),进行0~5V直流电压的A/D转换,并通过DAC0832输出相似的电压值。 0通道的电压输入由实验箱模拟量产生模块的电位器调整,电压测试点为AOUT1。顺时针旋转,电压增大,最大5V;逆时针旋转电压减小,最小为0V。将DAC0832得AOUT 的输出接数字电压表,使DAC0832的输出电压为0~5V。实验中采用延时方式或查询方式等待A/D转换结果。
三、实验电路:
1.单片机与ADC0809实验接线图
2.程序控制清单
对ADC0809的0通道(IN0)进行A/D转换,并把转换结果通过DAC0832输出。采用延时方式等待A/D转换结束,电压输入值由电位器调整。
ORG 0000H
DAC0832 EQU 0FF90H
ADC0809_0 EQU 0FF80H
LJMP START
ORG 0100H
START: MOV SP, #60H
MOV P2, #0FFH
MOV A, #81H
MOV DPTR, #0FF23H
MOVX @DPTR, A ;初始化显示缓冲区
MOV 7EH, #00H
MOV 7DH, #08H
MOV 7CH, #00H
MOV 7BH, #09H
MOV 7AH, #10H
MOV 79H, #10H
LO18:LCALL SSEE ;显示A/D转换的结果
MOV DPTR,#ADC0809_0
MOV A,#00H
MOVX @DPTR,A ;启动A/D转换
MOV R7,#0AH
DELAY: NOP ;延时100μS,等待A/D转换结束
NOP
NOP
DJNZ R7, DELAY
NOP ;读取A/D转换的结果
MOVX A, @DPTR
NOP ;可在此处设置断点,观察累加器A中
MOV DPTR, #DAC0832
MOVX @DPTR, A
NOP ;将结果写入DAC0832转换成电压输出,可测量输出点AOUT
;可在此设置断点,比较AOUT1和AOUT得值是否相同
MOV R0, #79H
LCALL PTDS ; 送累加器A中A/D转换的值到显示缓冲区
SJMP LO18
ORG 05D0H
PTDS: MOV R1, A ;拆送累加器A中A/D转换的值显示缓冲区
ACALL PTDS1
MOV A, R1
SWAP A
PTDS1: ANL A, #0FH
MOV @R0, A
INC R0
RET
ORG 0D50H ;显示A/D转换的值子程序
SSEE: SETB RS1 ;切换工作区
MOV R5, #05H
SSE2: MOV 30H, #20H
文档评论(0)