当前位置:首页 > (最新版)课程设计基于单片机温度监测系统毕业论文
{ uint i; ds = 0; i = 103; while(i>0) i--; ds = 1; i = 4; while(i>0) i--; }
uchar temp_readbit(void) { uint i; bit dat; ds = 0; i++; ds = 1; i++;i++;i++; dat = ds;
i = 8;while(i>0)i--; return(dat); }
uchar temp_read(void) {
uchar i,j,dat; dat = 0;
for(i = 0;i < 8;i++) {
j = temp_readbit();
12 dat = (j << 7)|(dat >> 1);
}
return(dat); }
void temp_write(uchar dat) { uint i; uchar j; bit testb;
for(j = 1;j<=8;j++) { testb = dat & 0x01; dat = dat >> 1; if(testb) { ds = 0; i++;i++;i++; ds = 1;
i =8;while(i>0)i--;
} else { ds = 0;
i = 8;while(i>0)i--; ds = 1; i++;i++; } }
}
void temp_change(void)
13 {
ds_reset(); delay(1); temp_write(0xcc); temp_write(0x44); }
uint get_temp() {
uchar a,b; EA = 0; ds_reset(); delay(1); temp_write(0xcc); temp_write(0xbe); a = temp_read(); b = temp_read(); temp = b; temp <<=8; temp = temp | a; f_temp = temp * 0.0625; temp = f_temp*10+0.5; f_temp =f_temp + 0.05; return temp; }
****************************定时器初始化 ***************** void init_com(void) {
TMOD = 0X01; PCON = 0X00; SCON = 0X50;
14 EA = 1; ET0 = 1; TR0 = 1; }
****************报警************************************** void warn(uint s,uchar led) {
uchar i; i = s; beep = 0; P1 = ~(led); while(i--) { } beep = 1; P1 = 0xff; i = s; while(i--) { } }
void deal(int t) {
uchar i;
if((t > warn_l2)&&(t <= warn_l1)) { }
15 dis_temp(get_temp());
dis_temp(get_temp());
warn(10,0x01);
共分享92篇相关文档