单片机课程设计报告电压表附程序资料文档格式.docx

上传人:b****4 文档编号:7756825 上传时间:2023-05-09 格式:DOCX 页数:12 大小:108.40KB
下载 相关 举报
单片机课程设计报告电压表附程序资料文档格式.docx_第1页
第1页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第2页
第2页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第3页
第3页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第4页
第4页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第5页
第5页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第6页
第6页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第7页
第7页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第8页
第8页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第9页
第9页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第10页
第10页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第11页
第11页 / 共12页
单片机课程设计报告电压表附程序资料文档格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机课程设计报告电压表附程序资料文档格式.docx

《单片机课程设计报告电压表附程序资料文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程设计报告电压表附程序资料文档格式.docx(12页珍藏版)》请在冰点文库上搜索。

单片机课程设计报告电压表附程序资料文档格式.docx

对于一个模拟输入,现将其放大2.4倍,然后由AD输入并相应转化,如果它的输出要是小于0.5V,也就是19H,则选择此档位是不精确的,也说明此时的输入电压介于0~200mV之间。

那么我们就需要让P1.2置低电平,将相应的放大倍数改成25以提高转换精度。

若其满足相应的条件则直接将其转换成BCD码并直接送数显示即可。

实验中用到了模数转换器ADC0832,其引脚图如右图所示,ADC0832是8位逐次逼近型A/D转换器,单一正5V电源供电,

为片选,CLK提供串行输入/输出时钟信号,DO用于串行数字输出,CHO和CHl为双通道模拟输入端,它可用软件设定为单端或差分输人。

在差分方式中,通道口地址的选择由DI逐位输入,GND是数字、模拟公共地,

)为芯片电源、参考电压公共端。

为低电平时启动转换,使所有逻辑电路使能,此时DO端为高阻,DI端等待指令,

在整个转换过程中必须置为低。

然后使DI端输入第一个逻辑高电平表示起始位,ADC0832的输入配置在多路器寻址时序中进行,多路器地址通过DI端移入转换器,多路器地址选择模拟输入通道。

DI端的数据移入多路器地址移位寄存器是在每个时钟的上升跳变时发生的,因此每次向DI端置入一位数据时,在CLK端输出一个从0到1的跳变。

然后CLK端输入第2个、第3个脉冲进行通道选择,第3个脉冲的下降沿开始转换,DI端转为高阻状态,DO端脱离高阻状态,CLK端输入第4个脉冲的下降沿开始读取DO端的一位数据,依次类推,从第4个到第11个脉冲共读取8位数。

ADCO832在输出端以最高位(MSB)开头的数据流后,又以最低位(LSB)开头重输出一遍数据流,最低位共用。

这样便实现了AD转换,其转换后的数字量输入到8951。

ADC0832工作时序图如下所示:

3、程序流程图

4、程序

ORG0000H

MAIN:

CLRP1.2;

初始化

SETBP1.4;

P1.4置1,使74HC573工作

TEST:

MOVSP,#60H

ACALLDELAY;

调用延时程序

ACALLCONV;

调用AD转换程序

ACALLJUDGE;

调用BCD转换程序

ACALLDISPLAY;

调用显示程序

LJMPTEST

CONV:

SETBP3.0;

初始化通道选择

CLRP3.2

NOP

CLRP3.3;

拉低/CS端

SETBP3.2;

拉高CLK端

CLRP3.2;

拉低CLK端,形成下降沿

SETBP3.0

SETBP3.2;

拉低CLK端,形成下降沿2

CLRP3.0;

1-0选择1通道

拉低CLK端,形成下降沿3

MOVR7,#8;

准备送下后8个时钟脉冲

RECEIVE:

MOVC,P3.1;

接收数据

MOVACC.0,C

RLA;

左移一次

SETBP3.2

形成一次时钟脉冲

DJNZR7,RECEIVE;

循环7次

SETBP3.3;

拉高/CS端

拉低CLK端

SETBP3.1;

拉高数据端,回到初始状态

MOV30H,A;

转换后的数字量存入30H

RET

JUDGE:

CJNEA,#19H,LOOP;

判断电压是否等于200mV

SJMPBCDCON1;

等于200mV时采用小量程显示程序

LOOP:

JCBCDCON1;

小于200mV时采用小量程显示

SJMPBCDCON2;

大于2200mV时采用大量程显示

DONE:

RET

BCDCON2:

;

大量程

SETBP1.2

MOVA,30H

MOVB,#7FH

DIVAB

ADDA,#0AH;

调整地址偏移量

MOV40H,A;

BCD码最高位送40H

MOVA,B;

低位送A

MOVB,#0DH

MOV41H,A;

BCD码次高位送41H

MOVA,B

CJNEA,#0AH,LOOP1;

余数大于10时,将其调整为9,避免取到带小数点的字型码

MOVA,#09H

SJMPX

LOOP1:

JCX

X:

MOV42H,A;

BCD码低位送R3

BCDCON1:

小量程

CLRP1.2

MOVB,#0AH

MULAB;

将其数字量扩大十倍,之后采用跟大量程时相似的算法

MOV31H,B

ORLA,31H

BCD码高位送40H

MOVB,#0CH

CJNEA,#0AH,LOOP2

SJMPY

LOOP2:

JCY

Y:

MOV41H,A;

MOV42H,B;

BCD码低位送42H

DISPLAY:

SETBP1.5

SETBP1.6

SETBP1.7

MOVDPTR,#TAB1

MOVA,40H

MOVCA,@A+DPTR;

查字形表

MOVP0,A;

P0口送字形

CLRP1.4

SETBP1.4

CLRP1.5

ACALLDELAY

MOVDPTR,#TAB1

MOVA,41H

MOVP0,A

CLRP1.4;

P0口作字形

CLRP1.6

MOVA,42H

CLRP1.7

RET

TAB1:

DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H

DB0FDH,61H,0DBH,0F3H,67H,0B7H,0BFH,0E1H,0FFH,0F7H

DELAY:

MOVR3,#03H

DELAY1:

MOVR4,#0FFH

DELAY2:

DJNZR4,DELAY2

DJNZR3,DELAY1

END

5、扩展

将示波器接在ADC0832的DO端从波形可看出转换之后的数字量,波形如图所示,上图为DO端输出量,下图为时钟脉冲。

由图可以看出,第四个时钟脉冲开始读取准换后的数字量,则对应的数字量为01101110

  

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2