单片机温度传感器c程序

单片机温度传感器c程序

ID:11040161

大小:46.00 KB

页数:7页

时间:2018-07-09

单片机温度传感器c程序_第1页
单片机温度传感器c程序_第2页
单片机温度传感器c程序_第3页
单片机温度传感器c程序_第4页
单片机温度传感器c程序_第5页
资源描述:

《单片机温度传感器c程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//DS18B20温度传感器和数码管显示//编程时间:2010.4.7-2010.4.9//陈小雄上传////**********************************************************//连线表:CPU=stc89C52SysClock=12MHz//LEDLE=P1.0控制位高电平有效LEDSEG=P2KEYBOARD=P3LEDWEI=P0.5-0,LED高到底//**********************************************************//DS18B20//********

2、**************************************************//连线表:CPU=stc89C52SysClock=12MHz*//单总线:TMDAT=P1.1////**********************************************************#include#defineucharunsignedchar#defineuintunsignedintuchardiscount=0;//显示扫描位计数ucharlast=0;//最终温度值ucharitcount=0x1

3、3;//定时器延时计数ucharseg[4];//数码管显示暂存uchartem[2];//读取温度暂存ucharflag=0;//温度正负标志位/********************LED引脚定义********************/sfrLEDSEG=0xA0;//P2sfrLEDWEI=0xB0;//P3/********************DS18B20引脚定义********************/sbitTMDAT=P1^0;//温度传感器数据位/********************DS18B20函数定义**************

4、*****/voiddmsec(uintcount);//延时(count)毫秒voidtmreset(void);//产生复位信号voidtmpre(void);//检测器件应答信号bittmrbit(void);//从总线读一个bituchartmrbyte(void);//从总线读一个字节voidmwbyte(uchardat);//向总线写一个字节voidtmstart(void);//启动一次温度转换uchartmrtemp(void);//读取温度数据/********************LED函数定义*******************/uc

5、har*uchartodectoseg(ucharunm);//字符转换为十进制然后转换为数码管段表voiddisp(uchar*seg);//显示函数voiddelay_ms(uintt);//延时函数/************************************************/ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x39};/*************数码表*******0123456789无显示C**************/

6、/************************************************/uchar*uchartodectoseg(ucharunm){ucharx00,xx,x0,x,n;x00=unm/100;//取百位xx=unm%100;//取余x0=xx/10;//取十位x=xx%10;//取余即取个位n=0;seg[n]=table[x00];n++;seg[n]=table[x0];n++;seg[n]=table[x];n++;seg[n]=table[11];//最后一位显示摄氏度符号Cif(flag==1)seg[0]=0x40;

7、//显示负号‘-’if(seg[0]==table[0])seg[0]=table[10];//如果百位为零则不显示if((seg[0]==table[0])&(seg[1]==table[0]))seg[1]=table[10];//如果百位为零且十位为零则十位不显示returnseg;}/***************************************************//******DELAY***************************/voiddelay_ms(uintt){uintm,n;for(m=0;m

8、for(n=0;n<95

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

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

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