数字温度检测系统的设计报告 - 图文

发布时间 : 星期六 文章数字温度检测系统的设计报告 - 图文更新完毕开始阅读

陕西理工学院毕业设计

i=8;

while(i>0)i--; ds=1;

//对IO线进行写0

i=1;

while(i>0)i--;

}

}

}

bit temp_rd_bit( ) //读一位数据子程序 { uint i; bit dat; ds=1; i=0; ds=0;//2us i++; i++; ds=1;//6us i++;//3us

dat=ds; i=4;

while(i>0)i--; //32us return(dat);

}

uchar tempread( )//读一个字节数据 { uchar i,j,dat; dat=0; for(i=0;i<8;i++) { j=temp_rd_bit( );

dat=(j<<7)|(dat>>1); //读出数据最低位在最前面,刚好一个字节在dat里第43页 共48页

}

return(dat); //读了8次即8个字节

}

void tempchange( ) //启动温度转换 { ds_reset( );

temp_wr_byte(0xcc);

//跳过ROM

temp_wr_byte(0x44); //启动温度转换

}

void temp_rec( ) //读取温度数据

{ uchar a,b; ds_reset( );

temp_wr_byte(0xcc); //跳过ROM

temp_wr_byte(0xbe); //从暂存寄存器读字节 a=tempread( ); b=tempread( ); temp=b; temp<<=8;

//保留最高位

temp=temp|a;

xs_temp=temp*0.0625; //分辨率为1/2^12.

}

void write_com(uchar com)//液晶写指令操作子程序 { lcden=0; lcdrs=0; P1=com; delay(1); lcden=1; delay(1); lcden=0;

}

void write_date(uchar date)//液晶写数据操作子程序 {

lcden=0;

陕西理工学院毕业设计

第44页 共48页

lcdrs=1; P1=date; delay(1); lcden=1; delay(1); lcden=0;

}

void lcd_init( )//液晶初始化子程序 { lcdrw=0;

write_com(0x38); //基本指令集

write_com(0x0c); //整体显示开,游标和游标位置关 write_com(0x06); //写一个字节时,地址指针加1,光标加1. write_com(0x01); // 清DDRAM

while(table1[num]!='\\0') {write_date(table1[num]); num++; delay(50);

}

}

void xianshi( ) { write_com(0xc0);

//设定DDRAM地址

for(num=0;num<10;num++) { write_date(table0[num]); delay(1);

}

write_com(0x8a+0x40); //设置显示到对应的地址 write_date(temp_shi);

write_com(0x8b+0x40); //设定到0x8b所在位 write_date(temp_ge); write_com(0x8c+0x40);

write_date('.');

陕西理工学院毕业设计

第45页 共48页

write_com(0x8d+0x40); write_date(temp_fen); write_com(0x8e+0x40); write_date(temp_miao); delay(1);

}

void shujucl( )//数据处理子函数 { t=xs_temp*100; //小数点后边只显示1位, temp_shi=t/1000+0x30;

//让其显示0x3x,对应着asc的数字

temp_ge=t00/100+0x30; temp_miao=t+0x30; temp_fen=t0/10+0x30;

} void led() { if(t<1500) { ledy=1; ledg=0; ledr=0; le=1; re=0; buzz=1; }

if(t>=1500&&t<=2800) { ledg=1; ledr=0; ledy=0; le=0; re=0;

buzz=0;

}

陕西理工学院毕业设计

第46页 共48页

联系合同范文客服:xxxxx#qq.com(#替换为@)