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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

電容點焊機制作 附單片機程序與PCB文件

查看數: 22366 | 評論數: 21 | 收藏 26
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-3-22 19:45

正文摘要:

咸魚買了個48V165F電容,拆開了里面18個電容,3個電容串聯做了個點焊機,帶均壓,STC89C52控制,一個數碼管靜態顯示時間ms,可以保存上一次設置的時間,6個串聯做了兩個應急電源,實驗了可以不用電瓶啟動轎車,新手 ...

回復

ID:993738 發表于 2023-2-4 20:21
不發電路圖也就罷了,最起碼畫圖,該標的名稱應該有吧?還有,protel也可以畫雙層吧。你焊盤直接放上,啥都不標,而且,做出來的實物圖,你拍個照也可作為參考,結果,啥都沒,,是誠心分享么。。。
ID:993738 發表于 2023-2-1 14:10
貼pcb還不如直接發電路圖,,太丑了。。。
ID:1048397 發表于 2022-11-10 10:33
感謝樓主的分享!均壓板地方夠,還用貼片原件,實力強呀。
ID:1050833 發表于 2022-11-7 13:04
能貼個電路原理圖嗎?
ID:1045132 發表于 2022-9-19 12:00
沒有原理圖,這個pcb軟件看不懂
ID:1045132 發表于 2022-9-18 22:22
pcb文件怎么導入到立創eda
ID:1045132 發表于 2022-9-18 21:52
頭大看不懂程序
ID:1043826 發表于 2022-9-5 08:18
樓主厲害了,也想制作個玩玩,賺分下載
ID:292518 發表于 2021-12-23 15:54
值得收藏一下,學習學習。想做一個試試
ID:994031 發表于 2021-12-20 22:22

樓主,貼個電路圖啊,
ID:253767 發表于 2021-12-20 07:37
好東西,謝謝分享!!!
ID:993738 發表于 2021-12-19 22:10
樓主,能貼個電路原理圖嗎?
ID:672895 發表于 2021-11-29 21:23
電路圖都沒有,是誠心分享嗎
ID:128560 發表于 2021-9-27 16:04
下載了,電路圖都沒有一個,是誠心分享嗎
ID:128560 發表于 2021-9-23 14:41
很感興趣,也想仿制一個。
ID:898320 發表于 2021-9-12 21:46
學習學習。想做一個
ID:829622 發表于 2021-8-19 14:32
值得收藏一下,學習學習。想做一個試試
ID:362097 發表于 2021-8-18 02:56
謝謝樓主分享這么好的教程,有時間試試做一個。
ID:381496 發表于 2021-6-13 16:30
這個是個好東西,準備做一個。
ID:739610 發表于 2021-3-22 22:28
應急電源均壓板那塊  用修電機的絕緣漆抹一層 摳出焊盤再焊接元件  也比你像啃得似的強
ID:328014 發表于 2021-3-22 20:16
好東東,大家注意PCB只能用Protel99才能打開,其他版本均不行.樓主的單片機程序:
  1. #include <reg52.h>                                        //定義頭文件
  2. #include <intrins.h>
  3. #define uchar unsigned char                        //宏定義
  4. #define uint unsigned int                 //宏定義
  5. #define D P2   //段選用D代替
  6. sbit s1=P3^0;//定義加按鍵
  7. sbit s2=P3^1;//定義減按鍵
  8. sbit q1=P0^2;//定義蜂鳴器
  9. sbit s3=P1^0;//定義點焊開始
  10. sbit m=P0^0;//定義點焊脈沖輸出
  11. uchar a;         //設置全局變量

  12. #define RdCommand 0x01        //定義ISP的操作命令
  13. #define PrgCommand 0x02
  14. #define EraseCommand 0x03        
  15. #define Error 1
  16. #define Ok 0
  17. #define WaitTime 0x01 //定義CPU的等待時間
  18. sfr ISP_DATA=0xe2;  //寄存器申明
  19. sfr ISP_ADDRH=0xe3;
  20. sfr ISP_ADDRL=0xe4;
  21. sfr ISP_CMD=0xe5;
  22. sfr ISP_TRIG=0xe6;
  23. sfr ISP_CONTR=0xe7;

  24. uchar code d[]={0x88,0xEE,0x94,0xC4,0xE2,0xC1,0x81,0xEC,0x80,0xC0};  //不帶小數點

  25. void DelayMs(unsigned int t);    //ms級延時
  26. void anjian( );            //按鍵函數
  27. void mchshch( );            //脈沖輸出函數


  28. /* ================ 打開 ISP,IAP 功能 ================= */
  29. void ISP_IAP_enable(void)
  30. {
  31.         EA        =        0;                                                        /* 關中斷                 */
  32.         ISP_CONTR =        ISP_CONTR & 0x18;       /* 0001,1000        */
  33.         ISP_CONTR =        ISP_CONTR | WaitTime;        /* 寫入硬件延時        */
  34.         ISP_CONTR =        ISP_CONTR | 0x80;       /* ISPEN=1                */
  35. }
  36. /* =============== 關閉 ISP,IAP 功能 ================== */
  37. void ISP_IAP_disable(void)
  38. {
  39.         ISP_CONTR        =        ISP_CONTR & 0x7f;        /* ISPEN = 0 */
  40.         ISP_TRIG        =        0x00;
  41.         EA                        =   1;                        /* 開中斷 */
  42. }
  43. /* ================ 公用的觸發代碼 ==================== */
  44. void ISPgoon(void)
  45. {
  46.         ISP_IAP_enable();                        /* 打開 ISP,IAP 功能        */
  47.         ISP_TRIG        =        0x46;                /* 觸發ISP_IAP命令字節1        */
  48.         ISP_TRIG        =        0xb9;                /* 觸發ISP_IAP命令字節2        */
  49.         _nop_();
  50. }
  51. /* ==================== 字節讀 ======================== */
  52. unsigned char byte_read(unsigned int byte_addr)
  53. {
  54.         ISP_ADDRH = (unsigned char)(byte_addr >> 8);/* 地址賦值        */
  55.         ISP_ADDRL = (unsigned char)(byte_addr & 0x00ff);
  56.         ISP_CMD   = ISP_CMD        & 0xf8;                        /* 清除低3位         */
  57.         ISP_CMD   = ISP_CMD        | RdCommand;        /* 寫入讀命令        */
  58.         ISPgoon();                                                        /* 觸發執行                */
  59.         ISP_IAP_disable();                                /* 關閉ISP,IAP功能        */
  60.         return (ISP_DATA);                                /* 返回讀到的數據        */
  61. }
  62. /* ================== 扇區擦除 ======================== */
  63. void SectorErase(unsigned int sector_addr)
  64. {
  65.         unsigned int iSectorAddr;
  66.         iSectorAddr = (sector_addr & 0xfe00); /* 取扇區地址 */
  67.         ISP_ADDRH = (unsigned char)(iSectorAddr >> 8);
  68.         ISP_ADDRL = 0x00;
  69.         ISP_CMD        = ISP_CMD & 0xf8;                        /* 清空低3位         */
  70.         ISP_CMD        = ISP_CMD | EraseCommand;        /* 擦除命令3         */
  71.         ISPgoon();                                                        /* 觸發執行                */
  72.         ISP_IAP_disable();                                /* 關閉ISP,IAP功能        */
  73. }
  74. /* ==================== 字節寫 ======================== */
  75. void byte_write(unsigned int byte_addr, unsigned char original_data)
  76. {
  77.         ISP_ADDRH =        (unsigned char)(byte_addr >> 8);         /* 取地址         */
  78.         ISP_ADDRL =        (unsigned char)(byte_addr & 0x00ff);
  79.         ISP_CMD         = ISP_CMD & 0xf8;                                /* 清低3位        */
  80.         ISP_CMD  = ISP_CMD | PrgCommand;                /* 寫命令2        */
  81.         ISP_DATA = original_data;                        /* 寫入數據準備        */
  82.         ISPgoon();                                                        /* 觸發執行                */
  83.         ISP_IAP_disable();                                        /* 關閉IAP功能        */
  84. }
  85. /*------------------------------------------------
  86.                     主函數
  87. ------------------------------------------------*/
  88. void main (void)
  89. {          DelayMs(5);
  90.           a=byte_read(0x2000);//程序開始時讀取EEPROM中數據
  91.      //SectorErase(0x2000);//擦除扇區
  92.     // byte_write(0x2000,5);//重新寫入數據
  93.          while (1)        //主循環
  94.    { D=d[a];
  95.          anjian( );
  96.          mchshch( );
  97.          
  98.          }

  99.                                 }




  100. void anjian( )           //按鍵函數
  101. {  if(s1==0)
  102.     {DelayMs(5);
  103.          if(s1==0)
  104.         {while(!s1)                                                          //按鍵不松開調用顯示函數
  105.          DelayMs(5);
  106.         a++;         
  107.         if(a==10)
  108.         a=1;
  109.         SectorErase(0x2000);//擦除扇區
  110.     byte_write(0x2000,a);//重新寫入數據
  111.         
  112.         
  113.         
  114.         }                 }

  115.         
  116.         
  117.         if(s2==0)
  118.     {DelayMs(5);
  119.          if(s2==0)
  120.         {while(!s2)                                                          //按鍵不松開調用顯示函數
  121.          DelayMs(5);
  122.         a--;         
  123.         if(a==0)
  124.         a=9;
  125.         SectorErase(0x2000);//擦除扇區
  126.     byte_write(0x2000,a);//重新寫入數據
  127.         
  128.         
  129.         }                 }

  130. }


  131. void mchshch( )            //脈沖輸出函數
  132. {        if(s3==0)
  133.         {DelayMs(1000);
  134.          if(s3==0)
  135.          {DelayMs(500);
  136.          m=0;
  137.          q1=0;
  138.          DelayMs(a);
  139.          m=1;
  140.          q1=1;
  141.          DelayMs(100);
  142.          m=0;
  143.          q1=0;
  144.          DelayMs(a);
  145.          m=1;
  146.          q1=1;
  147.          DelayMs(100);
  148.          while(!s3)
  149.          DelayMs(50); }
  150.         
  151.         }   }





  152. /*------------------------------------------------
  153. uS延時函數,含有輸入參數 unsigned char t,無返回值
  154. unsigned char 是定義無符號字符變量,其值的范圍是
  155. 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
  156. 長度如下 T=tx2+5 uS
  157. ------------------------------------------------*/
  158. void DelayUs2x(unsigned char t)
  159. {   
  160. while(--t);
  161. }






  162. /*------------------------------------------------
  163. mS延時函數,含有輸入參數 unsigned char t,無返回值
  164. unsigned char 是定義無符號字符變量,其值的范圍是
  165. 0~255 這里使用晶振12M,精確延時請使用匯編
  166. ------------------------------------------------*/
  167. void DelayMs(unsigned int t) //大致延時1mS
  168. {
  169.      
  170. while(t--)
  171. {
  172.      
  173.      DelayUs2x(245);
  174.          DelayUs2x(245);
  175. }
  176. }
復制代碼

評分

參與人數 1黑幣 +30 收起 理由
wpppmlah + 30 很給力!

查看全部評分

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91九色视频 | 国产午夜精品一区二区三区四区 | 欧美久久久久久久 | 国产在线观看一区二区三区 | 精品一区国产 | 国产亚洲一区二区精品 | 国产四区 | 日本精品999| 亚洲自拍偷拍欧美 | 亚洲成av | 国产精品99久久久精品免费观看 | 综合自拍| 麻豆精品久久久 | 欧美成人二区 | 青青久草 | 99热在这里只有精品 | 日韩电影免费在线观看中文字幕 | 91av小视频| 国产欧美精品一区二区色综合 | 亚洲喷水 | 日韩精品a在线观看图片 | 亚洲一区影院 | 国产视频日韩 | 一区二区成人 | 91免费版在线观看 | 欧美在线天堂 | 国产精品 亚洲一区 | 亚洲国产精品久久 | 日本久久久一区二区三区 | 日韩精品一区在线观看 | 91精品国产自产在线老师啪 | 久久久www成人免费精品 | 精品欧美乱码久久久久久 | 欧美日韩在线视频一区二区 | 亚洲欧美中文日韩在线v日本 | 午夜精品一区二区三区免费视频 | 日韩欧美国产一区二区 | 欧美video | 色婷婷av一区二区三区软件 | 久久久免费电影 | 精品国产91乱码一区二区三区 |