77范文网 - 专业文章范例文档资料分享平台

电子1001班—G1063385—穆翠—数字温度计设计与制作(1) - 图文(6)

来源:网络收集 时间:2019-02-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

安徽财贸职业学院毕业设计 附录

1、材料清单: 材料清单列表 元件名称 芯片 插槽 排阻 按键 晶振 电容 电阻 电阻 电阻 电解电容 插针 数码管 三极管 DS18B20 总额

2、程序

#include #define uchar unsigned char #define uint unsigned int sbit DQ=P3^4;//ds18b20数据线 uint tvalue;//温度值 uchar tflag;//温度正负标志

//uchar code temp[]=\实时温度:\实时温度

uchar disp_num[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//显示数据列表0---9 //功能:延时1毫秒 //入口参数:x //出口参数:无 //说明:晶振为12M void Delay_xms(uint x) { uint i,j; for(i=0;i

- 23 -

元件型号 AT89S51 240-3345 A102G 11.0592 22 1K 10K 4.7k 10K 5461BH 8550 单价(元) 5 1 0.1 0.2 0.5 0.02 0.02 0.02 0.02 0.02 0.01 3 0.1 5 数量(个) 1 1 1 1 1 2 8 1 4 3 若干 1 4 1 总额(元) 5 1 0.1 0.2 0.5 0.04 0.16 0.02 0.08 0.06 0.5 3 0.4 5 16.06 安徽财贸职业学院毕业设计 void Delay_xus(uint x)//延时1微秒 {

while(x--); }

//关闭数码管显示,当Q0~Q3均为高电平时,三极管均截止,无电流流过数码管,显示被关闭 void tube_off(void) { P1=0xff; }

//数码管数据显示

//入口参数:x为需要显示的数据,addr为数码管地址即第几位数码管 void tube_disp(uchar addr,uchar x) {

if(addr==3)

P0=disp_num[x]&0x7f;//将显示数据送P0口 else

P0=disp_num[x];//将显示数据送P0口 switch(addr) {

case 1: //选通第1位数码管 P1=0xfe; break;

case 2: //选通第2位数码管 P1=0xfd; break;

case 3: //选通第3位数码管 P1=0xfb; break;

case 4: //选通第4位数码管 P1=0xf7; break; }

Delay_xms(2); tube_off(); }

void ds1820rst()/*ds1820复位*/ {

DQ = 1; //DQ复位 Delay_xus(4); //延时

DQ = 0; //DQ拉低 Delay_xus(100); //精确延时大于480us DQ = 1; //拉高 Delay_xus(40); }

- 24 -

安徽财贸职业学院毕业设计 uchar ds1820rd()/*读数据*/ { uchar i=0; uchar dat = 0; for(i=8;i>0;i--) {

DQ = 0; //给脉冲信号 dat>>=1;

DQ = 1; //给脉冲信号 if(DQ) dat|=0x80; Delay_xus(10); }

return(dat); }

void ds1820wr(uchar wdata)/*写数据*/ {

uchar i=0; for (i=8; i>0; i--) { DQ = 0;

DQ = wdata&0x01; Delay_xus(10); DQ = 1; wdata>>=1; } }

read_temp()/*读取温度值并转换*/ { uchar a,b; ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0x44);//*启动温度转换*/ ds1820rst();

ds1820wr(0xcc);//*跳过读序列号*/ ds1820wr(0xbe);//*读取温度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else

- 25 -

安徽财贸职业学院毕业设计 {

tvalue=~tvalue+1; tflag=1; }

tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数 return(tvalue); } //

void main() {

uchar temp; Delay_xms(50); read_temp(); Delay_xms(1000); while(1) {

read_temp(); //读取温度值 temp=tvalue/1000;

tube_disp(1,temp); //显示百位温度值 temp=(tvalue00/100);

tube_disp(2,temp); //显示十位温度值 temp=(tvalue0/10);

tube_disp(3,temp); //显示个位温度值 temp=(tvalue);

tube_disp(4,temp); //显示小数位温度值 } }

- 26 -

安徽财贸职业学院毕业设计 参考文献

[1] 及力,孙小红,钱国梁. 电子CAD—基于Protel 99 SE. 北京邮电大学出版社,2008.24~65 [2] 周良权,傅恩赐,李世馨. 模拟电子技术基础. 高等教育出版社,2005.6.9~13 [3] 卜锡滨,贾秀玲,曾献芳,周琳. 数字电子技术. 中国水利水电出版社,2011.1.17~39 [4] 白炽贵,余明飞,罗永. 单片机C语言案例教程. 电子工业出版社,2011.1.1~34

- 27 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库电子1001班—G1063385—穆翠—数字温度计设计与制作(1) - 图文(6)在线全文阅读。

电子1001班—G1063385—穆翠—数字温度计设计与制作(1) - 图文(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/479107.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: