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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 131|回復: 2
收起左側

有沒有大佬提供一種多線檢測短路的芯片

[復制鏈接]
ID:747872 發表于 2025-6-20 15:16 | 顯示全部樓層 |閱讀模式
現在有四十根線,需要檢測任意兩根線之間有沒有短路,有沒有大佬提供一下可用的芯片和大概方法
回復

使用道具 舉報

ID:688692 發表于 2025-6-21 21:29 | 顯示全部樓層
40個IO做二分法
回復

使用道具 舉報

ID:1133081 發表于 2025-6-22 08:21 | 顯示全部樓層
沒有遇到過這種用途的專用芯片,但可用單片機自制。曾經為某產品專用排線制作過26芯排線檢測裝置。是利用手頭現成材料,薅嘉立創羊毛打板,編程測試滿足需求。你只要選擇有更多IO口的芯片,套用這個程序就可以了。

無標題.jpg
無標題1.jpg


  1. #include <STC15F2K60S2.H>
  2. #include <intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. #define ulong unsigned long

  6. sbit K1 = P5^4;
  7. sbit K2 = P5^5;
  8. sbit LED1= P4^1;
  9. sbit LED2= P4^2;
  10. sbit FM = P4^5;

  11. //全局變量聲明
  12. uchar Key_value;//鍵值
  13. uchar error;//錯誤
  14. uchar Buzzer_sign;//蜂鳴器計次數
  15. //本地函數聲明
  16. void Delay_ms(uint t);
  17. void Timer1Init();
  18. void key_scan();   //按鍵掃描函數
  19. //主函數
  20. void main()
  21. {
  22.         P0M0 = 0x00;
  23.         P0M1 = 0x00;
  24.         P1M0 = 0x00;
  25.         P1M1 = 0x00;
  26.         P2M0 = 0x00;
  27.         P2M1 = 0x00;
  28.         P3M0 = 0x00;
  29.         P3M1 = 0x00;
  30.         P4M0 = 0x20;//P4.5推挽
  31.         P4M1 = 0x00;
  32.         P5M0 = 0x00;
  33.         P5M1 = 0x00;
  34.         FM=0;//蜂鳴器初始0
  35.         Timer1Init();
  36.         while(1)
  37.         {
  38.                 key_scan();      //按鍵掃描函數
  39.         }
  40. }

  41. void key_scan()
  42. {            
  43.         uchar i;
  44.         ulong a,b,c,d;
  45.         ulong num,num1;

  46.         if(!K1)
  47.         {
  48.                 Delay_ms(10);
  49.                 if(!K1)//短路測試
  50.                 {
  51.                         num=0xfffffffe;
  52.                         for(i=25;i>0;i--)
  53.                         {
  54.                                 P3=num>>24;
  55.                                 P2=num>>16;
  56.                                 P1=num>>8;
  57.                                 P0=num;
  58.                                 a=P3;b=P2;c=P1;d=P0;
  59.                                 _nop_();_nop_();
  60.                                 num1=0xfc000000|(a<<24)|(b<<16)|(c<<8)|d;
  61.                                 if(num==num1)
  62.                                 {
  63.                                         num=num<<1|1;
  64.                                         error=1;
  65.                                 }
  66.                                 else
  67.                                 {
  68.                                         i=1;
  69.                                         error=2;
  70.                                 }
  71.                                 Delay_ms(1);
  72.                         }
  73.                         if(error==1){Buzzer_sign=1;}
  74.                         if(error==2){Buzzer_sign=3;}
  75.                         TR1 = 1;
  76.                         while(!K1);
  77.                 }
  78.         }
  79.         if(!K2)//開路測試
  80.         {
  81.                 Delay_ms(10);
  82.                 if(!K2)
  83.                 {
  84.                         P3=0x03;P2=0xff;P1=0xff;P0=0xff;
  85.                         _nop_();_nop_();
  86.                         a=P3;b=P2;c=P1;d=P0;
  87.                         num1=(a<<24)|(b<<16)|(c<<8)|d;
  88.                         if(num1 == 0x00000000)
  89.                         {
  90.                                 error=1;
  91.                         }
  92.                         else
  93.                         {
  94.                                 error=2;
  95.                         }
  96.                         if(error==1){Buzzer_sign=1;}
  97.                         if(error==2){Buzzer_sign=3;}
  98.                         TR1 = 1;
  99.                         while(!K2);
  100.                 }
  101.         }
  102. }


  103. //T1中斷服務函數
  104. void InterruptTimer1() interrupt 3
  105. {
  106.         static uint i=0;                        //中斷計數變量

  107.         if(++i>=1000)//200ms
  108.         {
  109.                 i=0;
  110.                 Buzzer_sign--;
  111.                 if(Buzzer_sign==0)
  112.                 {
  113.                         FM=1;
  114.                         LED1=1;
  115.                         LED2=1;
  116.                         error=0;
  117.                         TR1 = 0;
  118.                 }
  119.         }
  120.         if(i<500)
  121.         {
  122.                 FM=~FM;
  123.                 if(error==1)LED1=0;
  124.                 if(error==2)LED2=0;
  125.         }
  126.         else                                         //蜂鳴器端口清0         
  127.         {
  128.                 FM=0;
  129.                 LED1=1;
  130.                 LED2=1;                                        //定時器1關閉               
  131.         }


  132. }
  133. /*---------------------------------------------
  134.   定時器1初始化,時鐘1T、16位重載模式
  135. ----------------------------------------------*/
  136. void Timer1Init(void)                //200微秒@11.0592MHz
  137. {
  138.         TMOD &= 0x0F;                //設置定時器模式
  139.         TMOD |= 0x20;                //設置定時器8位自動重裝模式
  140.         TL1 = 0x48;                //設置定時初始值
  141.         TH1 = 0x48;                //設置定時重載值
  142.         TF1 = 0;                //清除TF1標志
  143. //        TR1 = 1;                //定時器1開始計時
  144.         EA  = 1;
  145.         ET1 = 1;
  146. }
  147. /*****************************
  148.         延時函數
  149. *****************************/
  150. void Delay_ms(uint t)//1T@11.0592MHz
  151. {
  152.         uint i,j;
  153.         for(i=t;i>0;i--)
  154.                 for(j=1100;j>0;j--);
  155. }
復制代碼



回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本视频在线 | 中文在线一区 | 99re在线视频 | 欧美极品在线视频 | 视频在线一区二区 | 91伊人 | 欧美 日韩 国产 成人 在线 | 在线观看国产h | 亚洲欧美国产一区二区三区 | 精品欧美一区二区三区久久久 | 国产一区2区| 欧美一区免费 | 五月天激情综合网 | 日韩最新网站 | 久久伊人精品 | 日本一区二区三区四区 | 大乳boobs巨大吃奶挤奶 | 中文字幕一区二区三区四区 | 国外成人在线视频 | 日韩精品一区二区在线 | 欧美激情久久久 | 在线观看免费国产 | 欧美在线视频网站 | 国产精品久久久久久久久动漫 | 一区二区三区视频 | 国产91精品网站 | 成人在线中文字幕 | 全部免费毛片在线播放网站 | 黄色一级大片在线免费看产 | 精品乱码久久久久 | 综合激情久久 | 国产精品久久国产精品久久 | 婷婷二区 | 狠狠亚洲| 国产精品免费一区二区三区 | 欧美亚洲另类在线 | 三级免费网 | 国产精品99久久久久久久vr | 黄色骚片 | 久久精品久久久久久 | 男人的天堂久久 |