xx-20xx年单片机温度控制总结内容摘要:
,超调值大约为 %左右。 虽然超调为不利结果,但另一方面却减小了系统 的调节时间。 从其数据表可以看出该系统为稳定系统。 设计方案评价 优点 在硬件方面:本设计方案采用了单总线型数字式的温度传感器,提高了温度的采集精度,节约了单片机的口线资源。 方案还使用场效应管作加热控制器件,使设计简单化,且可靠性强。 在控制精度方面,本设计在不能确定执行机构的数学模型的情况下,大胆的假设小心的求证,利用模糊控制的算法来提高控制精度。 在软件方面:我们采用模块化编程,思路清晰,使程序简洁、可移植性强。 缺点 本设计方案虽然采用了当前市场最先进的电子器件,使电 路设计简单,但设计方案不是最佳。 本系统虽然具有较小的超调量,但加大了调节时间。 如果需要更高的控制精度,则我们的模糊控制将不适应,需要修改程序。 设计中加热控制方面存在遗憾,虽采用了场效应管控制加热,但不能使温度加热到限制温度时截止,需要更好的控制器件。 6 结论 本次实验采用了 C 语言编程方式,实现了温度的测量与控制,完全达到了本次实验的要求,更重要的是该实验的测量误差小于 1℃ 度,控制精度小于 ℃度,已基本实现本实验扩展部分的要求。 它可以广泛用于温度测量精度要求比较高的场面,实现简单,成本低。 综上所示,本系统的方案具有实用推广价值。 本系统通过添加一个传感器,还有一个 12V 供电的加热片,使系统能够实时显示温度和快速加热。 若系统开始加热就使温度迅速上升,则说明杯中水不足,很有可能为干烧,为不安全加热,用户请注意,这属于该系统需 要改进的地方。 附 录 1 源程序清单如下: //ds18b20 drive program //for 51 mcu with lcd1602 display include include /*******************************************************************/ define HIGH 1 //高电平 define LOW 0 //低电平 define TRUE 1 //真 define ZERO 0 //假 define MSB 0x80 //ds18b20 part define SkipRom 0xcc define ConvertTemperature 0x44 define Read Scratchpad 0xbe sbit One_Wire_Bus=P1^6。 void One_ Wire_ Delay (unsigned char delay_ time)。 void One_Wire_Write_Byte (unsigned char oww_dat)。 unsigned char One_Wire_Read_Byte(void)。 void Read_18B20(void)。 void Initize_One_Wire_Bus(void)。 void delay(void)。 /********************************************************************/ data unsigned char GetScratchpad[2]。 code unsignedchardecimalH[16]={00,06,12,18,25,31,37,43,50,56,62,68,75,81,87,93}。 code unsigned char decimalL[16]={00,25,50,75,00,25,50,75,00,25,50,75,00,25,50,75}。 unsigned char Result Temperature H。 //经过处理后的温度整数部分 unsigned char Result Temperature L H, Result Temperature LL。 //经过处理后的温度的小数部分 data unsigned char ResultSignal。 //温度为负数标志位 /********************************************************************/ void Initize_One_Wire_Bus(void) {One_Wire_Bus=0。 One_Wire_Delay (80)。 / /Bus master pulling low 488us One_Wire_Bus=1。 One_Wire_Delay (25)。 //Resister pull up 158us。 } /********************************************************************/ /******************* ds18b20 **********************************/ void One_Wire_Delay (unsigned char delay_time) { While (delay_time) delay_time。 //Delay time us :=(8+delay_time*6)us。 } /********************************************************************/ unsigned char One_Wire_Read_Byte (void) { bit temp_bit。 unsigned char i,result=0。 for (i=0。 i8。 i++) { One_Wire_Bus=0。 One_Wire_Bus=1。 temp_bit=One_Wire_Bus。 One_Wire_Delay (9)。 //delay 62 us If (temp_bit) result|=0x01i。 } Return (result)。 } /********************************************************************/ void One_Wire_Write_Byte(unsigned char oww_dat) { unsigned char i。 for (i=0。 i8。 i++) { One_Wire_Bus=0。 if(oww_datamp。 0x01)One_Wire_Bus=1。 One_Wire_Delay (20)。 //delay 128 us One_Wire_Bus=1。 oww_dat=1。 } One_Wire_Delay (10)。 } /********************************************************************/ void Read_18B20 (void) { unsigned char tempH,tempL。 Initize_One_Wire_Bus ()。 One_Wire_Write_Byte (SkipRom)。 _nop_()。 One_Wire_Write_Byte (ConvertTemperature)。 One_Wire_Delay (5)。 Initize_One_Wire_Bus ()。 One_Wire_Write_Byte (SkipRom)。 _nop_()。 One_Wire_Write_Byte (ReadScratchpad)。 GetScratchpad[0]=One_Wire_Read_Byte()。 //从 DS18B20 读出的低 8 位温度值 GetScratchpad[1]=One_Wire_Read_Byte()。 //从 DS18B20 读出的高 8 位温度值 One_Wire_Delay (120)。 tempH=(GetScratchpad[1]4)|(GetScratchpad[0]4)。 //温度的整数部分 tempL=(GetScratchpad[0]amp。 0x0f)。 //温度的小数部分 Initize_One_Wire_Bus()。 if(tempHamp。 0x80) //判断温度的正负值 { tempH=~tempH。 tempL=~tempL+1。 ResultSignal=1。 //温度为负数标志位 } Result Temperature H=tempH。 //经过处理后的温度的整数部分 Result Temperature L=decimalL[tempL]。 //经过处理的温度的小数部分十分位 Result Temperature LH=decimalH[tempL]。 //经过处理的温度的小数部分的百分位 } /********************************************************************/ /*******************************************************************/ //lcd part define LINE1 0 define LINE2 1 define LINE1_HEAD 0x80 define LINE2_HEAD 0xC0 define LCD_DELAY_TIME 40 define DATA_MODE 0x38 define OPEN_SCREEN 0x0C define DISPLAY_ADDRESS 0x80 define CLEARSCREEN LCD_en_mand(0x01) define COMMAND_SLOT LCD1602_RS=LOW。 LCD1602_RW=LOW。 LCD1602_EN=LOW define DATA_SLOT LCD1602_RS=HIGH。 LCD1602_RW=LOW。 LCD1602_EN=LOW //mon part define HIGH 1 //高电平 define LOW 0 //低电平 define TRUE 1 //真 define ZERO 0 //假 define MSB 0x80 //change this part at different board define LCDIO P0 sbit LCD1602_RS=P1^0。 //数据命令选择 1 data 0 mand sbit LCD1602_RW=P1^1。 //读写选择 1 read 0 write sbit LCD1602_EN=P1^2。 //LCD 使能信号 //function define /********************************************************************/ void LCD_delay(void)。 //lcd 延时函数 void LCD_en_mand(unsigned char mand)。 //写命令 void LCD_en_dat(unsigned char temp)。 //写数据 void LCD_set_xy( unsigned char x, unsigned char y )。 //设置显示地址 void LCD_write_char( unsigned x,unsigned char y,unsigned char dat)。 //write lcd a character function void LCD_write_string(unsigned char X,unsigned char Y,unsigned char *s)。 //write lcd string function void LCD_init(void)。 //lcd 初始化 . //unsigned char code mytab[8] = {0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00}。 //自定义字符 /************************************************。xx-20xx年单片机温度控制总结
相关推荐
包含的主要以下几层意思: ①谈环境人口容量应指出具体时间,因为环境人口容量是时间的函数,具有不确定性。 ②人类的生存条件在很大程度上取决于资源状况,因而资源是制约环境人口容量的主要因素。 ③人类的生活除了满足吃、喝等物质方面的需求以外,还有精神生活的需求。 人们的生活和文化消费水平也在不断变化,因此,确定具有什么样的消费水平,对环境人口容量也会产生较大的影响。
1、 提供固定价格专业服务特别协议_ 08 4 订约双方: 武汉烟草(集团)有限公司 (以下简称“客户”)住所: 中国湖北省武汉市汉阳区十升路 22 号 法定代表人:彭明权和 凯捷咨询(上海)有限公司 (以下简称“凯捷”)住所: 中国上海陆家嘴东路 166 号中国保险大厦 1101 室法定代表人:005 年 6 月 612 日协议双方本着平等互利的精神,就客户委托凯捷提供咨询服务的有关事宜
近廉价劳动力丰富的地区等。 汽车生产的全球化最为典型。 ② 新兴工业区的分散: (3)表现形式: 工业由老工业区向新工业区分散;向大城市周围的卫星城分散;发达国家向发展中国家分散 (投资建厂 );以跨国公司的形式分散。 例 例 形成跨地区、跨国的网络企业 现代化的交通运输方式以及现代化的通信技术和手段。 二、工业分散与工业的地域联系 工业分散 (1)形成 (概念 ): (2)类型: ①
1、划项目进展状态报告 10 六月 2005 浙 江 烟 草织和管理流程诊断项目 进展状态报告(第一周)客户名称: 武烟烟草(集团)有限公司 项目类型: 管理诊断项目经理: 杨海茵 报告周期: 12/06 6 2005项目状态a of 总体状况 计划 be by 0% 2/06 启动至 15/07 结束预算 by %? or 通过对武烟集团内部的访谈调查等工作,对武烟集团总部的管控模式、组织
意大利新工业区:以轻工业为主 美国“ 硅谷 ”:高技术工业发展的先驱和典范 ① 地理位置优越,环境优美; ②气候宜人; ③交通便利; ④全世界人才高地; ⑤市场稳定; ⑥创新环境和创新文化。 (1)主导产业: 微电子工业,既是美国微电子工业的发祥地,又是目前世界上最大的微电子工业基地。 (2)工业特点: ① 从业人员知识和技能水平高,其中科学家和工程师占较大比例; ②增长速度快
: (2)生产特点: 商品率高、机械化程度高、经济效益高。 区位因素 区位优势 饲料因素 西欧地形以平原为主,土层深厚,土壤肥沃,有利于牧草和饲料作物的生长。 西欧以温带海洋性气候为主,气候温凉、潮湿,多雨多雾,日照少,不利于谷物的成熟,但有利于多汁牧草的生长。 市场因素 西欧经济发达,城市化水平高,食物结构中乳畜产品比重大,乳畜产品的市场需求量大。 三