




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能温度控制器系别:电子信息工程专业:计算机控制技术班级:控制(一)班姓名:网学号:482011 年 11月29日数字温控器课程设计任务书1.设计要求(1)基本范围-50-110(2)精度误差小于0.1(3)LED数码直读显示2.扩展功能(1)实现语音报数(2)可以任意设定温度的上下限报警功能3.设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;4.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。5.答辩在规定时间内,完成叙述并回答问题。(一)引言(二)关键字(三)设计的题目(四)课程设计的基本要求(五)方案设计(六)系统设计方案及框图(七)数据信号的采集和处理(八)系统硬件电路(九)系统软件一、引言随着科技的不断发展,二十一世纪已经进入电子信息时代的轨道。为了能够更好的适应社会的发展和需要,学好电子方面的知识对于我们这些二十一世纪的大学生是尤为重要的,单片机更是如此。如此同时,设计新的电子产品对我们学校所学知识的一种掌握和巩固。许多情况下需要测量温度参数。通常测温系统的主要器件是热敏电阻,由于它体积小、重复性好、测量方法简单,所以在测温系统中广泛应用。但采用热敏电阻的测温系统需要A/D转换,而且测量温度不高。我们可以利用学习过的知识设计一个智能温度控制器。二、关键字单片机Lmo16L液晶显示器、AT89C51系列芯片、ADC0808系列芯片。三、设计题目智能温度控制器四、课程设计的基本要求1熟悉任务,分析课程要求,熟悉温度控制的原理,进行方案设计;掌握系统设计要领。2完成温度测控的设计。3相关知识:单片机原理、电子技术、数字(A/D)转换电路。4完成硬件电路设计和装调,编写程序实现其他功能;撰写课程设计报告。五、方案设计课程设计方法根据实验的要求设计出一套较为科学合理的实验方案,初步确定嫖和预期的结果,画出一份较为完整实验原理电路图,这也是实验前期的预备阶段。这一阶段的主要任务是准备好实验所需求的元件功能资料,其包括:画出方框图,查阅有关芯片的功能及引脚图;搞清楚各个元件的功能,画出实验草图。将各种方案进行可行性论证,然后确定实验方案。此次题目设计中的显示方式:利用LCD液晶进行相关数据的输显示。传感器选择:利用热敏电阻经过A/D转换后进行数据处理。六、系统设计方案及框图系统设计采用AT89C51单片机控件,LCD液晶显示当前温度和时间。ADC数字温度传感器负责把温度变化转换成控制器可以识别的数字量,然后通过芯片内部的总线上传给控制器。控制器将表征当前温度值的数字量处理后通过直观的LCD进行温度显示,同时可以通过键盘控制进行相应的操作,如设温度的上下限值等。AT89S51为核心、DS18B20为温度传感元件。只要在所设定的上下温度界限内,就会在显示设备中精确的显示出来,如果温度超过了所设定的温度上下限,就会自动发出报警信号。另外此温度控制器操作简单,灵敏度高,测温范围宽,一般能满足日常测温的需求。总体设计方框图如图所示 显示电路灯显电路测温电路(采集温度复位清零开关控制输入89C51单片机七、数据信号的采集和处理数据、温度信号的采集和处理,各引脚的功能如下所示:LCD液晶显示引脚功能表引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6ENE(或EN)端为使能(enable)端,下降沿使能。7D0D7数据线8VEE对比度的调节寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01都busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0.busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。 八、系统硬件电路1控制器内部结构本次采用51系列,具体型号为AT89C51,为8们微处理器CPU。拥有数据存储器RAM和功能寄存器SFR和内部程序存储器ROM。如下图:单片机的引脚图及各引脚的功能。(ALE) :地址索存(PSEN非):程序存储允许输出端(EA非):程序存储地址允许输入端(RST):复位信号输入端(XTAL1):接外部石英晶体和微调电容的一端。(XTAL2):接外部石英晶体和微调电容的另一端。P0P3是4个寄存器,也称为4个端口,是80C51单片机与外界联系的4个8位双向并行I/O口。P0口:是一个8位的准双向I/O口。P1、P2口:是一个带内部上拉电阻的8位准双向I/O口。P3口:也是一个带内部上拉电阻的8位准双向I/O口。具有第二功能(WR/RD不用时当I/O口用,发送和接收端)2控制器具体电路整个系统的控制部分主要完成对温度感应模块数据的读取和处理。如图所示,其中包含微控制器、LCD接口电路、端口上拉电阻、温度传感器模块接口电路。引脚结构ADC0808具有8路模拟量输入通道IN0IN7,通过3位地址输入端C、B、A(引脚23、24、25)进行选择。引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存与ADC0808内部的锁存器中,经内部译码电路译码选中相应的模拟通道。引脚6为启动转换控制端START,当输入一个2 us宽的高电平脉冲时,就启动ADC0808开始对输入通道的模拟量进行转换。引脚7为A/D转换的结束信号EOC。ADC0808为逐次比较型A/D转换器,当开始转换时,EOC信号为低电平,经过一定时间,转换结束,转换结束信号EOC输出高电平,转换结果存放与ADC0808内部的输出数据锁存器中。引脚9为A/D转换数据输出允许控制端OE,当OE为高电平时,存放与输出数据存储器中的数据通过ADC0808的数据线D0D7输出。ADC0808的内部逻辑结构九、系统软件1画图开始初始化调用A/D转换子程序调用显示子程序 图2主程序流程图*开始启动一次转换 EOC=1A/D转换结束 否 取数据(OE=0)0809地址通道加一地址数小于8 否是开始图3 A/D转换子程序流程图A/D转换子程序用于对ADC0808的输入模拟电压进行A/D转换,并将转换的数值存为8个相应的存储单元中,如图3所示2清单RSP1.2RWP1.1EP1.0(D0D7)P0口LEDP1.4KZP1.3ON0OFF1KEY0P1.6KEY1P1.7START、ALEP3.5EOCp3.3显示开关及光标设置: (初始化)0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),N=0(读或写一个字符后地址指针减1 &光标减1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置: 数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指=0)。写指令0cH 显示开及光标设置3.程序设计分析#include#include#define uchar unsigned char#define uint unsigned int#define ON 0#define OFF 1void delay_nms(int); /延时bit LCD_busy(); /LCD判断void LCD_write_cmdata(uchar); /LCD写命令void LCD_write_wodata(uchar); /LCD写数据void LCD_Init(); /LCD初始化void chartoasc2(uchar ss); /字节(无符号字符)型数据转ASC2吗void uinttoasc2(uint ss); /无符号整型数据转ASC2吗void timeadd(void); /时间进位程序uchar ad(uchar td); /AD转化程序float bdbhv(uchar ad_dat); /标度变换:转电压float bdbht(uchar ad_dat); /标度变换:转温度void tkz(); /温度测控uchar rkey(); /键扫描,返回键号void gnkey(); /键处理void timedir(); /时间显示void addir(); /AD数据显示void vindir(); /电压显示void tdir(); /温度显示void thdir(); /温度上限设定值显示/端口设置sbit LCD_RS=P12; /LCD数据/命令sbit LCD_RW=P11; /LCD读/写sbit LCD_EA=P10; /LCD使能sbit LCD_BF=P07; /LCD忙sbit AD_ST=P35; /AD启动sbit AD_OE=P34; /AD读sbit AD_EOC=P33; /AD转换结束sbit LED=P14; /指示灯sbit KZ=P13; /温度测控端sbit KEY0=P16; /键sbit KEY1=P17; uchar b1,b2,b3,b4; /中间变量uchar sec,min,hour;uchar AD_DAT; /AD转换结果uint TH,TL; /温度上下限int n; /时间系数uchar dis1= WELCOME TO ;uchar dis2= wo de cheng xu ;uchar dis3= WELCOME TO ;uchar dis4=zz tao xiao shou;/延时函数void delay_nms(int mS) uchar i;while(ms-)for(i=0;i=60) sec=0; min+; if(min=60) min=0; hour+; if(hour=24) hour=0; void timedir()LCD_write_cmdata(0xc0);chartoasc2(hour);LCD_write_wodata(b2);delay_nms(1);LCD_write_wodata(b3);delay_nms(1);LCD_write_wodata(:);delay_nms(1);chartoasc2(min);LCD_write_wodata(b2);delay_nms(1);LCD_write_wodata(b3);delay_nms(1);LCD_write_wodata(:);delay_nms(1);chartoasc2(sec);LCD_write_wodata(b2);delay_nms(1);LCD_write_wodata(b3);delay_nms(1);uchar ad(uchar td) uchar AD_DAT; / P3=td; AD_EOC=1; AD_ST=1; _nop_() ; _nop_() ; _nop_() ; AD_ST=0;while(AD_EOC=0);AD_OE=1;_NOP_() ;_NOP_() ;AD_DAT=P2;AD_OE=0;return(AD_DAT); void addir() LCD_write_cmdata(0x80); chartoasc2(AD_DAT);LCD_write_wodata(b1);delay_nms(1)LCD_write_wodata(b2);delay_nms(1);LCD_write_wodata(b3);delay_nms(1); float bdbhv(uchar ad_dat) float vin; vin=(float) ad_dat; vin=vin/51;return(vin);float bdbht(uchar ad_dat) float vin; vin=(float) ad_dat; vin=vin/2.55;return(vin);void vindir() float f1;f1=bdbhv(AD_DAT)*100;LCD_write_cmdata(0x84); uinttoasc2(f1);LCD_write_wodata(b2);delay_nms(1);LCD_write_wodata(b2);delay_nms(1);LCD_write_wodata(.);delay_nms(1);LCD_write_wodata(b3);delay_nms(1);LCD_write_wodata(b4);delay_nms(1);LCD_write_wodata(v);delay_nms(1);void tdir()float f1;f1=bdbht(AD_DAT)*10;LCD_write_cmdata(0x8a); uinttoasc2(f1);LCD_write_wodata(b1);delay_nms(1);LCD_write_wodata(b2);delay_nms(1);LCD_write_wodata(b3);delay_nms(1);LCD_write_wodata(.);delay_nms(1);LCD_write_wodata(b4);delay_nms(1);LCD_write_wodata(c);delay_nms(1); void tkz() if(bdbht(AD_DAT)= TH) KZ=OFF;LED=ON; else KZ=OFF;LED=OFF;Uchar rkey()uchar k; k=0; if(KEY0=0) k=1; else if(KEY1=0) k=2; return(k);void gnkey() switch(rkey() case 0:break; case 1:TH+; if(TH100) TH=100; break; case 2:TH-; if(TH=20) n=0; timeadd(); timedir(); /主函数 void main() uchar m; uchar ss; LCD_Init(); TMOD=0X21; TH0=60; TL0=176; TR0=1; TR1=1; EA=1; ET0=1; SCON=0X50; TH1=0XFD; TL1=0XFD; PCON=0X00; n=0; TH=80; LED=0FF; KZ=0FF; while(1) AD_DAT=ad(0); tkz(); addir(); vindir(); tdir(); timedir(); gnkey(); thdir(); scom(); while(1) while(TF0=0); TF0=0; TH0=60; T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训班穿刺课件
- 用工协议与劳动合同2篇
- 农副产品购销合同范本
- 建筑类招标流程培训课件
- 2025中信证券股份有限公司内蒙古分公司校园招聘笔试模拟试题含答案详解(a卷)
- 木工劳技课课件
- DB41∕T 1780-2019 中空玻璃门通.用技术条件
- 木兰诗课件简介
- 朗诵课件结束语简短
- 招聘需求培训课件怎么写
- 《汽车构造基础知识》课件
- DB15-T 4013-2025 -回转式空气预热器柔性密封改造技术导则
- 人教版小学数学四年级上册全册教案
- 全科医生题库-云南省基层卫生岗位练兵和技能竞赛试题
- 《立在地球边上放号》与《峨日朵雪峰之侧》比较阅读教学设计-统编版高一语文必修上册
- 运维安全管理措施
- 镁铝合金行业前景
- 煤炭工业矿井工程建设项目设计文件编制标准
- 5G-Advanced通感融合网络架构研究报告(第二版)
- 言语发音训练课件
- 中外航海文化知到课后答案智慧树章节测试答案2025年春中国人民解放军海军大连舰艇学院
评论
0/150
提交评论