欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 51單片機(jī)DS18B20溫控步進(jìn)電機(jī)Proteus仿真加源程序 [打印本頁]

作者: 花落沉香    時(shí)間: 2019-1-15 20:08
標(biāo)題: 51單片機(jī)DS18B20溫控步進(jìn)電機(jī)Proteus仿真加源程序
DS18B20溫控步進(jìn)電機(jī)仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code zs[]={0x01,0x02,0x04,0x08};
  5. sbit DQ=P0^0;
  6. void delay(uint M)
  7. {
  8. uint i;
  9. for(i=0;i<M;i++)
  10. {
  11.   ;
  12. }
  13. }
  14. void run(uint N)
  15. {
  16. uchar k;
  17. for(k=0;k<=3;k++)
  18. {
  19.   P2=zs[k];
  20.   delay(N);
  21. }
  22. }

  23. void init()
  24. {
  25. uint m;
  26. DQ=1;
  27. delay(4);
  28. DQ=0;
  29. delay(45);
  30. DQ=1;
  31. while(DQ)
  32. {
  33.   m++;
  34.   if(m>=100)break;
  35. }
  36. }

  37. void write(uchar order)
  38. {
  39. uint j;
  40. DQ=1;
  41. delay(20);
  42. for (j=8; j>0; j--)
  43. {
  44.   DQ = 0;
  45.   DQ = order&0x01;
  46.   delay(5);
  47.   DQ = 1;
  48.   order>>=1;
  49.   delay(10);
  50. }
  51. delay(5);
  52. }
  53. uchar read()
  54. {
  55. unsigned char n=0;
  56. unsigned char dat = 0;
  57. DQ=1;
  58. delay(20);

  59. for (n=8;n>0;n--)
  60. {
  61.   DQ = 0;
  62.   dat>>=1;
  63.   DQ = 1;
  64.   if(DQ)
  65.    {dat|=0x80;}
  66.   delay(4);
  67. }
  68. return(dat);
  69. }
  70. void main()
  71. {

  72. while(1)
  73. {
  74. uchar Teml=0x00;
  75. uchar Temh=0x00;
  76. uchar Tem=0x00;
  77. init();
  78. write(0xcc);
  79. write(0x44);
  80. while(DQ==0)
  81. {
  82.   ;
  83. }
  84. init();
  85. write(0xcc);
  86. write(0xbe);
  87. Teml=read();
  88. Temh=read();
  89. Temh=Temh<<4;
  90. Teml=Teml>>4;
  91. Tem=Temh|Teml;
  92. P1=~Tem;
  93. if(Tem<=15)
  94. {
  95.   run(1000);
  96.   }
  97.   else if((Tem>15)&(Tem<=25))
  98.   {
  99.    run(3000);
  100.   }
  101. else if((Tem>25)&(Tem<=35))
  102.   {
  103.    run(6000);
  104.   }

  105. else if((Tem>35)&(Tem<=45))
  106.   {
  107.    run(4000);
  108.   }
  109. else if((Tem>45)&(Tem<=55))
  110.   {
  111.    run(3000);
  112.   }

  113. else if((Tem>55)&(Tem<=65))
  114.   {
  115.    run(2000);
  116.   }
  117. else if((Tem>65)&(Tem<=75))
  118.   {
  119.    run(1000);
  120.   }
  121. else
  122.   {
  123.    run(500);
  124.   }
  125. }
  126. }
復(fù)制代碼

所有資料51hei提供下載:
ourdev_446260.rar (59.45 KB, 下載次數(shù): 55)



作者: ttaniscy    時(shí)間: 2019-1-21 12:17
謝謝LZ分享,學(xué)習(xí)!




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1