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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5868|回復: 14
打印 上一主題 下一主題
收起左側

單片機網線測試儀程序與電路原理圖

  [復制鏈接]
跳轉到指定樓層
樓主
程序是網上的,經過我小改了一下.自已沒有做實物,以后要用有可能把它自做出來.5V供電,可改成那充電 ,也方便,可能畫得不太好.有原理圖,
供大家參考,和修改,有源程序,也可供大家,學習和修改.
電路原理圖如下:


單片機源程序如下:
  1. /**********************網線測試儀*****************************
  2.         網線測試儀,定義三個按鈕作為速度選擇
  3.         速度選擇分別有30ms/1s/2s
  4.         程序初始化默認進入1s運行函數
  5.         其中網線掃描口用的P2口
  6. *************************************************************/
  7. #include <STC15.h>
  8. #include <intrins.h>                                  //循環左右移頭文件
  9. #define uchar unsigned char
  10. #define uint unsigned int
  11. sbit sw1 = P0^0;                                        //k1按鍵.定義30ms按鈕
  12. sbit sw2 = P0^1;                                        //k2按鍵,定義1S按鈕
  13. sbit sw3 = P0^2;                                        //K3按鍵,定義2S按鈕
  14. uint i,a,b;                                                        //定義變量
  15. void delay(int t)
  16. {
  17.         int y;
  18.         for(;t>0;t--)
  19.                 for(y=110;y>0;y--);
  20. }
  21. void key1();                                                //函數聲明
  22. void key2();
  23. void key3();
  24. void key1()                                                        //30ms運行函數
  25. {
  26.         if(sw1 == 0)
  27.         {
  28.                 delay(10);
  29.                 if(sw1 == 0)
  30.                 {
  31.                         sw2 = sw3 = 1;
  32.                         P2 = a;
  33.                         b = 1;
  34.                         while(b)
  35.                         {
  36.                                 for(i=9;i>0;i--)
  37.                                 {
  38.                                         P2 = _crol_(a,1);                 
  39.                                         for(i=30;i>0;i--)                 //1/2s
  40.                                         {
  41.                                                 delay(10);                        
  42.                                                 if(sw2 == 0)
  43.                                                 {
  44.                                                         delay(5);
  45.                                                         if(sw2 == 0)
  46.                                                         {
  47.                                                                 key2();
  48.                                                         }
  49.                                                 }
  50.                                                 if(sw3 == 0)
  51.                                                 {
  52.                                                         delay(5);
  53.                                                         if(sw3 == 0)
  54.                                                         {
  55.                                                                 key3();
  56.                                                         }
  57.                                                 }
  58.                                         }
  59.                                         a = P2;
  60.                                 }
  61.                         }
  62.                 }
  63.         }        
  64. }
  65. void key2()                                                  //1S運行函數
  66. {
  67.         if(sw2 == 0)
  68.         {
  69.                 delay(10);
  70.                 if(sw2 == 0)
  71.                 {
  72.                         sw1 = sw3 =1;
  73.                         P2 = a;
  74.                         b = 1;
  75.                         while(b)
  76.                         {
  77.                                 for(i=8;i>0;i--)
  78.                                 {
  79.                                         P2 = _crol_(a,1);
  80.                                         for(i=60;i>0;i--)                 //1S
  81.                                         {
  82.                                                 delay(10);                        
  83.                                                 if(sw1 == 0)
  84.                                                 {
  85.                                                         delay(5);
  86.                                                         if(sw1 == 0)
  87.                                                         {
  88.                                                                 key1();
  89.                                                         }
  90.                                                 }
  91.                                                 if(sw3 == 0)
  92.                                                 {
  93.                                                         delay(5);
  94.                                                         if(sw3 == 0)
  95.                                                         {
  96.                                                                 key3();
  97.                                                         }
  98.                                                 }
  99.                                         }
  100.                                         a = P2;
  101.                                 }
  102.                         }
  103.                 }
  104.         }        
  105. }
  106. void key3()                                           //2S運行函數
  107. {
  108.         if(sw3 == 0)
  109.         {
  110.                 delay(10);
  111.                 if(sw3 == 0)
  112.                 {
  113.                         sw1 = sw2 = 1;
  114.                         P2 = a;
  115.                         b = 1;
  116.                         while(b)
  117.                         {
  118.                                 for(i=8;i>0;i--)
  119.                                 {
  120.                                         P2 = _crol_(a,1);
  121.                                         for(i=200;i>0;i--)                 //2S
  122.                                         {
  123.                                                 delay(10);                        
  124.                                                 if(sw1 == 0)
  125.                                                 {
  126.                                                         delay(5);
  127.                                                         if(sw1 == 0)
  128.                                                         {
  129.                                                                 key1();
  130.                                                         }
  131.                                                 }
  132.                                                 if(sw2 == 0)
  133.                                                 {
  134.                                                         delay(5);
  135.                                                         if(sw2 == 0)
  136.                                                         {
  137.                                                                 key2();
  138.                                                         }
  139.                                                 }
  140.                                         }
  141.                                         a = P2;
  142.                                 }
  143.                         }
  144.                 }
  145.         }
  146. }
  147. void main()
  148. {
  149.         P2 = 0xff;                                  //IO賦初值
  150.         a = 0xfe;
  151.         sw2 = 0;                                  //初始執行1s函數
  152.         while(1)
  153.         {
  154.                 key1();
  155.                 key2();
  156.                 key3();
  157.         }
  158. }
復制代碼

也是剛學單片機,有不足的地方,歡迎指出.
Keil代碼和pdf原理圖2個文件下載: 網線測試儀改良板.zip (73.88 KB, 下載次數: 49)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50

查看全部評分

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

使用道具 舉報

來自 2#
ID:562099 發表于 2023-5-1 21:27 | 只看該作者
實物以作出來了,用的現成的DB9.接口作的。STC15單片機制作的,I0改下。跟上面原理圖有所不同。三個按鍵。一個控制常亮。全部亮。一個控制流水燈形式。一個按鍵手動控制,按一下,燈走動一下。下面是制作的實物圖。

e12d32446c932a340a07ac9d8dbb17d.jpg (311.7 KB, 下載次數: 163)

e12d32446c932a340a07ac9d8dbb17d.jpg

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:562099 發表于 2022-4-22 20:42 | 只看該作者
單片機型號,STC15F2K60S2/LQFP32
回復

使用道具 舉報

地板
ID:53813 發表于 2022-12-19 16:38 | 只看該作者
這是不是燈珠電源沒了?
回復

使用道具 舉報

5#
ID:562099 發表于 2022-12-19 19:38 | 只看該作者
那你怎么樣的說說
回復

使用道具 舉報

6#
ID:262356 發表于 2023-1-11 19:01 | 只看該作者
三極管一樣的人 發表于 2022-12-19 16:38
這是不是燈珠電源沒了?

要亮的IO口低電平,其它IO口輸出高電平即可。看樓主程序怎么寫了
回復

使用道具 舉報

7#
ID:492633 發表于 2023-1-15 20:57 | 只看該作者
NE555+CD4017就行搞這么復雜成本也高
回復

使用道具 舉報

8#
ID:1069621 發表于 2023-4-3 13:58 | 只看該作者
將單片機換成AT89C51,咋不亮啊
回復

使用道具 舉報

9#
ID:58356 發表于 2024-4-24 22:53 | 只看該作者
如果測量50p排線io口不夠用
回復

使用道具 舉報

10#
ID:30165 發表于 2024-5-12 22:13 | 只看該作者
大炮打蚊子  大材小用
回復

使用道具 舉報

11#
ID:562099 發表于 2024-8-24 09:05 | 只看該作者
dpl123 發表于 2024-4-24 22:53
如果測量50p排線io口不夠用

可以擴展的啊
回復

使用道具 舉報

12#
ID:45801 發表于 2024-11-9 10:26 | 只看該作者
不錯的東西可以借鑒一下
回復

使用道具 舉報

13#
ID:660808 發表于 2024-11-18 23:41 | 只看該作者
改成能測長度更好。
回復

使用道具 舉報

14#
ID:34149 發表于 2024-12-11 16:24 | 只看該作者
燈珠回路最好串聯一個限流電阻,保護單片機IO口,同時節省功耗。如果能用LED屏幕直觀顯示通斷線,加入一些尋線功能,做成多功能的,就更好了。
回復

使用道具 舉報

15#
ID:579057 發表于 2024-12-11 20:32 | 只看該作者
不錯
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品视频久久 | 成人三级av | 波波电影院一区二区三区 | 亚洲一区二区免费视频 | 国产视频第一页 | 91在线最新 | 亚洲欧美日韩精品久久亚洲区 | 天天色天天 | 日韩免费av | 久久精品小短片 | 色伊人网 | 国产成人精品久久二区二区91 | 国产99久久精品一区二区300 | а天堂中文最新一区二区三区 | 欧美日韩成人影院 | 日本 欧美 国产 | 天天操天天干天天透 | 欧美精品片| 日本不卡一区二区三区 | 丝袜 亚洲 欧美 日韩 综合 | 国产一区不卡 | 黄色精品| 国产精品一区二区久久久久 | aaaaaa大片免费看最大的 | 国产一区二区三区视频 | 国产美女精品视频 | 欧美在线一区二区三区 | 久久精品黄色 | ww亚洲ww亚在线观看 | 欧美大片一区 | 在线欧美视频 | 国产精品久久久久久妇女6080 | 精品一区欧美 | 高清亚洲 | 久久99精品国产麻豆婷婷 | 亚洲综合中文字幕在线观看 | 欧美中文一区 | 久久精品电影 | 精品国产乱码久久久久久丨区2区 | 中文字幕日韩欧美一区二区三区 | 99热这里都是精品 |