欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4292|回復: 5
收起左側

繩式位移傳感器51單片機程序

[復制鏈接]
ID:240590 發表于 2017-10-18 14:52 | 顯示全部樓層 |閱讀模式
繩式位移傳感器51單片機程序

單片機源程序如下:
  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[]={                        //定義共陰極數碼管顯示的16個字符的編碼
  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()        //初始化函數
  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. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

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


回復

使用道具 舉報

ID:284570 發表于 2018-8-27 17:12 | 顯示全部樓層
請問你這個繩式位移傳感器具體是什么
回復

使用道具 舉報

ID:417873 發表于 2019-4-15 18:03 | 顯示全部樓層
大佬   你這個原理圖還有嗎
回復

使用道具 舉報

ID:265874 發表于 2019-11-11 16:52 | 顯示全部樓層
我想問跟P1有什么關系
回復

使用道具 舉報

ID:24486 發表于 2020-3-3 23:06 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:24486 發表于 2020-3-4 00:29 | 顯示全部樓層
請問,是什么型號拉線傳感器,有沒有原理圖?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表