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

储油罐实时监测系统的设计与实现 - 图文(8)

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

长治学院学士学位论文

 

的第十个元素,显示到数码管上是:10 */

void display (uchar d,uchar w) {

duan = 0; P0=0xff;

duan = 1; // 打开锁存器的锁存端

P0 = duantable[d]; //将段选信号放进锁存器 duan = 0;// 关闭锁存器的锁存端

P2 &= 0xf8;/*给P2口赋位选值前,先将p2与(1111 1000)逻辑与, // 将P2^0,P2^1,P2^2清零,从而不影响其他位原来的电平*/

P2 |= weitable[w];/*将位选信号放进P2口的低三位, // 只改变P2口低三位的值,不影响其他位*/ delay_display (8); }

void delay_display (uint i) { uchar x,j; for(j=0;j

/*显示一个数字的时候,调用display()即可, 格式:display(段 ,位); */

2.2 display.h

 

void display (unsigned char ,unsigned char ); void delay_display (unsigned int i);

3串口发送模块代码 3.1 COM.c

/******************************************************************** * 文件名 : 串口发送.c

* 描述 : 该文件实现通过串口把数据从单片机发送到电脑, 。

33

 

长治学院学士学位论文

 

***********************************************************************/ #include #include #include

#define uchar unsigned char #define uint unsigned int

/******************************************************************** * 名称 : Com_Init()

* 功能 : 初始化串口程序,晶振11.0592, 波特率9600 * 输入 : 无 * 输出 : 无

***********************************************************************/ void Com_Init(void) {

TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; TL1 = 0xFd; TR1 = 1; }

/******************************************************************** * 名称 :COM_Out() * 功能 : 发送数据

***********************************************************************/ void COM_Out(uchar i) { Com_Init(); //初始化串口 SBUF = i; //把传进来的数据放入SBUF while(!TI) //如果发送完毕,硬件会置位TI { _nop_(); } TI = 0; //TI清零 }

34

 

长治学院学士学位论文

 

3.2 COM.h

/******************************************************************** * 文件名 : 串口发送.c

* 描述 : 该文件实现通过串口把数据从单片机发送到电脑,

***********************************************************************/ #include #include #include

#define uchar unsigned char #define uint unsigned int

/******************************************************************** * 名称 : Com_Init()

***********************************************************************/ void Com_Init(void) {

TMOD = 0x20; PCON = 0x00; SCON = 0x50; TH1 = 0xFd; TL1 = 0xFd; TR1 = 1; }

/******************************************************************** * 名称 :COM_Out()

***********************************************************************/ void COM_Out(uchar i) { Com_Init(); //初始化串口 SBUF = i; //把传进来的数据放入SBUF while(!TI) //如果发送完毕,硬件会置位TI { _nop_(); } TI = 0; //TI清零 }

 

4.温度测量函数代码

4.1DS18B20.c

/********************************************************************

35

 

长治学院学士学位论文

 

* 文件名 : DS18B20.c

* 描述 : 该文件实现了用温度传感器件DS18B20对温度的采集

***********************************************************************/ #include #include

#define uchar unsigned char #define uint unsigned int

#define jump_ROM 0xCC //总线上只有一个器件,0xcc表示不对ROM编码做出反应 #define start 0x44 //收到只个指令后芯片做一次温度转换 #define read_EEROM 0xBE

sbit DQ = P2^3; //DS18B20数据口

unsigned char TMPH,TMPL;

/******************************************************************** * 名称 : delay() * 功能 : 延时函数

***********************************************************************/ void delay(uint N) { int i; for(i=0; i

/******************************************************************** * 名称 : Reset()

***********************************************************************/ uchar Reset(void) { uchar deceive_ready; DQ = 0; delay(29); DQ = 1; delay(3); deceive_ready = DQ; // 把DQ的值赋给这个变量 delay(25); return(deceive_ready); //返回DQ的电平状态 }

/******************************************************************** * 名称 : read_bit()

***********************************************************************/ uchar read_bit(void) {

36

 

长治学院学士学位论文

 

uchar i; DQ = 0; DQ = 1; for(i=0; i<3; i++); return(DQ); }

/******************************************************************** * 名称 : write_bit()

***********************************************************************/ void write_bit(uchar bitval) {

DQ=0;

if(bitval==1) DQ=1; delay(5); DQ=1; }

/******************************************************************** * 名称 : read_byte()

***********************************************************************/ uchar read_byte(void) { uchar i,m,receive_data; m = 1; receive_data = 0; for(i=0; i<8; i++) { if(read_bit()) { receive_data = receive_data + (m << i); } delay(6); } return(receive_data); }

/******************************************************************** * 名称 : write_byte()

*********************************************************/ void write_byte(uchar val) { uchar i,temp; for(i=0; i<8; i++) {

37

 

 

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库储油罐实时监测系统的设计与实现 - 图文(8)在线全文阅读。

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