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

標(biāo)題: 一種精密的數(shù)控直流電流源 Proteus仿真圖加單片機(jī)程序 [打印本頁(yè)]

作者: wx1831    時(shí)間: 2017-5-24 13:36
標(biāo)題: 一種精密的數(shù)控直流電流源 Proteus仿真圖加單片機(jī)程序
精密數(shù)控直流電流源仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<absacc.h>                                   //頭文件,可使用其中定義的宏來(lái)訪問(wèn)絕對(duì)地址   
  3. #define  dac0832 XBYTE[0X7fff]            //定義dac端口地址,P0口為地址的低8位,P2口為地址的高8位,0x7fff讓P2.7=0,其余為1
  4. unsigned char code shu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f};        //數(shù)碼管段碼
  5. unsigned char code sho[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x7f};  //帶小數(shù)點(diǎn)的七段碼
  6. float s;
  7. sbit ALE=P3^0;                 //DAC0832 ALE腳工作脈沖位定義
  8. sbit START=P3^1;         //DAC0832 START位定義
  9. sbit EOC=P3^2;                 //轉(zhuǎn)換結(jié)束標(biāo)志位
  10. sbit OE=P3^3;                 //輸出允許位
  11. sbit SHCP=P2^0;                 //數(shù)碼管驅(qū)動(dòng)芯片(如595)位定義
  12. sbit DS=P2^1;                 //同上
  13. sbit STCP=P2^2;                  //同上
  14. sbit P11=P3^5;
  15. sbit P12=P3^7;
  16. sbit clk=P2^6;                 //DAC0832 工作脈沖
  17. unsigned char j,k,m,n,i,a,l;           //定義變量
  18. unsigned int b;

  19. void delay(unsigned char t)      //延時(shí)程序     
  20.   {
  21.    while(t--);
  22.    }

  23. void display()                                   //靜態(tài)數(shù)碼管顯示程序
  24. {
  25.    
  26.          
  27.   
  28.   j=0x01;                                          //74HC595 把數(shù)據(jù)從串口導(dǎo)入輸出,點(diǎn)亮數(shù)碼管過(guò)程。
  29.   for(i=0;i<8;i++)
  30.   {
  31.       if((sho[m]&j)==0)                  //帶小數(shù)點(diǎn)數(shù)組輸出數(shù)碼管七段碼。
  32.        {
  33.              DS=0;                                //移位寄存器的內(nèi)容到達(dá)保持寄存器并從并口輸出,空移位寄存器到輸出寄存器
  34.            }
  35.       else
  36.            {
  37.              DS=1;                //邏輯高電平移入移位寄存器狀態(tài)0,包含所有的移位寄存器狀態(tài) 移入
  38.            }
  39.     SHCP=1;
  40.     SHCP=0;
  41.       j<<=1;        //j的數(shù)值左移一位
  42.    }       
  43.         P12=0;                 //RD 低電平
  44.     P11=1;                 //T1 高電平
  45.     STCP=0;                          //STCP置為上升沿
  46.     STCP=1;

  47.     delay(200);


  48.     j=0x01;
  49.   for(i=0;i<8;i++)
  50.      {
  51.           if((shu[n]&j)==0)
  52.        {
  53.             DS=0;                                //清空移位寄存器,并行輸出為高阻狀態(tài)
  54.                 }
  55.       else
  56.        {
  57.             DS=1;
  58.            }
  59.      SHCP=1;                         //端口下降沿,下降沿移位寄存器數(shù)據(jù)不變
  60.      SHCP=0;          
  61.      j<<=1;
  62.      }
  63.            P11=0;                         //T1 高電平
  64.     P12=1;                         //RD 低電平
  65.     STCP=0;                         //STCP置為上升沿
  66.     STCP=1;
  67.     delay(200);                //調(diào)用延時(shí)程序
  68.     }
  69.   

  70. void main()               //主函數(shù)
  71. {
  72.    P2=0X87;
  73.    TMOD=0X20;                         //定時(shí)器1初始化
  74.    TH1=0X06;
  75.    TL1=0X06;
  76.    EA=1;                                //總中斷允許
  77.    ET1=1;
  78.    TR1=1;

  79.    while(1)                //循環(huán)程序
  80.    {
  81.    ALE=1;                //DAC0832地址鎖存脈沖
  82.    ALE=0;
  83.    //DAC0832 開(kāi)始轉(zhuǎn)換脈沖
  84.    START=1;                 //ADC0808脈沖,置 START引腳為下降沿。
  85.    START=0;                 //ST下降沿,開(kāi)始進(jìn)行模數(shù)轉(zhuǎn)換。
  86.    while(EOC==0);  //等待轉(zhuǎn)換完畢, A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。
  87.    OE=1;                    //開(kāi)始讀,數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門,輸出數(shù)字量。
  88.    k=P1;                    //讀數(shù)據(jù),數(shù)據(jù)從ADC0808 讀入 AT89C51     
  89.    a=P1;                        //讀數(shù)據(jù), 轉(zhuǎn)換好的數(shù)據(jù)存放在P1口。
  90.    b=a*3.9;                        //平衡模數(shù)轉(zhuǎn)換輸出的數(shù)值用來(lái)通過(guò)單片機(jī)進(jìn)行給數(shù)碼管顯示。
  91.    m=b%1000/100;                 //取千位數(shù)
  92.    n=b%100/10;          //取百位數(shù)
  93.    //l=b%1000/100/10          //取十位數(shù)

  94.    dac0832=k;
  95.   
  96. ……………………

  97. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
數(shù)控直流穩(wěn)壓電源proteus仿真 程序資料.zip (108.47 KB, 下載次數(shù): 224)




作者: cuibaigao    時(shí)間: 2018-4-8 22:39
這是電流源?
作者: 3637320230    時(shí)間: 2019-5-27 09:50
非常好,是我的需要
作者: 杰瑤電子    時(shí)間: 2019-5-27 12:18
牛逼啊,頂樓主
作者: 3637320230    時(shí)間: 2019-5-27 18:03
我已經(jīng)下載了,挺好的
作者: kiu_zy    時(shí)間: 2019-6-20 00:16
感謝分享,下載測(cè)試測(cè)試
作者: ncuqdh    時(shí)間: 2020-12-30 22:18
終于找到了,對(duì)數(shù)控恒流源沒(méi)有一點(diǎn)頭緒
作者: liht1634    時(shí)間: 2021-5-29 10:29
可用。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲aⅴ一区二区 | 成人福利在线 | 91香蕉嫩草 | 国产日韩一区 | 国产精品高 | 国产ts人妖系列高潮 | 国产精品视频在线观看 | 国产做a爱免费视频 | 国产精品欧美一区二区三区 | 色综合视频 | www.亚洲| 日本精品视频在线观看 | 久久成人av电影 | 精品99爱视频在线观看 | 日本一区二区三区四区 | 久久av网站 | 成人午夜毛片 | 免费一区二区 | 成人av资源在线 | 成人在线视频观看 | 久久久亚洲精品视频 | 亚洲精品国产电影 | 美女中文字幕视频 | 国产精品日产欧美久久久久 | 欧美成人不卡 | 欧美视频在线播放 | 蜜桃av人人夜夜澡人人爽 | 都市激情亚洲 | 91色视频在线观看 | 四虎精品在线 | 国产精品视频一区二区三区四区国 | 精品国偷自产在线 | 精品视频在线免费观看 | 亚洲一区二区三区免费观看 | 精品乱码一区二区三四区视频 | 精品国产免费一区二区三区五区 | 欧美一区二区精品 | 在线视频 中文字幕 | 拍戏被cao翻了h承欢 | 国产一区二区三区精品久久久 | 欧美日韩综合视频 |