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

標題: GP2D12紅外模塊測量距離 [打印本頁]

作者: 林懂    時間: 2017-2-23 19:03
標題: GP2D12紅外模塊測量距離
各位大神,我想問一下如何利用單片機實現GP2D12紅外模塊測量距離,并且利用數碼管顯示出距離

作者: 彬彬有你    時間: 2017-2-23 19:08
keil軟件編寫程序然后生成hex文件,可以用PROTUES先進行仿真
作者: 林懂    時間: 2017-2-23 21:16
彬彬有你 發表于 2017-2-23 19:08
keil軟件編寫程序然后生成hex文件,可以用PROTUES先進行仿真

不知道怎么編程,不知道GP2D12紅外模塊的時序圖這些,找了很久都沒找到
作者: angmall    時間: 2017-2-23 22:14
GP2D12 紅外線測距輸出是模擬信號,要輸入到單片機就需要經過模數(AD)轉換,可以考慮加AD轉換芯片,當然有些單片機本身是有模擬輸入口的,由內部進行AD轉換。

看看網上找到的這個能用不?

  1. #include"reg52.h"
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. sbit cs = P3^2;
  6. long int read=0;
  7. sbit wela = P2^7;
  8. sbit dula = P2^6;
  9. sbit lcden=P3^4;
  10. sbit lcdrs=P3^5;
  11. uchar bai,shi,ge,num;
  12. uchar table[] ="123456789";
  13. void delayms(uint z)
  14. {
  15.         uint x,y;
  16.         for(x=z;x>0;x--)
  17.         for(y=110;y>0;y-- );
  18. }
  19. void write_com(uchar com)
  20. {        
  21.         lcdrs=0;
  22.         P0=com;
  23.         delayms(5);
  24.         lcden=1;
  25.         delayms(5);
  26.         lcden=0;
  27. }
  28. void write_data(uchar date)
  29. {
  30.         lcdrs=1;
  31.         P0=date;
  32.         delayms(5);
  33.         lcden=1;
  34.         delayms(5);
  35.         lcden=0;
  36. }
  37. void init()
  38. {
  39.         dula=0;
  40.         wela=0;
  41.         lcden=0;
  42.         write_com(0x38);
  43.         write_com(0x0c);
  44.         write_com(0x06);
  45.         write_com(0x01);
  46. }
  47. void delay(uint a)           //  a 個1us延時
  48. {
  49.         for(;a > 0;a --)
  50.         _nop_();_nop_();
  51. }
  52. void T0_time() interrupt 1
  53. {
  54.         cs = 0;
  55.         RD = 0;
  56.         read = P1;
  57.         INT0 = 1;
  58. }
  59. uint adc0804()
  60. {
  61.         TMOD=0X01;
  62.         TH0=(65536-45872)/256;
  63.         TL0=(65536-45872)/256;
  64.         EA=1;
  65.         ET0=1;
  66.         TR0=1;
  67.         INT0 = 1;
  68.         cs = 0;
  69.         WR = 0;
  70.         delay(255);
  71.         cs = 1;
  72.         WR = 1;
  73.         delay(200);               
  74.         read = read * 196 /100;
  75.         return read;
  76.        
  77. }
  78. void math(uint x)
  79. {
  80.         bai = x / 100;
  81.         shi = x /10 % 10;
  82.         ge = x % 10;
  83. }
  84. void display()
  85. {         
  86.                
  87.                 math(adc0804());
  88.                
  89.                 dula=1;
  90.                 P0 = table[bai+10];
  91.                 dula=0;
  92.                 P0=0xff;
  93.                 wela = 1;
  94.                 P0 = 0xfe;
  95.                 wela=0;
  96.                 delay(7000000);
  97.                                
  98.                 dula=1;
  99.                 P0 = table[shi];
  100.                 dula=0;
  101.                 P0=0xff;
  102.                 wela = 1;
  103.                 P0 = 0xfd;
  104.                 wela=0;
  105.                 delay(7000000);
  106.                                
  107.                 dula=1;
  108.                 P0 = table[ge];
  109.                 dula=0;
  110.                 P0=0xff;
  111.                 wela = 1;
  112.                 P0 = 0xfb;
  113.                 wela=0;
  114.                 delay(7000000);
  115.                
  116. }

  117. void main()
  118. {
  119.         cs=0;
  120.         init();           

  121.         while(1)
  122.         {
  123.                
  124.                 math(adc0804());
  125.                
  126.                 write_com(0x80+5);
  127.                
  128.                 write_data(table[bai]);
  129.                 write_data(table[shi]);
  130.                 write_data(table[ge]);
  131.                 delayms(500);
  132.                
  133.         }       
  134. }
復制代碼

作者: yzwzfyz    時間: 2017-2-23 23:16
單片機、GP2D12紅外模塊、數碼管,研讀這三樣東西的規格書,而后再動手。
作者: 林懂    時間: 2017-2-24 19:43
angmall 發表于 2017-2-23 22:14
GP2D12 紅外線測距輸出是模擬信號,要輸入到單片機就需要經過模數(AD)轉換,可以考慮加AD轉換芯片,當然有 ...

謝謝




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 天天操天天射综合网 | 18成人在线观看 | 欧美日韩在线成人 | 在线视频一区二区三区 | 亚洲一区日韩 | 久久99深爱久久99精品 | 久久久91精品国产一区二区三区 | 国产精品一区三区 | 亚洲一区二区三区免费在线观看 | 91在线观看 | av高清毛片| 国产精品激情 | 久久人爽 | 一区二区三区视频在线观看 | 精品久久久久一区二区国产 | 国产最新精品视频 | 国产一区二区在线视频 | 99久久国产综合精品麻豆 | www.操.com| 9久久精品 | 91免费观看国产 | 久久国产精品-久久精品 | 久久国产精品首页 | 中文字幕av一区二区三区 | 日本网站免费在线观看 | 午夜精品久久久久久久久久久久 | 久久国产精品一区二区 | 免费一看一级毛片 | 少妇精品久久久久久久久久 | 国产一区二区三区久久 | 一区二区三区高清 | 国产精品1 | 国产欧美在线一区二区 | 国产一区二区三区在线免费观看 | 一级毛片免费完整视频 | 成人黄色电影在线观看 | 国产精品不卡视频 | 欧美一区二区在线播放 | 日韩高清一区 | 欧美一级黄色网 | 中文字幕一区二区三区四区 |