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

標(biāo)題: C51單片機(jī)+TLC5615+LM358+ADC0832數(shù)控電源電路原理圖程序等資料 [打印本頁]

作者: heryyy    時間: 2021-11-7 21:05
標(biāo)題: C51單片機(jī)+TLC5615+LM358+ADC0832數(shù)控電源電路原理圖程序等資料
電路原理圖如下:


制作出來的實(shí)物圖如下:


元件型號    元件名稱    元件標(biāo)號
TL431    穩(wěn)壓    1
10uF    電解電容    C1
20pf    瓷片電容    C2, C3
220UF    電解電容    C5, C8
104    瓷片電容    C6, C9
發(fā)光二極管    發(fā)光二極管    D1
SMG04_1    數(shù)碼管    DS1
ADJ    接線柱    J1
電源輸入    電源    P1
9012    三極管    Q1, Q2, Q3, Q4
1K    電阻    R1, R2, R3, R4, R8, R10, R11, R12,R13
0.1    大電阻    R7
10K    電阻    R5,R9
103    可調(diào)電阻    RT1
SW-PB    按鍵    S1, S2, S3, S4, S5
電源開關(guān)    電源開關(guān)    SW1
STC89C52    單片機(jī)    U1
TLC5615    DA轉(zhuǎn)換芯片     U2
9Z24N    場效應(yīng)管    U3
LM358    運(yùn)放芯片     U4
ADC0832    AD采集芯片     U5
7805    穩(wěn)壓芯片    VR1
12M    晶振     Y1

單片機(jī)源程序如下:

  1. #include "reg52.h"

  2. //宏定義
  3. #define uchar unsigned char
  4. #define uint  unsigned int

  5. //按鍵定義
  6. sbit KEY1= P3^7;
  7. sbit KEY2= P3^6;
  8. sbit KEY3= P3^5;
  9. sbit KEY4= P3^4;

  10. //數(shù)碼管定義
  11. sbit W1= P2^6;
  12. sbit W2= P2^4;
  13. sbit W3= P2^2;
  14. sbit W4= P2^0;

  15. //DAC定義
  16. sbit  CS_5615=P1^5;
  17. sbit CLK_5615=P1^6;
  18. sbit DAT_5615=P1^7;

  19. //ADC定義
  20. sbit  CS=P1^2;      
  21. sbit CLK=P1^1;      
  22. sbit DIO=P1^0;
  23.   
  24. uint  U;
  25. uchar GETU=0;
  26. bit flag=0;
  27. uint  a=0;

  28. uchar code table[]=
  29. {
  30.         0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7
  31. };        //共陽數(shù)碼管段碼表        沒有小數(shù)點(diǎn) 0~9
  32. uchar code table1[]=
  33. {
  34.         0x7F,0x64,0xBD,0xF5,0xE6,0xF3,0xFB,0x67,0xFF,0xF7,0x5e
  35. };//帶小數(shù)點(diǎn)的編碼            0~9


  36. void delay_ms(uint z)                          //延時函數(shù)
  37. {
  38.   uint a,b;
  39.   for(a=z;a>0;a--)
  40.    for(b=5;b>0;b--);
  41. }

  42. void  shuma(uint buf)
  43. {
  44.         uchar a,b,c,d;
  45.         a=buf/1000;
  46.         b=buf%1000/100;
  47.         c=buf%100/10;
  48.         d=buf%10;

  49.         W1=0;W2=1;W3=1;W4=1;        
  50.         P0=~table[a];
  51.         delay_ms(60);

  52.         W1=1;W2=0;W3=1;W4=1;
  53.         P0=~table1[b];
  54.         delay_ms(60);

  55.         W1=1;W2=1;W3=0;W4=1;
  56.         P0=~table[c];
  57.         delay_ms(60);

  58.         W1=1;W2=1;W3=1;W4=0;
  59.         P0=~table1[10];
  60.         delay_ms(60);
  61. }

  62. void tlc_5615(uint buf)
  63. {
  64.         uint a,c;
  65.         c=buf;   
  66.     CS_5615=0;
  67.         for(a=16;a>0;a--)
  68.         {
  69.          DAT_5615=c>>15;      
  70.          c=c<<1;
  71.          CLK_5615=1;
  72.          CLK_5615=0;                 
  73.     }
  74.         CLK_5615=1;
  75.         CLK_5615=0;
  76.         CLK_5615=1;
  77.         CLK_5615=0;
  78.         CS_5615=1;
  79. }

  80. unsigned int  A_D()
  81. {
  82.         unsigned char i,dat;
  83.         CS=1;   //一個轉(zhuǎn)換周期開始
  84.         CLK=0;  //為第一個脈沖作準(zhǔn)備
  85.         CS=0;  //CS置0,片選有效
  86.         
  87.         DIO=1;    //DIO置1,規(guī)定的起始信號  
  88.         CLK=1;   //第一個脈沖
  89.         CLK=0;   //第一個脈沖的下降沿,此前DIO必須是高電平
  90.         DIO=1;   //DIO置1, 通道選擇信號  
  91.         CLK=1;   //第二個脈沖,第2、3個脈沖下沉之前,DI必須跟別輸入兩位數(shù)據(jù)用于選擇通道,這里選通道CH0
  92.         CLK=0;   //第二個脈沖下降沿
  93.         DIO=0;   //DI置0,選擇通道0
  94.         CLK=1;    //第三個脈沖
  95.         CLK=0;    //第三個脈沖下降沿
  96.         DIO=1;    //第三個脈沖下沉之后,輸入端DIO失去作用,應(yīng)置1
  97.         CLK=1;    //第四個脈沖
  98.         for(i=0;i<8;i++)  //高位在前
  99.         {
  100.                 CLK=1;         //第四個脈沖
  101.                 CLK=0;
  102.                 dat<<=1;       //將下面儲存的低位數(shù)據(jù)向右移
  103.                 dat|=(unsigned char)DIO;          //將輸出數(shù)據(jù)DIO通過或運(yùn)算儲存在dat最低位
  104.         }                                 
  105.         CS=1;          //片選無效
  106.         return dat;         //將讀出的數(shù)據(jù)返回     
  107. }


  108. //主函數(shù)
  109. void main(void)
  110. {
  111.         U=0;
  112.         while(1)
  113.         {
  114.                 tlc_5615(U);
  115.                 shuma(U/8*10);
  116.                 if(flag==0)
  117.                 {
  118.                         if(KEY1==0)
  119.                         {
  120.                                 shuma(U/8*10);
  121.                                 shuma(U/8*10);
  122.                                 shuma(U/8*10);
  123.                                 shuma(U/8*10);
  124.                                 shuma(U/8*10);
  125.                                 if(KEY1==0)
  126.                                 {
  127.                                         if(U<960)        //1V對應(yīng)的是80  10位ad
  128.                                         U=U+8;
  129.                                 }        
  130.                         }
  131.                         if(KEY2==0)
  132.                         {
  133.                                 shuma(U/8*10);
  134.                                 shuma(U/8*10);
  135.                                 shuma(U/8*10);
  136.                                 shuma(U/8*10);
  137.                                 shuma(U/8*10);
  138.                                 if(KEY2==0)
  139.                                 {
  140.                                         if(U>=8)
  141.                                         U=U-8;
  142.                                 }        
  143.                         }                        
  144.                         if(KEY3==0)
  145.                         {
  146.                                 shuma(U/8*10);
  147.                                 shuma(U/8*10);
  148.                                 shuma(U/8*10);
  149.                                 shuma(U/8*10);
  150.                                 shuma(U/8*10);
  151.                                 if(KEY3==0)
  152.                                 {
  153.                                         U=400;        
  154.                                 }        
  155.                         }        
  156.                         if(KEY4==0)
  157.                         {
  158.                                 shuma(U/8*10);
  159.                                 shuma(U/8*10);
  160.                                 shuma(U/8*10);
  161.                                 shuma(U/8*10);
  162.                                 shuma(U/8*10);
  163.                                 if(KEY4==0)
  164.                                 {
  165.                                         U=0;
  166.                                 }        
  167.                         }
  168.                 }
  169.                 GETU=A_D();
  170.                 if(GETU>=12)   //0.0196V
  171.                 {
  172.                         U=0;
  173.                          a=0;
  174.                         flag=1;
  175.                 }                                
  176.         }
  177. }
復(fù)制代碼

單片機(jī)是通用的無論51還是52、無論stc還是at都一樣,引腳功能都一樣,原理圖和程序也是一樣的。
原理圖中的. sch等格式是要用protel99se打開的,沒有軟件的不要緊,我已幫您轉(zhuǎn)換成word格式和pdf格式的了。
程序中的.c文件可以用記事本打開,就是程序了。其他的是寫程序是自動生成的,沒什么用的。

程序原理圖下載: 資料.7z (2.22 MB, 下載次數(shù): 90)

作者: 怕鬼    時間: 2021-12-16 17:39
這個輸出的范圍是多少啊
作者: 不懂了    時間: 2021-12-19 20:27
這個輸出范圍是多少




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 男人的天堂在线视频 | 亚洲91| 欧美aaaa视频| 久久精品视频99 | 密色视频| 美女在线视频一区二区三区 | 午夜专区| 中国一级毛片免费 | 伊人精品| 日韩欧美在线观看视频 | 久久这里只有 | 草久久久 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 91精品国产91久久久久久不卞 | 亚洲精品国产综合区久久久久久久 | 在线观看免费av片 | 午夜99 | 日本中文字幕日韩精品免费 | 国产精品视频网 | av一区在线观看 | 国产中文字幕在线 | 久久久久久国产精品久久 | 亚洲精精品 | 97色在线视频 | 欧美淫| 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 青娱乐国产 | 色网站视频 | 在线免费观看色 | 国产一区二区三区视频免费观看 | 亚洲欧美中文日韩在线v日本 | 欧美黄色片在线观看 | 艹逼网 | 亚洲成人在线视频播放 | 亚洲一级黄色 | 亚洲日本欧美日韩高观看 | 日韩在线 | 一本色道久久综合亚洲精品高清 | 91精品久久久久久综合五月天 | 全部免费毛片在线播放网站 | 日韩综合网 |