久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 求助,溫度傳感器液晶顯示加蜂鳴器報(bào)警,有段程序不會(huì)寫(xiě) [打印本頁(yè)]

作者: 18942352071    時(shí)間: 2018-5-8 16:34
標(biāo)題: 求助,溫度傳感器液晶顯示加蜂鳴器報(bào)警,有段程序不會(huì)寫(xiě)
溫度傳感器液晶顯示加蜂鳴器報(bào)警,網(wǎng)上找的電路圖和程序,電路圖加了蜂鳴器部分,蜂鳴器段的程序不知道怎么寫(xiě),有人會(huì)嗎?
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code disp[]="0123456789";
  5. uchar code disp2[]="Tempreture";
  6. uchar code disp3[]="^C";
  7. sbit lcden=P2^0;
  8. sbit lcdrw=P2^1;
  9. sbit lcdrs=P2^2;
  10. sbit tempt=P2^3;
  11. uint u_temp;//定義無(wú)符號(hào)整型形參
  12. float f_temp;//定義浮點(diǎn)型形參


  13. void delay(uint x)//延時(shí)500ms程序
  14. {
  15. uint i,j;
  16. for(i=0;i<x;i++)
  17. for(j=0;j<130;j++);
  18. }

  19. void write_com(uchar com)//液晶寫(xiě)命令
  20. {
  21. lcdrs=0;
  22. P0=com;
  23. delay(5);
  24. lcden=1;
  25. delay(5);
  26. lcden=0;
  27. delay(5);
  28. }

  29. void write_data(uchar date)//液晶寫(xiě)數(shù)據(jù)
  30. {
  31. lcdrs=1;
  32. P0=date;
  33. delay(5);
  34. lcden=1;
  35. delay(5);
  36. lcden=0;
  37. delay(5);
  38. }


  39. void lcd_init()//液晶初始化
  40. {
  41. lcden=0;
  42. lcdrw=0;
  43. write_com(0x38);
  44. write_com(0x0c);
  45. write_com(0x06);
  46. write_com(0x01);
  47. }

  48. void display_tempt(uint date)//溫度數(shù)據(jù)顯示
  49. {
  50. uchar i,j,k;
  51. i=date/100;//十位
  52. j=date%100/10;//個(gè)位
  53. k=date%100%10;//小數(shù)位
  54. write_com(0x80+0x40+5);
  55. write_data(disp[i]);
  56. write_data(disp[j]);
  57. write_data('.');
  58. write_data(disp[k]);

  59. }



  60. void reset_tempt()//DS18B20復(fù)位,初始化
  61. {
  62. uint i;
  63. tempt=0;
  64. i=90;//延時(shí)
  65. while(i>0)i--;
  66. tempt=1;
  67. i=4;//延時(shí)
  68. while(i>0)i--;
  69. }


  70. bit read_bit()//讀一位DS18B20數(shù)據(jù)
  71. {
  72. uint i;
  73. bit dat;
  74. tempt=0;
  75. i++;//延時(shí)
  76. tempt=1;
  77. i++;//延時(shí)
  78. i++;
  79. dat=tempt;
  80. i=8;//延時(shí)
  81. while(i>0)i--;
  82. return dat;
  83. }


  84. uchar read_tempt()//讀一個(gè)字節(jié)DS18B20數(shù)據(jù)
  85. {
  86. uchar i,j,dat;
  87. dat=0;
  88. for(i=1;i<=8;i++)
  89. {
  90. j=read_bit();
  91. dat=(j<<7)|(dat>>1);//將讀取的數(shù)據(jù)位按讀取先后順序,
  92. }//從低位到高位(從右往左)排列保存到dat
  93. return dat;
  94. }


  95. void write_byte(uchar dat)//寫(xiě)一個(gè)字節(jié)數(shù)據(jù)到DS18B20
  96. {
  97. uint i;
  98. uchar j;
  99. bit testbit;
  100. for(j=1;j<=8;j++)
  101. {
  102. testbit=dat&0x01;//每次只寫(xiě)一位數(shù)據(jù)
  103. dat=dat>>1;
  104. if(testbit)
  105. {
  106. tempt=0;
  107. i++;//延時(shí)
  108. tempt=1;
  109. i=8;//延時(shí)
  110. while(i>0)i--;
  111. }
  112. else
  113. {
  114. tempt=0;
  115. i=8;//延時(shí)
  116. while(i>0)i--;
  117. tempt=1;
  118. i++;//延時(shí)
  119. i++;
  120. }
  121. }
  122. }


  123. void convert_tempt()//DS18B20開(kāi)始獲取溫度并進(jìn)行轉(zhuǎn)換
  124. {
  125. reset_tempt();
  126. delay(1);
  127. write_byte(0xcc);
  128. write_byte(0x44);
  129. }
  130. uint get_tempt()//讀取DS18B20寄存器中的溫度數(shù)據(jù)
  131. {
  132. uchar a,b;
  133. reset_tempt();
  134. delay(1);
  135. write_byte(0xcc);
  136. write_byte(0xbe);
  137. a=read_tempt();
  138. b=read_tempt();
  139. u_temp=b;
  140. u_temp<<=8;
  141. u_temp=u_temp|a;
  142. f_temp=u_temp*0.0625;//精度為12位,所以分辨率為0.0625
  143. u_temp=f_temp*10;//乘以10,將實(shí)際溫度擴(kuò)大10倍
  144. return u_temp;//返回的u_temp是整型數(shù)據(jù)
  145. }



  146. void display()//靜態(tài)文字顯示
  147. {
  148. uchar i,j;
  149. write_com(0x80+3);
  150. for(i=0;i<10;i++)
  151. {
  152. write_data(disp2[i]);
  153. }
  154. write_com(0x80+0x40+10);
  155. for(j=0;j<2;j++)
  156. {
  157. write_data(disp3[j]);
  158. }
  159. }



  160. void main()//主函數(shù)
  161. {
  162.   uchar i;
  163.   lcd_init();
  164.   display();
  165.   while(1)
  166. {
  167.   convert_tempt();
  168.   for(i=0;i<10;i++)
  169.   {display_tempt(get_tempt());}
  170.   }
  171.   }
復(fù)制代碼




作者: 笨笨兔    時(shí)間: 2018-5-9 09:47
程序懶得看。
好好看看原理圖,你的蜂鳴器怎么報(bào)警?
作者: 18942352071    時(shí)間: 2018-5-9 17:40
笨笨兔 發(fā)表于 2018-5-9 09:47
程序懶得看。
好好看看原理圖,你的蜂鳴器怎么報(bào)警?

怎么看?我第一次做,電路圖已經(jīng)覺(jué)得會(huì)了,但是程序?qū)ξ襾?lái)說(shuō)太難了,不知道溫度傳感器怎么讀取溫度并顯示,然后溫度超過(guò)50度蜂鳴器報(bào)警




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91在线一区 | 欧美专区在线 | av在线一区二区三区 | 国产精品久久久久久久午夜片 | 久久久久网站 | 久婷婷 | 久久久精品一区 | 91久久综合亚洲鲁鲁五月天 | 久久精品福利视频 | 久久久精 | 欧美性另类 | 亚洲午夜精品久久久久久app | 日韩二区 | 日韩成人精品一区二区三区 | 激情视频一区 | 国产日韩一区二区 | 秋霞电影院午夜伦 | 国产亚洲欧美日韩精品一区二区三区 | 久久一本 | 久久国内精品 | 国产精品亚洲成在人线 | 欧美精品一区二区在线观看 | 中文字幕在线看 | 欧美a在线看 | 久久a久久 | 精品国产视频 | 久久久夜色精品亚洲 | 九九精品在线 | 午夜午夜精品一区二区三区文 | 蜜月aⅴ国产精品 | 69性欧美高清影院 | 成人三级视频 | 国产精品精品视频一区二区三区 | 一级a性色生活片久久毛片波多野 | av中文在线| 欧美午夜精品 | 国产色| 亚洲国产高清高潮精品美女 | 久草网站 | 黄色大片免费播放 | 大学生a级毛片免费视频 |