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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2656|回復: 1
打印 上一主題 下一主題
收起左側

1302+18b20+超聲波測距+12864綜合程序

[復制鏈接]
跳轉到指定樓層
樓主
覺得不錯贊一個


單片機源程序如下:
  1. #include<reg52.h>
  2. #include<12864.h>
  3. #include<1302.h>
  4. #include <DS18B20.h>
  5. #include <CSB.h>

  6. unsigned char  table1[]="                ";
  7. unsigned char  table2[]="                ";
  8. unsigned char  table3[]="室內溫度:";
  9. unsigned char  table4[]="測距:";

  10. unsigned char time_buf[8]={40,14,2,16,23,59,50,7};//空年月日時分秒周
  11. unsigned char time_buf1[8];
  12. unsigned char num, bai,shi,ge,i;
  13. unsigned int temp1;
  14.        
  15. long int  distance=0;
  16. unsigned char count;

  17. void init_parameter(void)//初始化
  18. {
  19.         echo=0;
  20.         trig=0;
  21.         count=0;
  22.         distance=0;
  23. }               

  24. void measure_distance(void)//計算距離
  25. {
  26.         uchar I;
  27.         uint h,y;
  28.         TR0=1;
  29.         while(echo)
  30.         {
  31.                 ;
  32.         }
  33.         TR0=0;
  34.         I=TL0;
  35.         h=TH0;
  36.         y=(h<<8)+I;
  37.         y=y-0xfc66;
  38.         distance=y+1000*count;
  39.         TL0=0X66;
  40.         TH0=0XFC;
  41.        
  42.         distance=0.17*distance;
  43. }

  44. void display(long int num)
  45. {
  46.         unsigned int qian,bai,shi,ge;
  47.         if((num>5000)||(num==0))
  48.         {
  49.                 qian=15;
  50.                 bai=15;
  51.                 shi=10;
  52.                 ge=15;
  53.         }
  54.         else
  55.         {
  56.                 qian=num/1000;
  57.                 bai=(num/100)%10;
  58.                 shi=(num/10)%10;
  59.                 ge=num%10;               
  60.                 LCD_Write_String(4,1,table4);
  61.           write_data(qian+0x30);       
  62.                 write_data(bai+0x30);       
  63.                 write_data(shi+0x30);
  64.                 write_data('.');
  65.                 write_data(ge+0x30);
  66.                 write_data('C');
  67.                 write_data('M');
  68.         }
  69. }

  70. void disp(void)
  71. {
  72.          table1[3]='2';
  73.          table1[4]='0';
  74.          table1[5]='0'+time_buf1[1]/10;//顯示年月日
  75.          table1[6]='0'+time_buf1[1]%10;
  76.          table1[7]='-';
  77.          table1[8]='0'+time_buf1[2]/10;
  78.          table1[9]='0'+time_buf1[2]%10;
  79.          table1[10]='-';
  80.          table1[11]='0'+time_buf1[3]/10;
  81.          table1[12]='0'+time_buf1[3]%10;       
  82.          LCD_Write_String(1,1,table1);
  83.        
  84.          table2[0]='0'+time_buf1[4]/10;//顯示時分秒
  85.          table2[1]='0'+time_buf1[4]%10;
  86.          table2[2]='-';
  87.          table2[3]='0'+time_buf1[5]/10;
  88.          table2[4]='0'+time_buf1[5]%10;
  89.          table2[5]='-';
  90.          table2[6]='0'+time_buf1[6]/10;
  91.          table2[7]='0'+time_buf1[6]%10;
  92.          table2[11]='w';
  93.          table2[12]='e';
  94.          table2[13]='e';
  95.          table2[14]='k';
  96.          table2[15]='0'+time_buf1[7]%10;
  97.          LCD_Write_String(2,1,table2);
  98.         }       
  99.        
  100. void main(void)
  101. {
  102.         P0=0X00;
  103.         dula=0;
  104.         wela=0;
  105.        
  106.         lcdinit();
  107.         init_parameter();
  108.         init_timer();
  109.         delayms(15);
  110.         ds1302_init();
  111.         ds1302_write_time();
  112.        
  113.         while(1)
  114.         {
  115.                 ds1302_read_time();
  116.                 disp();
  117.                
  118.                 temp1=tmp();
  119.                 bai=temp1/100;
  120.                 shi=temp1%100/10;
  121.                 ge=temp1%10;
  122.           LCD_Write_String(3,1,table3);
  123.                 write_data('+');
  124.                 write_data(bai+0x30);       
  125.                 write_data(shi+0x30);
  126.                 write_data('.');
  127.                 write_data(ge+0x30);                
  128.                 write_data('C');
  129.                 tmpchange();
  130.                
  131.                 trig_supersonic();
  132.                 while(echo==0)
  133.                 {
  134.                         ;
  135.                 }
  136. ……………………

  137. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
綜合程序.zip (60.95 KB, 下載次數: 38)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:88279 發表于 2018-3-5 21:18 來自手機 | 只看該作者
學習了學習了!!!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视屏 | 国产亚洲精品精品国产亚洲综合 | 免费久| 可以免费观看的av | 欧美videosex性极品hd | 精品99久久 | 性色av网站 | 在线播放中文字幕 | 欧美性久久久 | 日韩成人一区 | 日韩精品视频在线 | 一级一片在线观看 | 国产一区二区三区久久 | 国产第一页在线观看 | 中文字幕在线视频一区二区三区 | a免费在线| 一二三四在线视频观看社区 | 国产美女永久免费无遮挡 | 国产精品99久久久久久宅男 | 在线看黄免费 | 一区二区三区电影在线观看 | 国产日韩一区二区 | 久久久久国产精品 | 日韩在线视频一区 | 最新国产在线 | 香蕉国产在线视频 | 日韩中文一区 | 日本精品一区二区三区视频 | 成人久久18免费网站麻豆 | 午夜大片| 日韩欧美理论片 | 一区二区三区在线观看视频 | 亚洲三区在线观看 | 一区二区三区精品视频 | 日韩和的一区二在线 | 日韩精品一区二 | 在线中文字幕视频 | 国产精品资源在线观看 | 久久久九九 | 亚洲一区二区三区高清 | 久久久久一区二区 |