数码管正温度显示正常.doc

数码管正温度显示正常.doc

ID:57648141

大小:28.50 KB

页数:5页

时间:2020-08-30

数码管正温度显示正常.doc_第1页
数码管正温度显示正常.doc_第2页
数码管正温度显示正常.doc_第3页
数码管正温度显示正常.doc_第4页
数码管正温度显示正常.doc_第5页
资源描述:

《数码管正温度显示正常.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include//_nop_();延时函数用#defineDisdataP0//段码输出口#definediscanP2//扫描口#defineucharunsignedchar#defineuintunsignedintsbitDQ=P2^1;//温度输入口sbitDIN=P0^0;//LED小数点控制uinth;uinttemp;//////**************温度小数部分用查表法***********//ucharcodeditab[16]={0x0

2、0,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};////ucharcodedis_7[12]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xff,0x02};//共阳LED段码表"0""1""2""3""4""5""6""7""8""9""不亮""-"//ucharcodescan_con[4]={0xf7,0xfB,0xfD,0xff};//列扫描控制字

3、uchardatatemp_data[2]={0x00,0x00};//读出温度暂放uchardatadisplay[5]={0x00,0x00,0x00,0x00,0x00};//显示单元数据,共4个数据和一个运算暂用ucharseg[16]={0XE7,0X24,0XCE,0X6E,0X2D,0X6B,0XEB,0X26,0XEF,0X6F,0xAF,0XE9,0XC3,0XEC,0XCB,0X8B};//数码管点平定义//共阴//ucharduan[6]={0xF7,0XFE,0XDF,0XEF,0XFD,0XFB

4、};//段选0-1;1-4;2-3;3-2;4-5;5-6//ucharduan[6]={0xF7,0XEF,0XDF,0XFE,0XFD,0XFB};//段选共阴ucharduan[6]={0x08,0X10,0X20,0X01,0X02,0X04};//段选共阳/********************延时函数*************************/delay(uinti){for(;i>0;i--);}/****************DS18B20复位函数***********************

5、*/ow_reset(void){charpresence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;delay(50);//550usDQ=1;delay(6);//66uspresence=DQ;//presence=0复位成功,继续下一步}delay(45);//延时500uspresence=~DQ;}DQ=1;//拉高电平}/////****************DS18B20写命令函数****************

6、********///向1-WIRE总线上写1个字节voidwrite_byte(ucharval){uchari;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();//从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_();//5usDQ=val&0x01;//最低位移出delay(6);//66usval=val/2;//右移1位}DQ=1;delay(1);}///****************DS18B20读1字节函数********************

7、****///从总线上取1个字节ucharread_byte(void){uchari;ucharvalue=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_();//4usDQ=1;_nop_();_nop_();_nop_();_nop_();//4usif(DQ)value

8、=0x80;delay(6);//66us}DQ=1;return(value);}///****************读

9、出温度函数************************///read_temp(){ow_reset();//总线复位delay();write_byte(0xcc);//发命令write_byte(0x44);//发转换命令ow_reset();delay(1);write_byte(0xcc);//发命令wr

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

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

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