单片机原理及应用课程设计.pdf.doc_第1页
单片机原理及应用课程设计.pdf.doc_第2页
单片机原理及应用课程设计.pdf.doc_第3页
单片机原理及应用课程设计.pdf.doc_第4页
单片机原理及应用课程设计.pdf.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2013 级单片机原理及应用课程设计数字温度计的设计与制作姓名 :宋昊明专业 :电子信息科学与技术学号 :201340620124指导教师 :周小波二零一五年十二月数字温度计的设计与制作数字温度计1. 设计任务与要求1.1 设计要求1、设计一个能显示当前环境温度的数字温度计;2、拟定设计步骤和测试方案;3、根据设计要求和技术指标设计好电路,选好元件及参数;4、绘出原理图,画出 PCB 图,并制出实物;5、撰写设计报告;6、预留相关技术指标的测试端口。2. 总体方案设计概述2.1 系统总体方案设计本设计以检测温度并显示温度为目的,按照系统设计功能的要求,确定系统由三个模块组 成:主控器、测温电路、显示电路。系统以 STC12C5404AD 为主芯片,对热敏电阻传入的温度值进行处理,由单片机程序控制, 将处理后的温度用四位一体的数码管显示出来。2.2 各功能模块2.2.1 温度检测由热敏电阻感知环境温度,改变自身阻值,通过分压法来测出电压值,从而测出温度 大小。2.2.2 温度显示将数据用四位一体数码管显示,处理过程主要由单片机程序控制3. 硬件系统设计3.1 总体电路设计总电路原理图和 PCB 图如下- 1 -数字温度计的设计与制作- 2 -数字温度计的设计与制作3.2 主控制器 STC12C5404ADSTC12C5410 系列单片机是单时钟/机器周期的兼容 8051 内核单片机,是高速/低功耗的新 一代 8051 单片机,全新的流水线/精简指令集结构,内部集成 MAX810 专用复位电路。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 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 register 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 point = 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_data();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()InitADC(); /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|ADC_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.5762k,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_START | 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; /Clear TI flagSBUF = dat; /Send current datavoid get_data()float val=0.0;float r = 0.0;temp = ADC_DATA;temp=0)q = num/1000; b = num/100%10; s = num/10%10; g = num%10; display(q,1); P1=0xff; display(b,2); P1=0xff; display(s,3); P1=0xff; display(g,4); P1=0xff;elsenum = 0-num; /q = num/1000; b = num/100%10; s = num/10%10; g = num%10; display(10,1); P1=0xff; display(b,2); P1=0xff; display(s,3); P1=0xff;- 9 -数字温度计的设计与制作display(g,4);P1=0xff;5. 制作过程 5.1选择测温度电路分压法 5.2选择及购买实验器材 5.3 设计实验原理图 5.4 PCB工程制图 5.5 制作电路板:打印打孔,泡溶液,焊接元器件,下载程序,检测调试,成品 5.6 制作后续材料 5,7 相关图片: - 10 -6.心得体会通过此次课程设计,使我更加扎实的掌握了单片机制作方面的知识,“纸上得来终觉浅,绝知此事要躬行” 在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了问题所在,也暴露出了我这方面的知识欠缺和经验不足。通过亲自动手制 作,使我们掌握的知识更佳灵活的运用。在这次的课程设计中不仅检验了我所学习的知识,也 培养了我如何去把握一件事情。在设计过程中,相互探讨,相互学习,相互监督。学会了合作,学会了相互学习。课程设计是我们专业课程知识综合应用的实践训练。在这次设计过程中,体现出自己单独设计能力以及综合运知识的能力,体会了学以致用、收获自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论