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

標題: 帶數(shù)碼管可編程可調(diào)節(jié)延時模塊原理圖PCB與單片機源碼等全套設(shè)計資料下載 [打印本頁]

作者: 電子愛好者999    時間: 2018-2-24 01:11
標題: 帶數(shù)碼管可編程可調(diào)節(jié)延時模塊原理圖PCB與單片機源碼等全套設(shè)計資料下載
Altium Designer畫的三路AD采集/溫度采集/兩路輸入輸出繼電器數(shù)碼管顯示模塊原理圖和PCB圖如下:(51hei附件中可下載工程文件)


資料里面包含:三路模擬量采集并顯示(AD—UART發(fā)送),兩路輸入控制繼電器等單片機源碼

注:該模塊可以做成溫度、顯示、數(shù)字輸入、繼電器輸出、AD采集、延時時間調(diào)節(jié)等功能的產(chǎn)品。如顧客沒有特殊要求,我們默認發(fā)貨倒計時30秒控制繼電器吸合程序功能

適用場合:溫控設(shè)備0到5V模擬量采集定時延時繼電器、工業(yè)以及項目中。。。

【輸入端子說明】

VCC和GND為電源供電端子,直流供電電壓范圍6V-40V

A1、A2為模擬量輸入端子,采集0-5V的直流電壓

IN1、IN2為兩路數(shù)字量帶光電隔離的輸入控制端

KEY1、KE2為兩路按鍵輸入

【兩路輸出端子說明】

兩路繼電器輸出可控制交流220V/10A的負載

【下載通訊端口】

  UART接口可以用來下載程序或進行通訊

【時間控制模塊】

通過編程,可以用按鍵或電位器做為調(diào)節(jié)延時時間(具體功能可以聯(lián)系客服,根據(jù)顧客具體要求實現(xiàn))

【溫度控制模塊】

1用直插的DS18B20(需要顧客另外購買DS18B20)可以做成兩路數(shù)字輸入,兩路AD,兩個按鍵輸入,兩路繼電器輸出的溫度控制模塊(要實現(xiàn)具體什么功能,請與客服聯(lián)系!拍下之前,務(wù)必于與客服聯(lián)系


電位器調(diào)節(jié)延時閉合時間,帶觸發(fā)控制單片機源程序如下:

  1. /********************************************************************
  2.                             匯誠科技

  3. 實現(xiàn)功能:延時通斷
  4. 使用芯片:STC12C2052AD
  5. 晶振:11.0592MHZ
  6. 波特率:9600
  7. 編譯環(huán)境:Keil
  8. 作者:zhangxinchunleo
  9. 【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!     
  10. /********************************************************************
  11. 采樣AD的電壓值作為繼電器的延時吸合時間        最大調(diào)節(jié)數(shù)為255秒最小調(diào)節(jié)單位是秒
  12. 或者最大調(diào)節(jié)時間為分,最大調(diào)節(jié)數(shù)為255,最小調(diào)節(jié)單位為分
  13. 注意:調(diào)節(jié)好設(shè)定時間之后,要斷電重新上電
  14. ********************************************************************/

  15. #include<STC12C52.h>                 //庫文件
  16. #include <intrins.h>
  17. #define uchar unsigned char//宏定義無符號字符型
  18. #define uint unsigned int  //宏定義無符號整型
  19. #define FOSC 11059200L
  20. #define BAUD  9600

  21. #define ADC_POWER   0x80            //ADC 電源控制位
  22. #define ADC_FLAG    0x10            //ADC 轉(zhuǎn)換結(jié)束標志位
  23. #define ADC_START   0x08            //ADC 開始轉(zhuǎn)換控制位
  24. #define ADC_SPEEDLL 0x00            //420個時鐘周期轉(zhuǎn)換一次
  25. #define ADC_SPEEDL  0x20            //280 個時鐘周期轉(zhuǎn)換一次
  26. #define ADC_SPEEDH  0x40            //140個時鐘周期轉(zhuǎn)換一次
  27. #define ADC_SPEEDHH 0x60            //70個時鐘周期轉(zhuǎn)換一次
  28. void display(void);                  //顯示函數(shù)
  29. void t_to_dis(uchar num);

  30. #define DUAN P2                   //P0口控制段
  31. #define WEI  P1                   //P2口控制位
  32. /********************************************************************
  33.                             初始定義
  34. *********************************************************************/
  35. //數(shù)碼管顯示段碼
  36. code uchar seg7code[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF};
  37. //數(shù)碼管顯示位控制
  38. sbit wei1=P1^0;                       //位的控制端
  39. sbit wei2=P1^1;
  40. sbit wei3=P1^2;
  41. sbit wei4=P1^3;

  42. //按鍵輸入
  43. sbit key2=P3^2;
  44. sbit key1=P3^3;
  45. //模擬量輸入端
  46. sbit A1=P1^5;
  47. sbit A2=P1^6;
  48. sbit A3=P1^4;
  49. //輸入控制端
  50. sbit IN1=P1^7;
  51. sbit IN2=P3^7;
  52. //輸出控制端
  53. sbit  OUT1=P3^4;
  54. sbit  OUT2=P3^5;
  55. uchar numb[4];              //定義字符串用于數(shù)值轉(zhuǎn)換
  56. uint tcnt;
  57. uchar miao;
  58. /********************************************************************
  59.                             延時函數(shù)
  60. *********************************************************************/
  61. void delay(uint x)//延時程序 0.1秒
  62. {
  63.         uint m,n,s;
  64.         for(m=x;m>0;m--)
  65.         for(n=20;n>0;n--)
  66.         for(s=248;s>0;s--);
  67. }
  68.                   
  69. /********************************************************************
  70.                          AD轉(zhuǎn)換初始化程序
  71. *********************************************************************/

  72. void InitADC()
  73. {
  74.     P1ASF|=0x10;        //設(shè)置P1口為開漏模式,使用AD功能
  75.     ADC_RES=0;          //AD數(shù)據(jù)寄存器清空
  76.     ADC_CONTR=ADC_POWER|ADC_SPEEDLL|ADC_START;//打開AD電源,轉(zhuǎn)換周期XX
  77.     delay(10);                //延時
  78. }

  79. /********************************************************************
  80.                          AD轉(zhuǎn)換控制程序
  81. *********************************************************************/
  82. uchar GetADCResult(uchar px)          //轉(zhuǎn)換輸出的數(shù)據(jù) (PX為通道口)
  83. {
  84.     ADC_CONTR = ADC_POWER | ADC_SPEEDLL |px| ADC_START;//開始轉(zhuǎn)換
  85.     _nop_();                        //延時一個機器周期
  86.     _nop_();                                                //延時一個機器周期
  87.     _nop_();                                                //延時一個機器周期
  88.     _nop_();                                                //延時一個機器周期
  89.     while (!(ADC_CONTR & ADC_FLAG));//等待轉(zhuǎn)換結(jié)束
  90.     ADC_CONTR &= ~ADC_FLAG;         //關(guān)閉AD轉(zhuǎn)換
  91.     return ADC_RES;                 //返回數(shù)據(jù)
  92. }
  93. /********************************************************************
  94.                            IO口初始化函數(shù)
  95. *********************************************************************/   
  96. void init_all(void)
  97. {               
  98.     P2M1=0;
  99.         P2M0=0xff;
  100.         P1M1=0x80;
  101.         P1M0=0x0f;
  102.         P3M1|=0x80;
  103.         P3M0&=0x7f;
  104. }
  105. /********************************************************************
  106.                            定時器T1初始化
  107. *********************************************************************/
  108. void timer0init(void)
  109. {
  110.          TMOD=0X20;                  //定義定時器工作方式
  111.          TH1 = 0x00;
  112.      TL1 = 0x1A;
  113.          ET1=1;
  114.          TR1=1;
  115.          EA=1;
  116. }
  117. /********************************************************************
  118.                             主函數(shù)
  119. *********************************************************************/
  120. void main()
  121. {         
  122.     init_all();         //初始化IO
  123.         InitADC();   //AD轉(zhuǎn)換初始化
  124.         timer0init();//定時器初始化
  125.         while(1)
  126.         {  
  127.           GetADCResult(4);
  128.        t_to_dis(ADC_RES);
  129.            display();
  130.          if(IN1==0)
  131.          {
  132.            delay(1);
  133.            if(IN1==0)
  134.            {
  135.             TR1=1;
  136.                 OUT1=1;
  137.            }
  138.          }
  139.     }
  140. }
  141. /********************************************************************
  142.                            定時器T1中斷函數(shù)
  143. *********************************************************************/
  144. void timer1(void)interrupt 3  using 2
  145. {
  146.         tcnt++;
  147.         if(tcnt>=4000)
  148.         {
  149.           tcnt=0;
  150.       miao++;
  151.           if(miao>=ADC_RES)
  152.           {
  153.             OUT1=0;
  154.                 TR1=0;
  155.                 miao=0;
  156.                 tcnt=0;
  157.           }
  158.         }

  159. }
  160. /********************************************************************
  161.                             求值函數(shù)
  162. *********************************************************************/
  163. void t_to_dis(uchar num)
  164. {
  165.         numb[0]=0;                        //顯示千位
  166.         numb[1]=num/100;                //顯示百位
  167.         numb[2]=num%100/10;                    //顯示十位
  168.         numb[3]=num%10;             //顯示個位
  169. }
  170. /********************************************************************
  171.                             顯示函數(shù)
  172. *********************************************************************/
  173. void display()                  //顯示函數(shù)
  174. {
  175.       WEI&=0XF0;
  176.           DUAN=seg7code[numb[0]];
  177.           wei1=1;
  178.           delay(1);

  179.           WEI&=0XF0;  
  180.       DUAN=seg7code[numb[1]];
  181.           wei2=1;
  182.           delay(1);

  183.           WEI&=0XF0;  
  184.              DUAN=seg7code[numb[2]];
  185.           wei3=1;
  186.           delay(1);

  187.           WEI&=0XF0;  
  188.       DUAN=seg7code[numb[3]];
  189.           wei4=1;
  190.           delay(1);
  191.           WEI&=0XF0;
  192. }        
  193. /********************************************************************
  194.                               結(jié)束
  195. *********************************************************************/
復(fù)制代碼
【簡要說明】
一、 尺寸:長86cmX寬66cmX高2cm
二、 主要芯片:STC12C5202/4AD
三、 工作電壓:直流6~40伏(板上有LM2576穩(wěn)壓芯片);

四、 特點:
1、可編程(通過下載排針可下載程序)
2、具有兩路數(shù)字量(IN0和IN1)控制/檢測信號輸入端
3、兩路AD模擬量輸入(A1和A2)
4、兩個按鍵輸入            
5、兩路繼電器輸出指示燈
6、可控制兩路交流220V/10A一下設(shè)備。(最大控制設(shè)備2000W)
7、板子帶有防反接二極管
8、標準的11.0592晶振






所有資料51hei提供下載:

帶數(shù)碼管可編程可調(diào)節(jié)延時模塊DXP資料.rar

8 MB, 下載次數(shù): 20, 下載積分: 黑幣 -5

例程.rar

1.41 MB, 下載次數(shù): 21, 下載積分: 黑幣 -5

三路AD采集溫度采集兩路輸入輸出繼電器數(shù)碼管顯示模塊.docx

4.69 MB, 下載次數(shù): 18, 下載積分: 黑幣 -5

使用說明.docx

4.1 MB, 下載次數(shù): 15, 下載積分: 黑幣 -5

原理圖.doc

46 KB, 下載次數(shù): 17, 下載積分: 黑幣 -5


作者: 5743442    時間: 2018-2-24 15:45
非常感謝!51有你就精彩




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日产久久 | 97精品国产97久久久久久免费 | 久久久123| 伊人免费在线观看高清 | 伊人网站视频 | 国产91成人 | 久久精品小短片 | 国产一级电影在线观看 | 作爱视频免费看 | 一级国产精品一级国产精品片 | 日本成人一区二区 | 黄色a三级 | 国产一级一级 | 亚洲精品久久久一区二区三区 | 99热精品国产 | 一区二区三区国产好 | 中文字幕一区在线 | 久久综合一区 | 久在线| 亚洲一区二区三区免费观看 | 国产精品九九九 | wwwsihu| 九九综合九九 | 国产精品久久久久久久久久99 | 精品国产视频 | 91玖玖| 亚洲精品久久视频 | 99久久精品免费看国产小宝寻花 | 99久久中文字幕三级久久日本 | www国产成人免费观看视频,深夜成人网 | 国产美女自拍视频 | gogo肉体亚洲高清在线视 | 日韩理论电影在线观看 | 亚洲国产精品一区二区久久 | 羞羞视频网 | 久久久久久黄 | 激情在线视频 | 欧美视频在线播放 | 天天天操 | 国内精品免费久久久久软件老师 | 欧美精品一区三区 |