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

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

QQ登錄

只需一步,快速開始

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

繩式位移傳感器51單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:240590 發(fā)表于 2017-10-18 14:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
繩式位移傳感器51單片機(jī)程序

單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #include<stdio.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. sbit wei=P2^7;
  7. sbit duan=P2^6;
  8. sbit adwr=P3^6;
  9. sbit adrd=P3^7;
  10. uchar flag,a;
  11. uchar flag_uart,flag_time,flag_on,a,i,t0_num,ad_val;
  12. float ad_vo;
  13. uchar code table[]={                        //定義共陰極數(shù)碼管顯示的16個(gè)字符的編碼
  14. 0x3f,0x06,0x5b,0x4f,
  15. 0x66,0x6d,0x7d,0x07,
  16. 0x7f,0x6f,0x77,0x7c,
  17. 0x39,0x5e,0x79,0x71};
  18. void delay(uint x)
  19. {
  20.     uint i,j;                                                                          
  21.         for(i=x;i>0;i--)                                                         
  22.             for(j=110;j>0;j--);
  23.                 }
  24. void init()        //初始化函數(shù)
  25. {
  26.    TMOD=0x21;
  27.    SCON=0x50;
  28.    TH0=(65536-50000)/256;
  29.    TL0=(65536-50000)%256;
  30.    TH1=0xfd;
  31.    TL1=0xfd;
  32.    TR1=1;
  33.    ET0=1;
  34.    REN=1;
  35.    SM0=0;
  36.    SM1=1;
  37.    EA=1;
  38.    ES=1;
  39. }
  40. void display(uchar value)
  41. {
  42.            uchar bai,shi,ge;
  43.            bai=value/100;
  44.            shi=(value%100)/10;
  45.            ge=value%10;

  46.            duan=1;
  47.            P0=table[bai];
  48.            duan=0;
  49.            P0=0xff;
  50.            wei=1;
  51.            P0=0x7e;
  52.            wei=1;
  53.            delay(5);

  54.           
  55.            duan=1;
  56.            P0=table[shi];
  57.            duan=0;
  58.            P0=0xff;
  59.            wei=1;
  60.            P0=0x7d;
  61.            wei=1;
  62.            delay(5);

  63.            duan=1;
  64.            P0=table[ge];
  65.            duan=0;
  66.            P0=0xff;
  67.            wei=1;
  68.            P0=0x7b;
  69.            wei=1;
  70.            delay(5);
  71. }
  72. uchar get_ad()
  73. {
  74.          uchar adval;
  75.           adwr=1;
  76.           _nop_();
  77.           adwr=0;
  78.           _nop_();
  79.           adwr=1;
  80.           P1=0xff;

  81.           adrd=1;
  82.           _nop_();
  83.           adrd=0;
  84.           _nop_();
  85.           adval=P1;
  86.           adrd=1;
  87.           return adval;
  88. }
  89. void main()
  90. {
  91.    init();
  92.    wei=1;
  93.    P0=0x7f;
  94.    wei=0;
  95.    while(1)
  96.    {
  97.          if(flag_uart==1)
  98.           {
  99.                 flag_uart=0;
  100.             ES=0;
  101.                 TI=1;
  102.                 switch(flag_on)
  103.                 {
  104.                         case 0:puts("turn on ad!\n");
  105.                           TR0=1;
  106.                           break;
  107.                         case 1:printf("turn off ad!\n");
  108.                           TR0=0;
  109.                           break;
  110.                         case 2:puts("error!\n");
  111.                       break;
  112.                 }
  113.                 while(!TI);
  114.                 TI=0;
  115.                 ES=1;
  116.            }
  117.           if(flag_time==1)
  118.             {
  119.                    flag_time=0;
  120.                    ad_val=get_ad();
  121.                    ad_vo=(float)ad_val*(5.0/256.0)*40.0;
  122.                    ES=0;
  123.                    TI=1;
  124. //                   printf("the displacement is %fmm\n",ad_vo);
  125.                    printf("%8f\n",ad_vo);
  126.                            while(!TI);
  127.                      TI=0;
  128.                     ES=1;
  129.                         }
  130.                         display(ad_val);
  131.    }                 
  132. }
  133. void time()interrupt 1
  134. {
  135.    TH0=(65536-50000)/256;
  136.    TL0=(65536-50000)%256;
  137. ……………………

  138. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
tongxin.rar (42.02 KB, 下載次數(shù): 37)


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

使用道具 舉報(bào)

沙發(fā)
ID:284570 發(fā)表于 2018-8-27 17:12 | 只看該作者
請(qǐng)問你這個(gè)繩式位移傳感器具體是什么
回復(fù)

使用道具 舉報(bào)

板凳
ID:417873 發(fā)表于 2019-4-15 18:03 | 只看該作者
大佬   你這個(gè)原理圖還有嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:265874 發(fā)表于 2019-11-11 16:52 | 只看該作者
我想問跟P1有什么關(guān)系
回復(fù)

使用道具 舉報(bào)

5#
ID:24486 發(fā)表于 2020-3-3 23:06 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:24486 發(fā)表于 2020-3-4 00:29 | 只看該作者
請(qǐng)問,是什么型號(hào)拉線傳感器,有沒有原理圖?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人在线免费 | 精久久久| 欧美一级欧美三级在线观看 | 亚洲视频在线观看 | 欧美日韩专区 | 97国产超碰 | 亚洲国产成人精品久久 | 成人免费影院 | 免费观看一级毛片 | 黑人巨大精品欧美一区二区一视频 | 免费在线观看一区二区 | 久久精品亚洲精品 | 四虎影院在线观看av | 亚洲精品视频在线观看免费 | 精品久| 国产69精品久久久久777 | 性色av一区二区三区 | 国产精品成人一区二区三区夜夜夜 | 日本韩国欧美在线观看 | 日韩午夜精品 | 亚洲乱码国产乱码精品精98午夜 | 久久国产免费看 | 亚洲综合无码一区二区 | 欧美一级黄色免费 | 欧美日韩电影在线 | 亚洲一区二区三区在线播放 | 国产一区久久久 | 亚洲精品www | 精品一区二区久久久久久久网站 | 99亚洲国产精品 | 男人天堂网址 | 最新日韩在线 | 国产黄色av网站 | 久久国产区| 国产精品久久毛片av大全日韩 | 国产一区二区三区精品久久久 | 久久人人爽人人爽人人片av免费 | 久久久久国产一区二区三区四区 | h视频在线观看免费 | 91在线观看网址 | 精品国产精品国产偷麻豆 |