保温饭盒毕业设计程序

#include<reg52.h> //包括头文件。普通情况不须要修改。头文件包括特殊功能寄存器的定义
#define uchar unsigned char
#define uint  unsigned int
sbit LED0=P1^0;//定义按键位置
sbit LED1=P1^1;
sbit RELAY = P1^2; //定义继电器位置

code unsigned char  tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
			         //共阴数码管 0-9
uchar smg[4];                 //定义缓冲区
void init_ds18b20(void) ;     //DS18B20初始化
void ds18b20write_byte(uchar dat);  //DS18B20写字节
uchar ds18b20read_byte(void);   //DS18B20读字节
uchar readtemperature(void)	;     //DS18B20读取温度
void delay(unsigned int i);
sbit DQ=P3^7;  //ds18b20 port
void delayds18b20(uint t)
{
	while(t--);
}
void delay(unsigned int cnt)
{
 while(--cnt);
}

void display(int b,int a)   //位分离
{
      smg[0]=tab[a/10];
      smg[1]=tab[a%10];
      smg[2]=tab[b/10];
      smg[3]=tab[b%10];
}
/*------------------------------------------------
              键盘扫描程序
------------------------------------------------*/
uchar keyscan(void)  //键盘扫描函数,使用行列反转扫描法
{
 uchar cord_h,cord_l;//行列值中间变量
 P3=0xf0;            //行线输出全为0
 P1=0xff;
 cord_h=P3&0xf0;     //读入列线值
 if(cord_h!=0x0f)    //先检測有无按键按下
	 {
	  delay(100);        //去抖
	  if(cord_h!=0x0f)
			  {
			    cord_h=P3&0xf0;  //读入列线值
			    P3=cord_h|0x0f;  //输出当前列线值
			    cord_l=P3&0x0f;  //读入行线值
			    return(cord_h+cord_l);//键盘最后组合码值
			   }
	  }

}

void main()
{
    uint  key,i,a=0,b=0;
  	RELAY=0;
init_ds18b20()	。
	key=keyscan();     //调用键盘扫描。
	for(i=0;i<4;i++)	 	   //显示函数
	   {
	   	 display(a,b);
	     P0=smg[i];
		 P2=i;
		 delay(100);
	   }
  if(key==0xe7)
  while(1)
	   {
	   b=readtemperature();
       delay(100);
	     key=keyscan();
	   	 switch(key)
		   	 {
			  case 0x7e:a=0;break;//0 按下相应的键显示相相应的码值
			  case 0xbe:a=40;break;
			  case 0xde:a=45;break;
			  case 0xee:a=55;break;	

			  case 0x7d:a=65;break;
		      case 0xbd:a=75;break;
		      case 0xdd:a=85;break;
		      case 0xed:a=95;break; 

		     }
			 display(b,a);
		  for(i=0;i<4;i++)	 	   //显示函数
		   {
		     P0=smg[i];
			 P2=i;
			 delay(100);
		   }
  		  if(a>b)    //温度推断
		     {
			   RELAY=1;    //继电器吸和
		       LED0=0;
			 }
		  else
		   {
		    RELAY=0;   //继电器断开
			LED1=0;
			}
   }	   		 

}

void init_ds18b20(void)	    //   初始化
{
	uchar n;
	DQ=1;		    //DQ复位
	delayds18b20(8);
	DQ=0;
	delayds18b20(80);		  //精确延时 大于 480us
	DQ=1;
	delayds18b20(10);
	n=DQ;
	delayds18b20(5);

}
void ds18b20write_byte(uchar dat)		  //   写一个字节
{
	uchar i;
	for(i=0;i<8;i++)
	{
		DQ=0;
		DQ=dat&0x01;
		delayds18b20(5);
		DQ=1;
		dat>>=1;
	}
	delayds18b20(5);
}

uchar ds18b20read_byte(void)			//读一个字节
{
	uchar i,value;
	for(i=0;i<8;i++)
	{
		DQ=0;		// 给脉冲信号
		value>>=1;
		DQ=1;		  // 给脉冲信号
		if(DQ)
		value|=0x80;
		delayds18b20(5);

	}
	return value;
}

uchar readtemperature(void)				  //  读取温度
{
	uchar a,b;
	init_ds18b20();
	ds18b20write_byte(0xcc);	//跳过ROM
	ds18b20write_byte(0x44);	//启动温度測量
	delayds18b20(200);
	init_ds18b20();
	ds18b20write_byte(0xcc);
	ds18b20write_byte(0xbe);
	a=ds18b20read_byte();	  //低位
	b=ds18b20read_byte();	   //高位

    b<<=4;
	b+=(a&0xf0)>>4;
	return b;
}
时间: 2024-10-05 05:11:25

保温饭盒毕业设计程序的相关文章

asp.net,java,jsp,安卓Android,苹果ios,php,vb.net,c#免费毕业课程设计源码共享网盘下载

百度网盘下载地址1:  http://pan.baidu.com/s/1o67fybC 百度网盘下载地址2: http://pan.baidu.com/s/1kTxckmF163网盘下载地址:http://home.163disk.com/shuangyulin file://E:\计算机设计参考!!!!!!!!!!!\资料 (4 folders, 0 files, 0 bytes, 641.25 MB in total.) ├─QQ254540457 (0 folders, 49 files,

计算机毕业课程设计源码打包下载

下载地址1: http://dl.vmall.com/c06pluqz6r 10个数据结构课程设计实例二...冒泡排序快速排序等.rar  下载  9.99K asp+sqlserver2000网络书店系统.rar  下载  1.4M asp+sqlserver2000在线考试系统.rar  下载  1.21M ASP+sql精品在线试题库设计+论文.rar  下载  2.7M asp.net+sql2008在线论坛系统.rar  下载  3.09M asp.net_sql2008公司人事管理系

Phantom omini设备开发流程

最近在忙着做毕业设计,我的毕业设计是做力觉临场感的,所以在力反馈设备Phantom Omini,由于整个设备是国外的国内的资料很少,我是14年拿到这个设备的但是真的是在开发是在16年了,中间有很多事没来得及进行,现在我把我的一个开发流程记录一下,也算是给后面需要使用这个设备的开发人员留下一点资料. 力反馈设备Phantom Omini可以称之为六自由度机械臂,他有六个关节,其中三个关节有电机所以可以提供一个力觉的反馈,它的开发SDK提供了很多的例程,基本上都可以使用,在使用SDK时要注意配置好各

毕业将至,同学们该如何找到更好的java网站后台设计程序

一,关于我们我们是专业从事于定做计算机相关毕业设计,拥有专业的写手团队和严格的保密制度.我们的工程师们在软件工程开发与设计的各个领域积累了丰富的经验,保证服务水平.我们致力于为客户提供各专业高质量的毕业设计定做服务,为即将毕业的同学提供毕业设计指导.毕设代做.毕设定制等一站式服务.强大的专业能力,高效的服务水平,多年以来一直深得客户好评,毕业只有一次,我们将尽心尽力为你完成毕设. 联系我们:.扣.扣.号(幺零三贰三七幺贰幺) 与我们取得联系,向我们提出您的写作要求:我们咨询师会根据您的服务需求和

反思:毕业入职的第一家公司

得到这第一份工作,说来还真有几分传奇.大四下学期一开学,就买好去深圳的火车票,和同学几个踏上了南漂的路.由于是穷学生,所以买了硬卧票,很巧的是在火车上遇到了一个潜江的老乡,反正火车要开一天一夜也怪无聊的,于是在火车过道找了个桌子几个年轻小伙就开始畅谈人生和憧憬未来.这位刚认识的老乡年龄和我们差不多,但社会经验比我们丰富很多,于是就说起他在中专技校里面是如何半夜溜出去上网,毕业如何被分配到工厂做车厂机加工人,说和自己同班出来做机加工人的一个女同学的女同事由于金属镁粉过敏全身都红肿,那个女同学见到这

毕业半年,工作一年回顾总结

新的一年即将来临,自2013年12月初工作,2014年6月底毕业以来,时光匆匆,已然毕业半年,工作一年了.工作这一年来,自己对程序员这个职业的一些思考,或者说自己对职业路线的思考也发生了许多变化.是时候记录一下,重新思考今后的路该怎么走,不知多年以后又会发生什么样的变化? 公司的领导最好有懂技术的,这样你的能力会得到更好的认可.否则会出现下面几种情况:a.领导压根儿不知道你为公司做了多少贡献,甚至认为你就是打酱油的,换句话说及就是你得不到认可:b.领导不重视公司的技术人员,技术人员受冷遇:c.公

毕业一年不到,做Android开发现在我很迷茫?求前辈指点

最近几天很迷茫,去年毕业,做了几个月得Android开发, 然后再成都做了四个月得IPTV,六月2号辞职,出来找工作, 就去找Android app开发,然后面试很多问题都不会,感觉找不到工作了,好痛苦啊, IPTV与app很少有联系啊,很多app得技术都差不多忘了.朋友们帮我出出主意吧.

计算机专业学生在毕业之前应该做的10000件事 ...

今天看了一篇,觉得很有感触,有必要记录一下(以下内容...) 现在正是毕业时节.我想有必要汇总一下计算机专业的学生在获得学位之前应该(单独)完成的10000件事情.碰巧的话,学生们在过去学过的课程中完成了其中的一部分.但可能大多数还没有被遇到过,所以学生们需要为这些课外实践空出时间.       这份清单是受别人启发,而正如标题所说,它是关于行动,而不是了解或者学习.第一手经验绝对是探索用电脑完成的有趣的事情的最有效方法.一旦我们成功使程序运行并且/或者克服困难超越了障碍,我们因此会获得极大的成

大学毕业必须知道的东西:三方协议、报到证(派遣证)、干部身份

[档案问题] 毕业之前必看的东西-你自己的档案问题,详细至极真正能证明你学习经历的就是你的档案.档案里面有你各个时期的学籍卡.成绩单.各方面的评语.获奖证明.还有你的党团材料.这些都是原始材料,不可复制. 档案虽然"光辉不再",但并不等于是随处可丢弃的"鸡肋", 专家建议:应届生应关心自己的档案,免得未来不必要的麻烦. [档案与工龄] 很多大学毕业生找到工作后,没有及时办理参加工作手续,工作几年后仍然是学生身份,从而影响了自己的转正定级,也影响到工龄和退休金的计算.