1 / 12
文档名称:

中期报告(参考).doc

格式:doc   大小:218KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

中期报告(参考).doc

上传人:沧桑一梦 2022/4/12 文件大小:218 KB

下载得到文件列表

中期报告(参考).doc

相关文档

文档介绍

文档介绍:学****文档 仅供参考
西安工业大学北方信息工程学院
毕业设计〔论文〕中期报告
题目:基于单片机的温度采集系统设计
系 别
专 业 eChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ==1)
dat=dat|0x80;
学****文档 仅供参考
delay(4);
}
return(dat);
}
//写一个字节
WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(5);
DQ = 1;
dat>>=1;
}
}
//读取温度
ReadTemperature(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned char t=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
学****文档 仅供参考
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器等〔共可读9个寄存器〕 前两个就是温度
a=ReadOneChar();
b=ReadOneChar();
t=b;
t<<=8;
t=t|a;
temper1=t/16;
temper2=t%16;
xiaoshu=temper2/;
c=xiaoshu*10000;

}
//以下是显示两位的函数,参数X是两位整数//
void led_2(unsigned char x)
{
unsigned char zixing[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//字型代码
unsigned char i,zixing2;
zixing2=zixing[x%10]; //以下显示X的低位
for(i=0;i<8;i++)
{
cp_164=0;
data_164=zixing2&0x01;
cp_164=1;
zixing2=zixing2>>1;
}
学****文档 仅供参考

zixing2=zixing[x/10];//以下显示X的高位
for(i=0;i<8;i++)
{
cp_164=0;
data_164=zixing2&0x01;
cp_164=1;
zixing2=zixing2>>1;
}
}
/*以下是顺序显示a,b,c的函数,共显示6位, abc均是两位整数*/
void led_6(unsigned char a,unsigned char b,unsigned char c)
{
led_2(c);
led_2(b);
led_2(a);
}
main()
{
unsigned int i=0;
while(1)
{
ReadTemperature(); //读温度
led_6(temper1,c/100,c%100);
for(i=0;i<40000;i++);
for(i=0;i<40000;i++);
}
学****文档 仅供参考
}
程序仿真图如下:
除此之外 我通过微机原理一书找到了如何使用以8088CPU系统为核心设计一个温度采集系统并在三位LED显示器上显示当前温度。他实现起来较为简单,所需要的
芯片清单及器件为:
CPU8088 ADC0809 接口芯片8255 温度传感器A