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

標題: GP2D12紅外測距傳感器 單片機程序及PROTEUS仿真 實測可用 [打印本頁]

作者: heicad    時間: 2016-8-15 13:44
標題: GP2D12紅外測距傳感器 單片機程序及PROTEUS仿真 實測可用
GP2D12紅外測距傳感器的PROTEUS仿真原理圖如下:





GP2D12紅外測距傳感器的單片機程序:
  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.    */

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


  122.                    while(1)
  123.                 {
  124.                

  125.             math(adc0804());
  126.                

  127.                 write_com(0x80+5);
  128.         
  129.                 write_data(table[bai]);
  130.                 write_data(table[shi]);
  131.                 write_data(table[ge]);
  132.                         delayms(500);
  133.                
  134.                 }
  135.         
  136. }
復制代碼



注意仿真工程只能用Proteus7.5這個版本,其他版本均無法仿真,必須要Proteus7.5才能用,如果你沒有安裝此版本的話就不必下載了
Keil代碼與Proteus7.5仿真下載: GP2D12仿真文件.zip (165.48 KB, 下載次數: 419)

作者: 李12117    時間: 2017-5-3 23:02
仿真時說沒找到gp2d12這個元件怎么辦?

作者: bingo大幅度    時間: 2017-8-22 10:06
仿真上LCD1602顯示的167是1.67V,GP2D12顯示的54是54cm嗎?
作者: 1229330235    時間: 2017-10-16 19:40
好資料,51黑有你更精彩!!!
作者: jxdianqi    時間: 2017-10-19 09:58
下載學習,謝謝分享
作者: 風流有何罪    時間: 2018-4-18 11:31
學習了,謝謝分享
作者: luo1084036180    時間: 2018-12-17 19:57
學習了,謝謝分享
作者: 畢鈺    時間: 2019-6-21 22:46
學習學習
作者: x3050421831    時間: 2019-10-16 18:32
紅外測距傳感器與STC89C52怎么鏈接
作者: 小叔叔    時間: 2019-11-18 09:18
怎么進行操作,數碼管燈不亮
作者: evilshadow    時間: 2021-12-9 11:19
你好,我下載了你的GP2D12仿真文件,怎么不能仿真啊,是因為沒有lcd的程序文件嗎?
作者: heicad    時間: 2021-12-24 04:42
李12117 發表于 2017-5-3 23:02
仿真時說沒找到gp2d12這個元件怎么辦?

樓主說了,這個文件只能用Proteus7.5打開才可以,其他版本都仿真,我測試也是這樣的,其他版本打開 1602都是無顯示,下圖是用Proteus7.5打開的效果

51hei.gif (103.18 KB, 下載次數: 41)

51hei.gif

作者: heicad    時間: 2021-12-24 04:47
小叔叔 發表于 2019-11-18 09:18
怎么進行操作,數碼管燈不亮

這個是用LCD1602來顯示的




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲一区二区三区免费在线观看 | 麻豆changesxxx国产| 国产女人与拘做受视频 | 日韩欧美一区二区三区四区 | 少妇无套高潮一二三区 | 一区二区三区亚洲 | 欧美日韩一区在线观看 | 欧美在线小视频 | 国产乱码精品一品二品 | 国产欧美精品 | 亚洲久在线 | 在线播放一区 | 欧美精品一区二区三区四区 在线 | 干干天天 | 91精品久久久久久久久久入口 | 一区二区免费看 | 亚洲一区二区三区免费视频 | 久久国产成人 | caoporn国产精品免费公开 | 岛国av一区二区 | 国产91视频播放 | 麻豆av网| 成人网在线 | av国产精品| 国产精品美女久久久久久不卡 | 午夜视频在线播放 | 性欧美hd | 国产精品久久久久久久久免费相片 | 久草院线| 日韩高清国产一区在线 | 国产欧美精品一区二区三区 | 婷婷综合网| 国产乱码精品1区2区3区 | 日韩欧美一区二区三区免费观看 | 欧美激情在线精品一区二区三区 | 亚洲精品中文字幕在线 | 成人h动漫精品一区二区器材 | 国产在视频一区二区三区吞精 | 国产激情片在线观看 | 玖玖综合在线 | 中文字幕日本一区二区 |