网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月12日漏签0天
盐城中学吧 关注:18,769贴子:693,414
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 22回复贴,共1页
<<返回盐城中学吧
>0< 加载中...

无技术贴系列·小型保鲜箱(冰箱)

  • 只看楼主
  • 收藏

  • 回复
  • cs538138
  • 高考在即
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
做着玩的,然后老师说拿去系里展柜里展览,但由于体积太大放不下,便作罢。


  • cs538138
  • 高考在即
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2026-02-12 21:53:58
广告
不感兴趣
开通SVIP免广告
  • 沙布剌基
  • 考试频繁
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
无人疼系列


  • 来姐
  • 倒数百日
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
人赢
   --From Google™ NE❎US 5


  • dfwcy3553817
  • 日渐孤独
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
stc89c52
12864


  • cs538138
  • 高考在即
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
主程序
#include "reg52.h"
#include "stdio.h"
#include "string.h"
#include "ds~18b20.h"
#include "intrins.h"
sbit LCD_RS=P1^0;
sbit LCD_RW=P1^1;
sbit LCD_E=P1^2;
sbit PSB =P1^6;
sbit led=P1^4;
sbit key1=P3^7;
sbit key2=P3^6;
#define LCD_Data P0
#define Busy 0x80
void WriteDataLCD(unsigned char WDLCD);
void WriteCommandLCD(unsigned char WCLCD,BuysC);
unsigned char ReadDataLCD(void);
unsigned char ReadStatusLCD(void);
void LCDInit(void);
void LCDClear(void);
void LCDFlash(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char *DData);
void Delay5Ms(void);
void Delay400Ms(void);
void mystrrev(char string[]);
void delay(void);
int wendu();
unsigned char W[]={"温度:"} ;
unsigned char q[10] ;
unsigned char o[10] ;
unsigned char E[]={"℃"} ;
unsigned char l[]={"预设温度:"} ;
void main(void)
{
int a=0,y=0;
int j,r;
unsigned int i=0;
int f=26;
int ltemp;
int b=15;
int c=0;
Delay400Ms();
LCDInit();
Delay5Ms();
while(1)
{
if(i==0)
tmpchange();
if(i==100)
ltemp=tmp()/16;
i++;
if(i==101)
i=0;
if(key1==0)
{
Delay5Ms();
Delay5Ms();
if(key1==0)
{
b++;
}
Delay5Ms();
Delay5Ms();
Delay5Ms();
Delay5Ms();
}
if(key2==0)
{
Delay5Ms();
Delay5Ms();
if(key2==0)
{
b--;
}
Delay5Ms();
Delay5Ms();
Delay5Ms();
Delay5Ms();
}
if(b==10)
b=11;
if(b==20)
b=19;
r=b;
if(ltemp>=r)
{
led=0;
}
if(ltemp<r)
{
led=1;
}
y=0;
while(r!=0)
{
o[y]=r%10+48;
r=r/10;
y++;
}
mystrrev(o);
// DisplayListChar(5,2,o);
/************************************按键****************/
if(i==0)
tmpchange();
if(i==100)
ltemp=tmp()/16;
i++;
if(i==101)
i=0;
a=0;
j=ltemp;
// if(ltemp<=f)
// {
// led=0;
// }
// if(ltemp>f)
// {
// led=1;
// }
while(j!=0)
{
q[a]=j%10+48;
j=j/10;
a++;
}
mystrrev(q);
LCDClear();
DisplayListChar(0,1,W);
DisplayListChar(3,1,q);
DisplayListChar(4,1,E);
DisplayListChar(5,2,o);
DisplayListChar(0,2,l);
DisplayListChar(6,2,E);
Delay400Ms();
}
}
void WriteDataLCD(unsigned char WDLCD)
{
ReadStatusLCD();
LCD_RS = 1;
LCD_RW = 0;
LCD_Data = WDLCD;
LCD_E = 1;
LCD_E = 1;
LCD_E = 0;
}
void WriteCommandLCD(unsigned char WCLCD,BuysC)
{
if (BuysC)
ReadStatusLCD();
LCD_RS = 0;
LCD_RW = 0;
LCD_Data = WCLCD;
LCD_E = 1;
LCD_E = 1;
LCD_E = 0;
}
unsigned char ReadDataLCD(void)
{
unsigned char LCDDA;
LCD_RS = 1;
LCD_RW = 1;
LCD_E = 1;
LCD_E = 1;
LCDDA=LCD_Data;
LCD_E = 0;
return(LCDDA);
}
unsigned char ReadStatusLCD(void)
{
LCD_Data = 0xFF;
LCD_RS = 0;
LCD_RW = 1;
LCD_E = 1;
LCD_E = 1;
while (LCD_Data & Busy);
LCD_E = 0;
return(1);
}
void LCDInit(void)
{
WriteCommandLCD(0x30,1);
WriteCommandLCD(0x01,1);
WriteCommandLCD(0x06,0);
WriteCommandLCD(0x0C,1);
}
void LCDClear(void)
{
WriteCommandLCD(0x01,1);
WriteCommandLCD(0x34,1);
WriteCommandLCD(0x30,1);
}
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
if(Y<1)
Y=1;
if(Y>4)
Y=4;
X &= 0x0F;
switch(Y)
{
case 1:X|=0X80;break;
case 2:X|=0X90;break;
case 3:X|=0X88;break;
case 4:X|=0X98;break;
}
WriteCommandLCD(X, 0);
WriteDataLCD(DData);
}
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char *DData)
{
unsigned char ListLength,X2;
ListLength = 0;
X2=X;
if(Y<1)
Y=1;
if(Y>4)
Y=4;
X &= 0x0F;
switch(Y)
{
case 1:X2|=0X80;break;
case 2:X2|=0X90;break;
case 3:X2|=0X88;break;
case 4:X2|=0X98;break;
}
WriteCommandLCD(X2, 1);
while (DData[ListLength]>=0x20)
{
if (X <= 0x0F)
{
WriteDataLCD(DData[ListLength]);
ListLength++;
X++;
}
}
}
void Delay5Ms(void)
{
unsigned int TempCyc = 55520;
while(TempCyc--);
}
void Delay400Ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA--){
TempCycB=6000;
while(TempCycB--);
}
}
void mystrrev(char string[])
{
int len = strlen(string);
int i;
char temp;
for (i = 0; i < len / 2; i++)
{
temp = string[i];
string[i] = string[len-i-1];
string[len-i-1] = temp;
}
}


  • cs538138
  • 高考在即
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
ds18b20.h
/****DS18B20.H****/
/********宏定义***********************************************************/
#define uchar unsigned char
#define uint unsigned int
/********IO引脚定义***********************************************************/
sbit DS=P3^2; //定义DS18B20接口
/*************延时子函数 *******************************************/
void delayb(uint count)
{
uint i;
while(count)
{
i=200;
while(i>0)
i--;
count--;
}
}
/*************DS18B20初始化*******************************************/
void dsreset(void)
{
uint i;
DS=0;
i=1300;
while(i>0)i--;
DS=1;
i=50;
while(i>0)i--;
}
/*************读一位*************************************************/
bit tmpreadbit(void)
{
uint i;
bit dat;
DS=0;
i++; i++;
i++;i++;i++;//小延时一下
DS=1;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
dat=DS;
i=100;
while(i>0)i--;
return (dat);
}
/*************读一个字节*************************************************/
uchar tmpread(void)
{
uchar i,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=tmpreadbit();
dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好//一个字节在DAT里
}
return(dat); //将一个字节数据返回
}
/*************写一个字节*************************************************/
void tmpwritebyte(uchar dat)
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) // 写1部分
{
DS=0;
i++;i++;i++;i++;i++;i++;i++;i++;i++;
DS=1;
i=100;
while(i>0)i--;
}
else
{
DS=0; //写0部分
i=100;
while(i>0)i--;
DS=1;
i++;i++;i++;i++;i++;i++;i++;i++;i++;
}
}
}
/***********发送温度转换命令***********************************************/
void tmpchange(void)
{
dsreset(); //初始化DS18B20
delayb(12); //延时
tmpwritebyte(0xcc); // 跳过序列号命令
tmpwritebyte(0x44); //发送温度转换命令
}
/***********获得温度*******************************************************/
int tmp()
{
int temp;
uchar a,b;
dsreset();
delayb(12);
tmpwritebyte(0xcc);
tmpwritebyte(0xbe); //发送读取数据命令
a=tmpread(); //连续读两个字节数据
b=tmpread();
temp=b;
temp<<=8;
temp=temp|a; //两字节合成一个整型变量。
return temp; //返回温度值
}
/*******读取温度传感器的序列号***************************************************/
void readrom()//本程序中没有用到此函数
{
uchar sn1,sn2;
dsreset();
delayb(1);
tmpwritebyte(0x33);
sn1=tmpread();
sn2=tmpread();
}


  • 幽幽火凤凰
  • 忙忙碌碌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
目测楼主以后一定会被高科技公司录取


2026-02-12 21:47:58
广告
不感兴趣
开通SVIP免广告
  • 流夏青柠
  • 心力交瘁
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
人赢


  • 圆子zzzzzz
  • 忙忙碌碌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
技术宅666


  • 精灵间的传言
  • 倒数百日
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
开源了。。。


  • 成海聖奈-
  • 倒数百日
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 寂寞时光没痕迹
  • 日渐孤独
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好厉害!


  • Alexisalv
  • 日渐孤独
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
厉害厉害


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 22回复贴,共1页
<<返回盐城中学吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示