单片机原理与应用课程设计温度控制系统Word文件下载.docx

上传人:b****1 文档编号:5763322 上传时间:2023-05-05 格式:DOCX 页数:23 大小:221.28KB
下载 相关 举报
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第1页
第1页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第2页
第2页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第3页
第3页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第4页
第4页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第5页
第5页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第6页
第6页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第7页
第7页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第8页
第8页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第9页
第9页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第10页
第10页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第11页
第11页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第12页
第12页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第13页
第13页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第14页
第14页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第15页
第15页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第16页
第16页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第17页
第17页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第18页
第18页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第19页
第19页 / 共23页
单片机原理与应用课程设计温度控制系统Word文件下载.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机原理与应用课程设计温度控制系统Word文件下载.docx

《单片机原理与应用课程设计温度控制系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计温度控制系统Word文件下载.docx(23页珍藏版)》请在冰点文库上搜索。

单片机原理与应用课程设计温度控制系统Word文件下载.docx

5.验收,交课程设计报告。

五、实习(实训)报告内容

目录

第一章摘要7

第二章芯片资料8

一、AT89C51单片机说明8

1、简介8

2、引脚说明8

3、引脚第二功能8

二、NTC负温度系数热敏电阻工作原理10

1、简介10

2、工作原理10

三、TLC549芯片11

1、概述11

2、工作原理11

3、工作时序图11

4.、应用接口及采样程序12

四、AT24C02芯片13

1、概述13

2、管脚配置管脚封装13

3、功能描述13

4、结构与寻址13

第三章项目设计14

一、设计电路图14

二、程序设计15

第四章总结报告19

第一章摘要

第二章芯片资料

一、AT89C51单片机说明

1、简介

89C51是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:

4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。

2、引脚说明

•VCC:

电源电压

•GND:

•P0口:

P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。

当对0端口写入1时,可以作为高阻抗输入端使用。

当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。

在这种模式下,P0口具有内部上拉电阻。

在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。

程序校验时需要外接上拉电阻。

•P1口:

P1口是一带有内部上拉电阻的8位双向I/O口。

P1口的输出缓冲能接受或输出4个TTL逻辑门电路。

当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。

当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。

•P2口:

P2是一带有内部上拉电阻的8位双向的I/O端口。

P2口的输出缓冲能驱动4个TTL逻辑门电路。

当向P2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。

作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。

P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX@DPTR)时,P2口送出高8位地址数据。

在这种情况下,P2口使用强大的内部上拉电阻功能当输出1时。

当利用8位地址线访问外部数据存储器时(例MOVX@R1),P2口输出特殊功能寄存器的内容。

当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。

•P3口:

P3是一带有内部上拉电阻的8位双向的I/O端口。

P3口的输出缓冲能驱动4个TTL逻辑门电路。

当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。

P3口同时具有AT89C51的多种特殊功能,具体如下

3、引脚第二功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2(外部中断0)

P3.3(外部中断1)

P3.4T0(定时器0)

P3.5T1(定时器1)

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

P3.7(外部数据存储器都选通)

图1单片机引脚图

•RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。

•ALE/:

当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。

当在Flash编程时还可以作为编程脉冲输出()。

一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。

但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。

•PSEN:

程序存储允许时外部程序存储器的读选通信号。

当AT89C52执行外部程序存储器的指令时,每个机器周期两次有效,除了当访问外部数据存储器时,将跳过两个信号。

•VPP:

外部访问允许。

为了使单片机能够有效的传送外部数据存储器从0000H到FFFH单元的指令,必须同GND相连接。

需要主要的是,如果加密位1被编程,复位时EA端会自动内部锁存。

当执行内部编程指令时,应该接到VCC端。

•XTAL1:

振荡器反相放大器以及内部时钟电路的输入端。

•XTAL2:

振荡器反相放大器的输出端。

二、NTC负温度系数热敏电阻工作原理

NTC是NegativeTemperatureCoefficient的缩写,意思是负的温度系数,泛指负温度系数很大的半导体材料或元器件,所谓NTC热敏电阻器就是负温度系数热敏电阻器。

它是以锰、钴、镍和铜等金属氧化物为主要材料,采用陶瓷工艺制造而成的。

这些金属氧化物材料都具有半导体性质,因为在导电方式上完全类似锗、硅等半导体材料。

温度低时,这些氧化物材料的载流子(电子和孔穴)数目少,所以其电阻值较高;

随着温度的升高,载流子数目增加,所以电阻值降低。

NTC热敏电阻器在室温下的变化范围在10O~欧姆,温度系数-2%~-6.5%。

NTC热敏电阻器可NTC热敏电阻器广泛用于测温、控温、温度补偿等方面.

2、工作原理

NTC(NegativeTemperatureCoefficient)是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料.该材料是利用锰、铜、硅、钴、铁、镍、锌等两种或两种以上的金属氧化物进行充分混合、成型、烧结等工艺而成的半导体陶瓷,可制成具有负温度系数(NTC)的热敏电阻.其电阻率和材料常数随材料成分比例、烧结气氛、烧结温度和结构状态不同而变化.现在还出现了以碳化硅、硒化锡、氮化钽等为代表的非氧化物系NTC热敏电阻材料.

图2NTC负温度系数热敏电阻温度范围

它的测量范围一般为-10~+300℃,也可做到-200~+10℃,甚至可用于+300~+1200℃环境中作测温用. 

负温度系数热敏电阻器温度计的精度可以达到0.1℃,感温时间可少至10s以下.它不仅适用于粮仓测温仪,同时也可应用于食品储存、医药卫生、科学种田、海洋、深井、高空、冰川等方面的温度测量.

三、TLC549芯片

1、概述

TLC548,TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,可与通用微处理器、控制器通过I/OCLOCK、CS、DATAOUT三条口线进行串行接口。

具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17􀀁

s,TLC548允许的最高转换速率为45500次/s,TLC549为40000次/s。

总失调误差最大为􀀁

0.5LSB,典型功耗值为6mW。

采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+-VREF-1V,可用于较小信号的采样。

TLC549均有片内系统时钟,该时钟与I/OCLOCK是独立工作的,无须特殊的速度或相位匹配。

其工作时序如图2所示。

当CS为高时,数据输出(DATAOUT)端处于高阻状态,此时I/OCLOCK不起作用。

这种CS控制作用允许在同时使用多片TLC548、TLC549时,共用I/OCLOCK,以减少多路(片)A/D并用时的I/O控制端口。

一组通常的控制时序为:

(1)将CS置低。

内部电路在测得CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后,然后确认这一变化,最后自动将前一次转换结果的最高位(D7)位输出到DATAOUT端上。

(2)前四个I/OCLOCK周期的下降沿依次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/OCLOCK下降沿开始采样模拟输入。

(3)接下来的3个I/OCLOCK周期的下降沿将

摘要:

TLC548、TLC549是采用LinCMOSTM技术,以开关电容逐次逼近原理工作的8位串行A/D

芯片。

单电源3V~6V供电范围,控制口线少,时序简单,转换速度快,功耗低,价格便宜,适用于低功耗的袖珍仪器上的单路A/D采样,也可将多个器件并联使用。

(4)最后,片上采样保持电路在第8个I/OCLOCK周期的下降沿将移出第6、7、8(D2、D1、D0)个转换位。

保持功能将持续4个内部时钟周期,然后开始进行32个内部时钟周期的A/D转换。

第8个I/OCLOCK后,CS必须为高,或I/OCLOCK保持低电平,这种状态需要维持36个内部系统时钟周期以等待保持和转换工作的完成。

如果CS为低时I/OCLOCK上出现一个有效干扰脉冲,则微处理器/控制器将与器件的I/O时序失去同步;

若CS为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。

在36个内部系统时钟周期结束之前,实施步骤

(1)-(4),可重新启动一次新的A/D转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结果而不是正在进行的转换结果。

若要在特定的时刻采样模拟信号,应使第8个I/OCLOCK时钟的下降沿与该时刻对应,因为芯片虽在第4个I/OCLOCK时钟下降沿开始采样,却在第8个I/OCLOCK的下降沿开始保存。

3、工作时序图

图3TLC549工作时序图

4.、应用接口及采样程序

TLC549可方便地与具有串行外围接口(SPI)的单片机或微处理器配合使用,也可与51系列通用单片机连接使用。

与51系列单片机的接口如图3所示。

其采样程序框图如图4所示,实际应用程序清单如下:

;

初始化:

SETBP1.2;

置CS为1。

CLRP1.0;

置I/OCLOCK为零。

MOVR0,#00H;

移位计数为零。

A/D过程:

A/DP:

CLRP1.2

NOP;

等待1.4􀀁

s,nop数根据晶振情况选择。

NXT:

SETBP1.0

MOVC,P1.1

RLCA

CLRP1.0

INCR0

CJNER0,#8,NXT

MOVR0,#00

SETBP1.2

MOVDTSVRM,A;

DTSVRM:

DATASAVERAM.

RET

TLC549片型小,采样速度快,功耗低,价格便宜,控制简单。

适用于低功耗的袖珍仪器上的单路A/D或多路并联采样。

四、AT24C02芯片

1、概述

AT24C02是一个2K位串行CMOSE2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。

AT24C02有一个16字节页写缓冲器。

该器件通过IIC总线接口进行操作,有一个专门的写保护功能。

2、管脚配置管脚封装

DIP:

双列直插式封装,是最简单的一种封装技术。

管脚名称功能A0、A1、A2器件地址选择SDA串行数据、地址SCL串行时钟WP写保护VCC+1.8V~6.0V工作电压VSS地

3、功能描述

AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。

任何从总线接收数据的器件为接收器。

数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。

主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。

AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。

SDA串行数据/地址AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。

A0、A1、A2器件地址输入端这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。

当使用AT24C02时最大可级联8个器件。

如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2)可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2)必须连接到Vss。

WP写保护如果WP管脚连接到Vcc,所有的内容都被写保护只能读。

当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作

4、结构与寻址

AT24C02的存储容量为2Kb,内容分成32页,每页8B,共256B,操作时有两种寻址方式:

芯片寻址和片内子地址寻址。

(1)芯片寻址:

AT24C02的芯片地址为1010,其地址控制字格式为1010A2A1A0R/W。

其中A2,A1,A0可编程地址选择位。

A2,A1,A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。

R/W为芯片读写控制位,该位为0,表示芯片进行写操作。

(2)片内子地址寻址:

芯片寻址可对内部256B中的任一个进行读/写操作,其寻址范围为00~FF,共256个寻址单位。

第三章项目设计

一、设计电路图

二、程序设计

**********************************

难点,EEPROM的读写

A/D数据读取

*************************************

WXEQUP3.5

DXEQUP3.6

AD_CSEQUP1.2

AD_CLKEQUP1.0

AD_DOEQUP1.1

RELAYEQUP1.3

SDAEQUP1.6

SCLEQUP1.5

TEMPEQU30H

TEMP_SEQU31H

SD_JGEQU32H;

闪动间隔

TEMP_TEQU33H;

采集数据暂存

SDEQU20H.0

SD_KGEQU20H.1

XS_IOEQUP0

KEY_IOEQUP2

***********************************

ORG0000H

AJMPMAIN

ORG000BH

AJMPAD_P

MAIN:

MOVDPTR,#TAB

MOVSP,#5FH

;

--------------------

LCALLW_START;

当前地址读

MOVA,#0A0H;

写设备地址,第0位为1为读

LCALLWRITE

MOVA,#01H;

写数据地址

LCALLW_START

MOVA,#0A1H;

写设备地址

LCALLREAD

MOVTEMP_S,A

LCALLW_STOP

---------------------

MOVSD_JG,#5

SETBSD

SETBSD_KG

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

SETBEA

SETBET0

SETBTR0

LOOP:

LCALLDISP

LCALLKEY_SCAN

JZLOOP

LCALLTZ_TEMP

AJMPLOOP

***************************AT24C02保存

W_START:

CLRSCL;

I2C总线通讯开始

LCALLS_NOP

SETBSDA

SETBSCL

CLRSDA

CLRSCL

RET

---------------

W_STOP:

结束

----------------------

WRITE:

MOVR3,#8;

逐位发送

W_NEXT:

CLRSCL

RLCA

MOVSDA,C

DJNZR3,W_NEXT

SETBSCL

-----------------------

READ:

逐位接收

R_NEXT:

LCALLS_NOP

MOVC,SDA

RLCA

DJNZR3,R_NEXT

-----------------------------

S_NOP:

NOP

TZ_TEMP:

CJNEA,#1,TZ_END

LP1:

JNZLP1

CLRSD_KG

LP2:

JZLP2

CJNEA,#1,TZ_INC

LP3:

JNZLP3

设置完毕,写入E2ROM

写入设备地址,第0位为0为写

写入数据地址

MOVA,TEMP_S;

写入数据

-------------------------

AJMPTZ_END

TZ_INC:

CJNEA,#2,TZ_DEC;

设置温度加一按钮0-99

LP4:

JNZLP4

MOVA,TEMP_S

CJNEA,#99,INC_NEXT

MOVTEMP_S,#0

AJMPLP2

INC_NEXT:

INCTEMP_S

TZ_DEC:

----设置温度减一按钮99-0

LP5:

JNZLP5

CJNEA,#0,DEC_NEXT

MOVTEMP_S,#99

DEC_NEXT:

DECTEMP_S

TZ_END:

******************************

AD_P:

PUSHACC

PUSHPSW

PUSHDPH

PUSHDPL

JBSD_KG,AD_NEXT1

DJNZSD_JG,AD_NEXT1

CPLSD

---------------------------

AD_NEXT1:

SETBAD_CS;

读取A/D转换数值,结果在A中

CLRAD_CLK

MOVR2,#8

CLRAD_CS

NEXT:

SETBAD_CLK

MOVC,AD_DO

DJNZR2,NEXT

SETBAD_CS

-------------------

MOVTEMP,#0;

温度查表

MOVTEMP_T,A

MOVA,#0

MOVDPTR,#TAB1

CX_LP:

MOVCA,@A+DPTR

CJNEA,TEMP_T,NEXT1

NEXT1:

JCNEXT5

AJMPNEXT6

NEXT5:

MOVA,TEMP

CJNEA,#99,NEXT7;

检查当前温度值是否超过99

NEXT7:

JCNEXT8

超出赋0

NEXT8:

INCTEMP

INCA

AJMPCX_LP

NEXT6:

MOVA,TEMP;

控制继电器部分

CJNEA,TEMP_S,NEXT2

NEXT2:

JCNEXT3

SETBRELAY

AJMPNEXT4

NEXT3:

CLRRELAY

NEXT4:

POPDPL

POPDPH

POPPSW

POPACC

RETI

*******************************

DISP:

JNBSD,D_NEXT

MOVB,#10;

显示设置温度

DIVAB

MOVXS_IO,#B

SETBWX

CLRWX

MOVXS_IO,A

SETBDX

CLRDX

LCALLDELAY

MOVA,B

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

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

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

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