数字温度计的设计与制作课程设计

上传人:mg****2 文档编号:134325626 上传时间:2020-06-04 格式:DOC 页数:20 大小:15.01MB
返回 下载 相关 举报
数字温度计的设计与制作课程设计_第1页
第1页 / 共20页
数字温度计的设计与制作课程设计_第2页
第2页 / 共20页
数字温度计的设计与制作课程设计_第3页
第3页 / 共20页
数字温度计的设计与制作课程设计_第4页
第4页 / 共20页
数字温度计的设计与制作课程设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《数字温度计的设计与制作课程设计》由会员分享,可在线阅读,更多相关《数字温度计的设计与制作课程设计(20页珍藏版)》请在金锄头文库上搜索。

1、 .单片机原理及应用课程设计 页脚数字温度计的设计与制作数字温度计的设计与制作数字温度计1. 设计任务与要求1.1 设计要求1、设计一个能显示当前环境温度的数字温度计;2、拟定设计步骤和测试方案;3、根据设计要求和技术指标设计好电路,选好元件及参数;4、绘出原理图,画出 PCB 图,并制出实物;5、撰写设计报告;6、预留相关技术指标的测试端口。2. 总体方案设计概述2.1 系统总体方案设计本设计以检测温度并显示温度为目的,按照系统设计功能的要求,确定系统由三个模块组 成:主控器、测温电路、显示电路。系统以 STC12C5404AD 为主芯片,对热敏电阻传入的温度值进行处理,由单片机程序控制,

2、将处理后的温度用四位一体的数码管显示出来。2.2 各功能模块2.2.1 温度检测由热敏电阻感知环境温度,改变自身阻值,通过分压法来测出电压值,从而测出温度 大小。2.2.2 温度显示将数据用四位一体数码管显示,处理过程主要由单片机程序控制3. 硬件系统设计3.1 总体电路设计总电路原理图和 PCB 图如下- 1 -数字温度计的设计与制作- 2 -数字温度计的设计与制作3.2 主控制器 STC12C5404ADSTC12C5410 系列单片机是单时钟/机器周期的兼容 8051 内核单片机,是高速/低功耗的新 一代 8051 单片机,全新的流水线/精简指令集结构,内部集成 MAX810 专用复位电

3、路。3.3 测温电路工作原理3.3.1 测温电路的选择恒流源法- 3 -数字温度计的设计与制作电桥法:精度高但电路较为复杂分压法:电路简单但精度差 综合考虑,本设计选择分压法 下图为本实验测温电路原理图分压电路 ADC7热敏电阻 R14,R16 不能太大,否则会分流- 4 -数字温度计的设计与制作3.4 显示电路工作原理数码管驱动电路如图所示4 个三极管所在电路为数码管位选端驱动电路,端口分别为 W1,W2,W3,W4。 其余 A-H 为数码管段选段3.5 下载电路电脑 USB 接口供电,约 5V。TXD、RXD 接口用于下载程序。- 5 -数字温度计的设计与制作4. 程序设计#include

4、 reg51.h #include intrins.h #include math.htypedef unsigned char BYTE; typedef unsigned int WORD;/*Declare SFR associated with the ADC */ sfr AUXR = 0x8e;sfr ADC_CONTR = 0xC5; /ADC control registersfr ADC_DATA = 0xC6; /ADC high 8-bit result register sfr ADC_LOW2 = 0xBE; /ADC low 2-bit result registe

5、r sfr P1M0 = 0x91; /P1 mode control register0sfr P1M1 = 0x92; /P1 mode control register1#define ADC_POWER 0x80 /ADC power control bit #define ADC_FLAG 0x10 /ADC complete flag #define ADC_START 0x08 /ADC start control bit #define ADC_SPEEDLL 0x00 /1080 clocks #define ADC_SPEEDL 0x20 /810 clockssbit p

6、oint = P37;/小数点sbit W1= P32;/数码管位选sbit W2= P33;sbit W3= P34;sbit W4= P35;#define ADC_SPEEDH 0x40 /540 clocks #define ADC_SPEEDHH 0x60 /270 clocksvoid Delay(WORD n); void InitADC();void delay_s(unsigned int N);void display(unsigned char num,unsigned x); void display_num(unsigned int num);void get_dat

7、a();unsigned char tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/0x84,0xf5,0x89,0xc 1,0xf0,0xc2,0x82,0xe5,0x80,0xe0 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90float wendu;unsigned int temp = 0; float R=0;unsigned char flag=0;BYTE ch = 7; /ADC channel NO.- 6 -数字温度计的设计与制作void main()InitA

8、DC(); /Init ADC sfr AUXR |= 0x10; /set EADCIIE = 0xa0; /Enable ADC interrupt and Open master interrupt switchwhile (1)display_num(wendu);/*-ADC interrupt service routine-*/ void adc_isr() interrupt 5 using 1flag+;ADC_CONTR &= !ADC_FLAG; /Clear ADC interrupt flagtemp=ADC_DATA; temp=temp2; temp=temp|A

9、DC_LOW2;if(flag=10)flag=0;if(temp451)/TEMP = 10240/(R+10)wendu=(42.16-11059.2/temp)*100;/-720c;38.3988K12.69K,TEMP(211,451) T=31.36-1.08*Relse if(451=temp=518)wendu=(61.91-18944.0/temp)*100;/20 25c;12.65k,10kTEMP(451,512) T=43.41-1.85*Relse if(512=temp=655)wendu=(96.87-37478.4/temp)*100;/26 40c;9.57

10、62k,5.734kTEMP(523,651) T=60.269-3.66576*Relse if(655=temp=800)wendu=(149.53-72089.6/temp)*100; /41 60c;5.54.5k,2.825kTEMP(659,798) T=79.134-7.04*Relsewendu=(291.23-185856.0/temp)*100; /61 90c;2.7762k 1.236kTEMP(801,911) T=109.731-18.147*R- 7 -数字温度计的设计与制作ADC_CONTR = ADC_POWER | ADC_SPEEDHH | ADC_STA

11、RT | ch;void InitADC( )P1 = P1M0 = P1M1 = 0xff; /Set all P1 as Open-Drain mode ADC_DATA = 0; /Clear previous resultADC_CONTR = ADC_POWER | ADC_SPEEDL | ADC_START | ch; Delay(2); /ADC power-on delay and Start A/D conversionvoid SendData(BYTE dat)while (!TI); /Wait for the previous data is sent TI = 0

12、; /Clear TI flagSBUF = dat; /Send current datavoid get_data()float val=0.0;float r = 0.0;temp = ADC_DATA;temp2;temp = temp|ADC_LOW2 ;wendu=(35.28-1.1*r)*10;/35.28-1.1*10240/TEMP+1146.28-11264/TEMPvoid Delay(WORD n)WORD x;while (n-)x = 5000;while (x-);void delay_s(unsigned int N)while(N-);void display(unsigned char num,unsigned x)- 8 -数字温度计的设计与制作switch(x)case 1:W1=0;W2=1;W3=1;W4=1;point=1; P1=tabnum;break; case 2:W1=1;W2=0;W

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号