云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于51单片机的粮仓温湿度检测系统毕业设计

基于51单片机的粮仓温湿度检测系统毕业设计

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 12:51:35

烟台大学毕业论文(设计)

#define jump_ROM 0xCC #define start 0x44

#define read_EEROM 0xBE

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

unsigned char TMPH,TMPL;

/******************************************************************** * 名称 : delay()

* 功能 : 延时,延时时间大概为140US。 * 输入 : 无 * 输出 : 无

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

void delay_1() {

int i,j;

for(i=0; i<=10; i++) for(j=0; j<=2; j++) ; }

/******************************************************************** * 名称 : delay() * 功能 : 延时函数 * 输入 : 无 * 输出 : 无

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

void delay(uint N) {

int i;

for(i=0; i

/******************************************************************** * 名称 : Delay_1ms()

* 功能 : 延时子程序,延时时间为 1ms * x * 输入 : x (延时一毫秒的个数) * 输出 : 无

*********************************************************************

21

烟台大学毕业论文(设计)

**/

void Delay_1ms(uint i)//1ms延时 {

uchar x,j;

for(j=0;j

for(x=0;x<=148;x++); }

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

* 功能 : 复位DS18B20 * 输入 : 无 * 输出 : 无

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

uchar Reset(void) {

uchar deceive_ready; DQ = 0; delay(29); DQ = 1; delay(3);

deceive_ready = DQ; delay(25);

return(deceive_ready); }

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

* 功能 : 从DS18B20读一个位值 * 输入 : 无

* 输出 : 从DS18B20读出的一个位值

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

uchar read_bit(void) {

uchar i; DQ = 0; DQ = 1;

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

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

22

烟台大学毕业论文(设计)

* 功能 : 向DS18B20写一位

* 输入 : bitval(要对DS18B20写入的位值) * 输出 : 无

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

void write_bit(uchar bitval) {

DQ=0;if(bitval==1) DQ=1;

delay(5); DQ=1; }

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

* 功能 : 从DS18B20读一个字节 * 输入 : 无

* 输出 : 从DS18B20读到的值

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

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()

* 功能 : 向DS18B20写一个字节

* 输入 : val(要对DS18B20写入的命令值) * 输出 : 无

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

void write_byte(uchar val)

23

烟台大学毕业论文(设计)

{

uchar i,temp;

for(i=0; i<8; i++) {

temp = val >> i; temp = temp & 0x01; write_bit(temp); delay(5); } }

/******************************************************************** * 名称 : Main() * 功能 : 主函数 * 输入 : 无 * 输出 : 无

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

void main() {

uchar lcd_string[2][33]={0}; uint temp,tmep1; long delay_time = 5; init_adc(); L1602_init(); while(1) {

Reset();

write_byte(jump_ROM); write_byte(start); Reset();

write_byte(jump_ROM); write_byte(read_EEROM); TMPL = read_byte(); TMPH = read_byte();

temp = TMPL / 16 + TMPH * 16;

lcd_string[0][0] = temp/10 + 0x30; //if (lcd_string[0][0]>=1)

//L1602_string(1,1,\ lcd_string[0][1] = temp + 0x30; if (temp > 30) P3 &= ~(0x01 << 2); else P3 |= (0x01 << 2);

if (temp < 27) P3 &= ~(0x01 << 3);

24

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

烟台大学毕业论文(设计) #define jump_ROM 0xCC #define start 0x44 #define read_EEROM 0xBE sbit DQ = P2^3; //DS18B20数据口 unsigned char TMPH,TMPL; /******************************************************************** * 名称 : delay() * 功能 : 延时,延时时间大概为140US。 * 输入 : 无 * 输出 : 无 ***********************************************************************/

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com