单片机测量温的电路图及相应程序另一种方案.doc

单片机测量温的电路图及相应程序另一种方案.doc

ID:53262436

大小:94.00 KB

页数:9页

时间:2020-04-02

单片机测量温的电路图及相应程序另一种方案.doc_第1页
单片机测量温的电路图及相应程序另一种方案.doc_第2页
单片机测量温的电路图及相应程序另一种方案.doc_第3页
单片机测量温的电路图及相应程序另一种方案.doc_第4页
单片机测量温的电路图及相应程序另一种方案.doc_第5页
资源描述:

《单片机测量温的电路图及相应程序另一种方案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include#include#include#defineucharunsignedchar#defineuintunsignedint;/******************************************************************//*定义端口*//*************************************************

2、*****************/sbitseg1=P2^0;sbitseg2=P2^1;sbitseg3=P2^2;sbitDQ=P1^3;//ds18b20端口sbitDQ2=P1^4;//ds18b20端口sfrdataled=0x80;//显示数据端口/******************************************************************//*全局变量*//******************************************************************/

3、uinttemp;uinttemp2;ucharflag_get,count,num,minute,second;ucharcodetab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//7段数码管段码表共阳ucharstr[4];/******************************************************************//*函数声明*//**************************************************

4、****************/voiddelay1(ucharMS);unsignedintReadTemperature(void);unsignedintReadTemperature2(void);voidInit_DS18B20(void);voidInit_DS18B202(void);unsignedcharReadOneChar(void);unsignedcharReadOneChar2(void);voidWriteOneChar(unsignedchardat);voidWriteOneChar2(unsignedcha

5、rdat);voiddelay(unsignedinti);voidUARTinit(void){SCON=0x50;/*SCON:模式1,8-bitUART,使能接收*/TMOD

6、=0x20;/*TMOD:timer1,mode2,8-bitreload*/TH1=0xFD;/*TH1:reloadvaluefor9600baud@11.0592MHz*/TR1=1;/*TR1:timer1run*///EA=1;/*打开总中断*///ES=1;TI=1;}/******************************************

7、************************//*主函数*//******************************************************************/main(){unsignedintTempH,TempL;unsignedintTempH2,TempL2;TMOD

8、=0x01;//定时器设置TH0=0xef;TL0=0xf0;IE=0x82;TR0=1;UARTinit();P2=0x00;count=0;while(1){str[0]=tab[(TempH%100)/10];//十位温度s

9、tr[1]=tab[(TempH%100)%10];//个位温度str[2]=tab[(TempH2%100)/10];//十位温度str[3]=tab[(TempH2%100)%10];//个位温度if(flag_get==1)//定时读取当前温度{temp=ReadTemperature();TempH=temp>>4;TempL=temp&0x0F;TempL=TempL*6/10;//小数近似处理temp2=ReadTemperature2();TempH2=temp2>>4;TempL2=temp2&0x0F;TempL2=TempL

10、2*6/10;//小数近似处理printf("%d,%d",TempH,TempH2);flag_get=0;}}}/************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。