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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

帶數碼管可編程可調節延時模塊原理圖PCB與單片機源碼等全套設計資料下載

[復制鏈接]
跳轉到指定樓層
樓主
Altium Designer畫的三路AD采集/溫度采集/兩路輸入輸出繼電器數碼管顯示模塊原理圖和PCB圖如下:(51hei附件中可下載工程文件)


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

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

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

【輸入端子說明】

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

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

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

KEY1、KE2為兩路按鍵輸入

【兩路輸出端子說明】

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

【下載通訊端口】

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

【時間控制模塊】

通過編程,可以用按鍵或電位器做為調節延時時間(具體功能可以聯系客服,根據顧客具體要求實現)

【溫度控制模塊】

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

  • 用另一種型號的DS18B20(需要顧客另外購買DS18B20)可以做成兩路數字輸入,兩路AD,兩個按鍵輸入,兩路繼電器輸出的溫度控制模塊

電位器調節延時閉合時間,帶觸發控制單片機源程序如下:

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

  3. 實現功能:延時通斷
  4. 使用芯片:STC12C2052AD
  5. 晶振:11.0592MHZ
  6. 波特率:9600
  7. 編譯環境:Keil
  8. 作者:zhangxinchunleo
  9. 【聲明】此程序僅用于學習與參考,引用請注明版權和作者信息!     
  10. /********************************************************************
  11. 采樣AD的電壓值作為繼電器的延時吸合時間        最大調節數為255秒最小調節單位是秒
  12. 或者最大調節時間為分,最大調節數為255,最小調節單位為分
  13. 注意:調節好設定時間之后,要斷電重新上電
  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 轉換結束標志位
  23. #define ADC_START   0x08            //ADC 開始轉換控制位
  24. #define ADC_SPEEDLL 0x00            //420個時鐘周期轉換一次
  25. #define ADC_SPEEDL  0x20            //280 個時鐘周期轉換一次
  26. #define ADC_SPEEDH  0x40            //140個時鐘周期轉換一次
  27. #define ADC_SPEEDHH 0x60            //70個時鐘周期轉換一次
  28. void display(void);                  //顯示函數
  29. void t_to_dis(uchar num);

  30. #define DUAN P2                   //P0口控制段
  31. #define WEI  P1                   //P2口控制位
  32. /********************************************************************
  33.                             初始定義
  34. *********************************************************************/
  35. //數碼管顯示段碼
  36. code uchar seg7code[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF};
  37. //數碼管顯示位控制
  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];              //定義字符串用于數值轉換
  56. uint tcnt;
  57. uchar miao;
  58. /********************************************************************
  59.                             延時函數
  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轉換初始化程序
  71. *********************************************************************/

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

  79. /********************************************************************
  80.                          AD轉換控制程序
  81. *********************************************************************/
  82. uchar GetADCResult(uchar px)          //轉換輸出的數據 (PX為通道口)
  83. {
  84.     ADC_CONTR = ADC_POWER | ADC_SPEEDLL |px| ADC_START;//開始轉換
  85.     _nop_();                        //延時一個機器周期
  86.     _nop_();                                                //延時一個機器周期
  87.     _nop_();                                                //延時一個機器周期
  88.     _nop_();                                                //延時一個機器周期
  89.     while (!(ADC_CONTR & ADC_FLAG));//等待轉換結束
  90.     ADC_CONTR &= ~ADC_FLAG;         //關閉AD轉換
  91.     return ADC_RES;                 //返回數據
  92. }
  93. /********************************************************************
  94.                            IO口初始化函數
  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.                             主函數
  119. *********************************************************************/
  120. void main()
  121. {         
  122.     init_all();         //初始化IO
  123.         InitADC();   //AD轉換初始化
  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中斷函數
  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.                             求值函數
  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.                             顯示函數
  172. *********************************************************************/
  173. void display()                  //顯示函數
  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.                               結束
  195. *********************************************************************/
復制代碼
【簡要說明】
一、 尺寸:長86cmX寬66cmX高2cm
二、 主要芯片:STC12C5202/4AD
三、 工作電壓:直流6~40伏(板上有LM2576穩壓芯片);

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






所有資料51hei提供下載:

帶數碼管可編程可調節延時模塊DXP資料.rar

8 MB, 下載次數: 20, 下載積分: 黑幣 -5

例程.rar

1.41 MB, 下載次數: 21, 下載積分: 黑幣 -5

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

4.69 MB, 下載次數: 18, 下載積分: 黑幣 -5

使用說明.docx

4.1 MB, 下載次數: 15, 下載積分: 黑幣 -5

原理圖.doc

46 KB, 下載次數: 17, 下載積分: 黑幣 -5

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

使用道具 舉報

沙發
ID:244842 發表于 2018-2-24 15:45 | 只看該作者
非常感謝!51有你就精彩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日日干天天操 | 亚洲不卡在线观看 | 影视一区 | jlzzjlzz国产精品久久 | 99久久精品国产一区二区三区 | 亚洲成人精品一区 | 午夜视频网站 | 激情欧美日韩一区二区 | 欧美伊人久久久久久久久影院 | 国产露脸对白88av | 国产一区二区三区 | 无人区国产成人久久三区 | 国产精品免费视频一区 | 99re视频在线 | 国产日韩精品一区 | 国产精品毛片久久久久久久 | 亚洲精品视频一区 | 久久久久久99 | 黄色欧美 | 99re视频在线| 亚洲欧美日韩一区 | 欧美日韩综合一区 | 最新国产精品精品视频 | 超碰精品在线 | 精品一级| 久久精品国产免费 | 久久久久黄色 | 日韩一区二区三区在线视频 | 免费成人高清在线视频 | 国产男女视频网站 | 精品久久久久久久久久久久久久 | 午夜精品久久久久久久星辰影院 | 精品国产一区二区三区免费 | 久久久91精品国产一区二区三区 | 日韩av电影院 | 亚洲精品成人在线 | 噜噜噜噜狠狠狠7777视频 | 国产高清精品一区二区三区 | 国产小视频在线 | 久久久久一区二区三区 | 亚洲视频在线播放 |