欢迎来到天天文库
浏览记录
ID:61995449
大小:930.50 KB
页数:9页
时间:2021-04-09
《单片机温度控制论文报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.单片机温度控制论文报告单片机课题:单片机温度控制系统实验小组成员:长州、善志、勇武长州负责硬件的焊接,善志负责软件的编写,勇武负责实验进程以及论文的编写。(一)实验目的:随着工业技术的不断发展,在工业和日常生活中,温度的测量与控制显得越来越重要。一个完整的温度控制系统,不仅对于工业生产起着重要的作用,而且在日常的生活中也能改善人们的生活质量,为人们的生活提供很大的便利。举例来说,像冶金工业、化工工业、电力工业、机械加工和食品加工等领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。在人们的日常生活中,像是热水器,加热炉等物品也给人们的生活提供了方便。基于这个目的,我们小组尝试利
2、用单片机完成温度控制系统的实验。(二)实验所实现的功能:一、测温:用DS18B20检测温度,并将测得的温度值以十六进制输入单片机,并由单片机控制四位七段数码管以十进制形式显示测得的温度值,精确度为0.25摄氏度。二、控温:利用合适的加热电阻丝实现温度的加热,具体加热温度可调。(三)实验所需程序:#include#includeunsignedchards1820_reset(void);unsignedintds1820_read_temp(void);#defineDQ_INDDRA&=~(1<3、RA4、=(1<5、=(1<6、/unsignedchards1820_reset(void){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/DQ_OUT;DQ_CLR;delay_10us(49);/*延时500uS(480-960)*/DQ_SET;DQ_IN;delay_10us(7);/*延时80uS*/i=DQ_R;delay_10us(49);/*延时500uS(保持>480uS)*/if(flag&0x80){/*恢复中断*/SEI();}if(i){return0x00;}else{return0x01;}}/*DS18B20读取函数*/unsignedchar7、ds1820_read_byte(void){unsignedchari;unsignedcharvalue=0;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){value>>=1;DQ_OUT;.DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();DQ_SET;DQ_IN;NOP();/*延时10uS*/NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();if(DQ_R){value8、=0x80;}delay_10us(5);/*延时60uS*/}if(f9、lag&0x80){/*恢复中断状态*/SEI();}return(value);}/*DS18B20字节写入函数*/voidds1820_write_byte(unsignedcharvalue){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){DQ_OUT;DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();.if(value&0x01){DQ_SET;}delay_10us(7);/*延时80uS*/DQ_SET;/*位结束*/value>>=1;}if(flag&0x80){/10、*恢复中断状态*/SEI();}}/*启动DS1820转换*/voidds1820_start(void){ds1820_reset();ds1820_write_byte(0xCC);/*保留地址*/ds1820_write_byte(0x44);/*启动转换*/}/*DS8B20读取温度*/unsignedintds1820_read_temp(void){unsignedinti;unsignedcha
3、RA
4、=(1<5、=(1<6、/unsignedchards1820_reset(void){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/DQ_OUT;DQ_CLR;delay_10us(49);/*延时500uS(480-960)*/DQ_SET;DQ_IN;delay_10us(7);/*延时80uS*/i=DQ_R;delay_10us(49);/*延时500uS(保持>480uS)*/if(flag&0x80){/*恢复中断*/SEI();}if(i){return0x00;}else{return0x01;}}/*DS18B20读取函数*/unsignedchar7、ds1820_read_byte(void){unsignedchari;unsignedcharvalue=0;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){value>>=1;DQ_OUT;.DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();DQ_SET;DQ_IN;NOP();/*延时10uS*/NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();if(DQ_R){value8、=0x80;}delay_10us(5);/*延时60uS*/}if(f9、lag&0x80){/*恢复中断状态*/SEI();}return(value);}/*DS18B20字节写入函数*/voidds1820_write_byte(unsignedcharvalue){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){DQ_OUT;DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();.if(value&0x01){DQ_SET;}delay_10us(7);/*延时80uS*/DQ_SET;/*位结束*/value>>=1;}if(flag&0x80){/10、*恢复中断状态*/SEI();}}/*启动DS1820转换*/voidds1820_start(void){ds1820_reset();ds1820_write_byte(0xCC);/*保留地址*/ds1820_write_byte(0x44);/*启动转换*/}/*DS8B20读取温度*/unsignedintds1820_read_temp(void){unsignedinti;unsignedcha
5、=(1<6、/unsignedchards1820_reset(void){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/DQ_OUT;DQ_CLR;delay_10us(49);/*延时500uS(480-960)*/DQ_SET;DQ_IN;delay_10us(7);/*延时80uS*/i=DQ_R;delay_10us(49);/*延时500uS(保持>480uS)*/if(flag&0x80){/*恢复中断*/SEI();}if(i){return0x00;}else{return0x01;}}/*DS18B20读取函数*/unsignedchar7、ds1820_read_byte(void){unsignedchari;unsignedcharvalue=0;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){value>>=1;DQ_OUT;.DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();DQ_SET;DQ_IN;NOP();/*延时10uS*/NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();if(DQ_R){value8、=0x80;}delay_10us(5);/*延时60uS*/}if(f9、lag&0x80){/*恢复中断状态*/SEI();}return(value);}/*DS18B20字节写入函数*/voidds1820_write_byte(unsignedcharvalue){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){DQ_OUT;DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();.if(value&0x01){DQ_SET;}delay_10us(7);/*延时80uS*/DQ_SET;/*位结束*/value>>=1;}if(flag&0x80){/10、*恢复中断状态*/SEI();}}/*启动DS1820转换*/voidds1820_start(void){ds1820_reset();ds1820_write_byte(0xCC);/*保留地址*/ds1820_write_byte(0x44);/*启动转换*/}/*DS8B20读取温度*/unsignedintds1820_read_temp(void){unsignedinti;unsignedcha
6、/unsignedchards1820_reset(void){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/DQ_OUT;DQ_CLR;delay_10us(49);/*延时500uS(480-960)*/DQ_SET;DQ_IN;delay_10us(7);/*延时80uS*/i=DQ_R;delay_10us(49);/*延时500uS(保持>480uS)*/if(flag&0x80){/*恢复中断*/SEI();}if(i){return0x00;}else{return0x01;}}/*DS18B20读取函数*/unsignedchar
7、ds1820_read_byte(void){unsignedchari;unsignedcharvalue=0;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){value>>=1;DQ_OUT;.DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();DQ_SET;DQ_IN;NOP();/*延时10uS*/NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();if(DQ_R){value
8、=0x80;}delay_10us(5);/*延时60uS*/}if(f
9、lag&0x80){/*恢复中断状态*/SEI();}return(value);}/*DS18B20字节写入函数*/voidds1820_write_byte(unsignedcharvalue){unsignedchari;flag=SREG;/*中断保护*/CLI();/*关闭中断*/for(i=8;i!=0;i--){DQ_OUT;DQ_CLR;NOP();/*延时4uS*/NOP();NOP();NOP();.if(value&0x01){DQ_SET;}delay_10us(7);/*延时80uS*/DQ_SET;/*位结束*/value>>=1;}if(flag&0x80){/
10、*恢复中断状态*/SEI();}}/*启动DS1820转换*/voidds1820_start(void){ds1820_reset();ds1820_write_byte(0xCC);/*保留地址*/ds1820_write_byte(0x44);/*启动转换*/}/*DS8B20读取温度*/unsignedintds1820_read_temp(void){unsignedinti;unsignedcha
此文档下载收益归作者所有