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

当前位置:首页 > 温度控制系统C程序

温度控制系统C程序

  • 62 次阅读
  • 3 次下载
  • 2025/5/22 23:29:51

#include

#define uint unsigned int #define uchar unsigned char #define LCD1602 P0 sbit SET=P3^1; //设置 上下限 sbit DEC=P3^2; //减 sbit ADD=P3^3; //加

sbit DQ=P3^7; //传感器DS18B20 sbit ALAM=P1^2; //报警显示灯 sbit ALAM1=P1^4;

sbit BUZZ=P3^6; //蜂鸣器 sbit rs=P2^7 sbit en=P2^6 bit shansuo_st; bit beep_st; uchar x=0;

uchar code tab1{\ Tem: . C%uchar code tab2{\ C TL: C\ ; uint c;

uchar Mode=0; //状态标志 signed char TH=40; // signed char TL=10; //

//////////////////////////////DS18B20//////////////////////////////////////////////// ////////////////////////////////DS18B20/////////////////////////////////////////////// //延时

//************************************************************************/ // 函数:

// 描述: 延时t ms函数 // 参数: t // 返回: 无

// 备注: 12MHZ t=1延时时间约1ms // 版本: 2011/01/01 First version

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

void Delay_DS18B20(int num) {

while(num--) ; }

void Delay(uint x ms) {

uint x,y;

for(x=xms;x>0;x--) for(y=110;y>0;y--) ; }

//初始化DS18B20

void Init_DS18B20(void) {

uchar char x=0; DQ = 0; Delay_DS18B20(80); //延时 DQ = 1; Delay(90);//延时 DQ = 1; Delay_DS18B20(14); X = DQ; Delay_DS18B20(20); }

//读一个字节

uchar ReadOneChar(void) {

uchar i,dat=0; for(i=8;i>0;i--) { DQ = 0; dat >>= 1; DQ = 1; if(DQ) dat |= 0X80; Delay_DS18B20(4); } return (dat); }

//写一个字节

void WriteOneChar(uchar dat) {

uchar i=0; for(i=8;i>0;i--) DQ = 0; DQ= dat |= 0X01;

Delay_DS18B20(5); DQ = 1; dat >>= 1; } }

//读温度值

unsigned int Read_Temperature(void) { unsigned char a=0; unsigned char b=0; unsigned int t=0; float tt=0; Init_DS18B20(); WriteOneChar(0xCC) ; WriteOneChar(0x44) ; Init_DS18B20(); a= ReadOneChar(); t<<=8; t=t|a; tt=t*0.0625; t=tt*10+0.5; return(t) ; }

//读温度值

void check_wendu(void) {

c= Read_Temperature-5; if(c>1200) c=1200; }

//---------------1602--------------------------------------

void write_1602com(uchar com) //1602液晶写指令

{

rs=0; delay(1); en=1; delay(1); en=0; }

void write_1602dat(uchar dat) //1602液晶写数据 { rs=1; LCD1602=dat; delay(1); en=1; delayms(1); en=0; }

void lcd_init() //初始化液晶,及画面初始化 { uchar a; write_1602com(0x38); write_1602com(0x0c); write_1602com(0x06); write_1602com(0x01); write_1602com(0x80); for(a=0;a<16;a++) // { write_1602dat(tab1[a]); delay(3); } write_1602com(0x80+0x40); for(a=0;a<16;a++) // { write_1602dat(tab2[a]);

搜索更多关于: 温度控制系统C程序 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include #define uint unsigned int #define uchar unsigned char #define LCD1602 P0 sbit SET=P3^1; //设置 上下限 sbit DEC=P3^2; //减 sbit ADD=P3^3; //加 sbit DQ=P3^7; //传感器DS18B20 sbit ALAM=P1^2; //报警显示灯 sbit ALAM1=P1^4; sbit BUZZ=P3^6; //蜂鸣器 sbit rs=P2^7 sbit en=P2^6 bit shansuo_st; bit beep_st; uchar x=0; uchar code tab1{\ Tem: . C%uchar

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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