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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4149|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

GP2D12紅外模塊測(cè)量距離

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:166237 發(fā)表于 2017-2-23 19:03 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
各位大神,我想問(wèn)一下如何利用單片機(jī)實(shí)現(xiàn)GP2D12紅外模塊測(cè)量距離,并且利用數(shù)碼管顯示出距離
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:166229 發(fā)表于 2017-2-23 19:08 | 只看該作者
keil軟件編寫程序然后生成hex文件,可以用PROTUES先進(jìn)行仿真
回復(fù)

使用道具 舉報(bào)

板凳
ID:166237 發(fā)表于 2017-2-23 21:16 | 只看該作者
彬彬有你 發(fā)表于 2017-2-23 19:08
keil軟件編寫程序然后生成hex文件,可以用PROTUES先進(jìn)行仿真

不知道怎么編程,不知道GP2D12紅外模塊的時(shí)序圖這些,找了很久都沒(méi)找到
回復(fù)

使用道具 舉報(bào)

地板
ID:155507 發(fā)表于 2017-2-23 22:14 | 只看該作者
GP2D12 紅外線測(cè)距輸出是模擬信號(hào),要輸入到單片機(jī)就需要經(jīng)過(guò)模數(shù)(AD)轉(zhuǎn)換,可以考慮加AD轉(zhuǎn)換芯片,當(dāng)然有些單片機(jī)本身是有模擬輸入口的,由內(nèi)部進(jìn)行AD轉(zhuǎn)換。

看看網(wǎng)上找到的這個(gè)能用不?

  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 個(gè)1us延時(shí)
  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. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

5#
ID:123289 發(fā)表于 2017-2-23 23:16 | 只看該作者
單片機(jī)、GP2D12紅外模塊、數(shù)碼管,研讀這三樣?xùn)|西的規(guī)格書(shū),而后再動(dòng)手。
回復(fù)

使用道具 舉報(bào)

6#
ID:166237 發(fā)表于 2017-2-24 19:43 | 只看該作者
angmall 發(fā)表于 2017-2-23 22:14
GP2D12 紅外線測(cè)距輸出是模擬信號(hào),要輸入到單片機(jī)就需要經(jīng)過(guò)模數(shù)(AD)轉(zhuǎn)換,可以考慮加AD轉(zhuǎn)換芯片,當(dāng)然有 ...

謝謝
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 人人色视频 | 久久亚洲一区二区 | 国产精品久久国产精品99 | 啪啪毛片| 日本精品一区二区在线观看 | 久久草在线视频 | 国产欧美精品一区 | 精品亚洲一区二区三区 | 日韩精品在线一区 | 国产日韩一区二区三区 | 日韩欧美精品一区 | 欧美性video 精品亚洲一区二区 | 国产精品欧美一区喷水 | 亚洲网址在线观看 | 成人国产精品色哟哟 | 国产精品99久久久精品免费观看 | 亚洲一区 中文字幕 | 欧美精品欧美精品系列 | 久久伦理中文字幕 | 伊人手机在线视频 | 91精品久久久久久久久 | 成人欧美一区二区三区黑人孕妇 | 国产精品一区在线观看 | 国产综合在线视频 | 最新中文字幕在线 | 午夜视频在线观看一区二区 | 国产成人免费视频网站高清观看视频 | 在线天堂免费中文字幕视频 | 国产在线观看一区二区 | 成人精品一区二区 | 91在线精品视频 | 亚洲成av | 国产精品国产a级 | 成人免费一区二区三区视频网站 | 亚洲国产精品99久久久久久久久 | 99久久影院 | 欧美性网| 日韩精品在线一区 | 伊人网综合在线 | 国产精品免费一区二区三区四区 | 91porn成人精品 |