北交单片机课程设计报告温度计Word格式文档下载.docx

上传人:b****5 文档编号:19616070 上传时间:2023-01-08 格式:DOCX 页数:16 大小:566.49KB
下载 相关 举报
北交单片机课程设计报告温度计Word格式文档下载.docx_第1页
第1页 / 共16页
北交单片机课程设计报告温度计Word格式文档下载.docx_第2页
第2页 / 共16页
北交单片机课程设计报告温度计Word格式文档下载.docx_第3页
第3页 / 共16页
北交单片机课程设计报告温度计Word格式文档下载.docx_第4页
第4页 / 共16页
北交单片机课程设计报告温度计Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

北交单片机课程设计报告温度计Word格式文档下载.docx

《北交单片机课程设计报告温度计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《北交单片机课程设计报告温度计Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

北交单片机课程设计报告温度计Word格式文档下载.docx

学时安排(天)

1

方案论证和系统设计

2

完成电路仿真,写预习报告

3

电路调试

4

写设计总结报告与答辩

合计

5

设计调试地点:

电气楼410

2.执行要求

微机原理与接口技术课程成绩优秀的可以自拟题目,其余的同学都是指定题目。

,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。

严禁抄袭,严禁两篇设计报告雷同。

第一章系统方案设计

整体设计思路

1.本实验要求温度计的范围-10℃~100℃,并且显示两位小数,所以我们需要四个LED,前两个显示温度的整数部分,后两个显示小数部分,根据给出的元件,我们用AD590做温度传感器,可以把绝对温度转换成电压电流信号。

2.把得到的电压电流信号输入0832以后得到数字信号,即为要采样接收的数据,根据要求,所测温度为-10℃~100℃,则温度每变化一摄氏度输出电压变化10mv,又根据0度时输出电压为2.73V得出电压的变化范围是2.63V-3.73V。

这是采集到的数据为:

2.73*255/5=139

3.那么实际的温度计算公式为:

(采集到的数据-139)*5*100/255。

温度为正时:

高八位放在B中,除以10得到的商为十位数,余数为各位;

低八位放在A中,除以10,商为第一位小数,余数为第二位小数。

温度为负值:

高八位的数小于10放在个位数字,十位数显示符号,得到的低八位放在A中,,除以10,商为第一位小数,余数为第二位小数。

由此就得到了所要显示的温度。

4.第一个LED的字形地址偏移量放在40H,将40H送入P0.5;

第二个LED的字形地址偏移量放在41H,将40H送入P0.4;

第三个LED的字形地址偏移量放在42H,将40H送入P0.3;

第四个LED的字形地址偏移量放在43H,将40H送入P0.2。

由此得到的整体框架图为:

初始化

温度显示

主要元件的相关资料

一.所用芯片以及器件:

80S51、AD590、ADC0832、74HC245、电阻若干、二极管若干、三极管若干、七段数码管

二.所用器件的相关介绍

1.AD590参数介绍

(1)流过器件的电流(μA)等于器件所处环境的热力学温度(开尔文)度数:

Ir/T=1

(1)

式中,Ir—流过器件(AD590)的电流,单位为μA;

T—热力学温度,单位为K;

(2)AD590的测温范围为-55℃~+150℃;

(3)AD590的电源电压范围为4~30V,可以承受44V正向电压和20V反向电压,因而器件即使反接也不会被损坏;

(4)输出电阻为710mΩ;

(5)精度高,AD590在-55℃~+-150℃范围内,非线性误差仅为±

0.3℃。

对于为什么使用10K欧电阻

而AD590输出端输出电流,经过10K的电阻,转换为电压值。

OP07为一射极跟随器,A=1,用于提高输入阻抗。

两个二极管用于隔离干扰。

电流-电压转换公式如下:

AD590的灵敏度:

经过10K电阻后:

故10K的电阻用来使精度达到0.1

2.ADC0832引脚介绍

CS———片选端,低电平有效。

CH0,CH1———两路模拟信号输入端。

DI———两路模拟输入选择输入端。

DO———模数转换结果串行输出端。

CLK———串行时钟输入端。

VCC/REF———正电源端和基准电压输入端。

GND———电源地

ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。

其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。

芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。

通过DI数据输入端,可以轻易的实现通道功能的选择。

正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。

但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。

当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。

当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。

此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。

在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。

在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能

当CS由高变低时,选中ADC0832。

在时钟的上升沿,DI端的数据移入ADC0832内部的多路地址移位寄存器。

在第一个时钟期间,DI为高,表示启动位,紧接着输入两位配置位。

当输入启动位和配置位后,选通输入模拟通道,转换开始。

转换开始后,经过一个时钟周期延迟,以使选定的通道稳定。

ADC0832接着在第4个时钟下降沿输出转换数据。

数据输出时先输出最高位(D7~D0);

输出完转换结果后,又以最低位开始重新输出一遍数据(D7~D0),两次发送的最低位共用。

当片选CS为高时,内部所有寄存器清0,输出变为高阻态。

如果要再进行一次模/数转换,片选CS必须再次从高向低跳变,后面再输入启动位和配置位。

3.89S51引脚图以及介绍

89S51管脚图

89S51管脚的作用及其工作原理

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;

当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

第二章仿真

实验原理图:

仿真结果

负温度

正温度

PCB

实验程序

ADDIBITP3.0;

伪指令

ADDOBITP3.1

ADCLKBITP3.2

ADCSBITP3.3

LED1EQU40H;

第一个LED的字形地址偏移量放在40H

LED2EQU41H;

第一个LED的字形地址偏移量放在41H

LED3EQU42H;

第一个LED的字形地址偏移量放在42H

LED4EQU43H;

第一个LED的字形地址偏移量放在43H

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOVSP,#60H

MOVR4,#5

TEST:

LCALLADC0832;

调用AD转换程序

LCALLBCDCON;

调用数值转换程序

LP:

LCALLDISPLAY;

调用显示程序

DJNZR4,LP

SJMPTEST

ADC0832:

SETBADDI;

初始化通道选择

CLRADCLK

NOP

CLRADCS;

拉低/CS端

SETBADCLK;

拉高CLK端

CLRADCLK;

拉低CLK端,形成下降沿

SETBADDI

拉低CLK端,形成下降沿2

CLRADDI;

1-0选择1通道

拉低CLK端,形成下降沿3

MOVR7,#8;

准备送下后8个时钟脉冲

AD1:

MOVC,ADDO;

接收数据

MOVACC.0,C

RLA;

左移一次

SETBADCLK

形成一次时钟脉冲

DJNZR7,AD1;

循环7次

SETBADCS;

拉高/CS端

拉低CLK端

SETBADDO;

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

MOV30H,A;

数据放在30H

ADDA,#7

MOV30H,A

RET

BCDCON:

CLRC

SUBBA,#139;

与0摄氏度作判断

JNCABOVEZERO;

有借位往下执行,没有借位跳转ABOVEZERO

BELOWZERO:

MOVA,#139

SUBBA,30H

MOVB,#05H

MULAB

MOVB,#64H

MOVR1,A

MOVA,B

MOVB,#0AH

DIVAB

MOVLED1,0AH;

最高位显示负号

MOVLED2,B;

显示个位

MOVA,R1

MOVLED3,A;

显示第一位小数

MOVLED4,B;

显示第二位小数

ABOVEZERO:

MOVLED1,A;

显示十位

DISPLAY:

;

显示子程序

SETBP0.2

SETBP0.3

SETBP0.4

SETBP0.5

MOVDPTR,#TAB

MOVA,40H

MOVCA,@A+DPTR;

查字形表

MOVP2,A;

P2口作字形,P0口做字位

CLRP0.5;

ACALLDELAY

SETBP0.5;

MOVA,41H

MOVP2,A

SETBP2.7

CLRP0.4

MOVA,42H

CLRP0.3

MOVA,43H

MOVCA,@A+DPTR

CLRP0.2

DELAY:

MOVR7,#01H

DELAY1:

MOVR6,#0FFH

DELAY2:

DJNZR6,DELAY2

DJNZR7,DELAY1

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H

第三章调试

1.在本程序中,每次AD采样都得采样10次并求平均值,以达到减小误差更接近实际值的目的。

采样结束后将数字量与139(零度)相比较,然后转入相应的显示程序。

而显示程序共执行了255次,以达到延长显示时间防止示数显示出现跳跃等问题。

2.开始的时候不知道怎么设置温度显示数码管的小数点,后来,经过查阅资料,知道了在子程序现实中,第二个数码管显示的程序中加入SETBP2.7,便可以实现。

3.在实验过程中有些焊点没有焊实,导致数码管显示出现状况,后来将短接的焊点分开后,数码管显示正常.

第四章结论

经过仿真以及调试后,调节电位器可以调节数码管示数。

用打火机烧AD590,显示示数会大幅度升高。

室温下最终在数码管上实际显示可调数据为17.52-21.36

数码管上数据显示比较稳定

参考文献

[1]李维波,MATLAB在电气工程中的应用,中国电力出版社,2007

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

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1