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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9446|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

一種精密的數(shù)控直流電流源 Proteus仿真圖加單片機(jī)程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
精密數(shù)控直流電流源仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<absacc.h>                                   //頭文件,可使用其中定義的宏來訪問絕對(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ù)碼管過程。
  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 開始轉(zhuǎn)換脈沖
  84.    START=1;                 //ADC0808脈沖,置 START引腳為下降沿。
  85.    START=0;                 //ST下降沿,開始進(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;                    //開始讀,數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(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ù)值用來通過單片機(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)



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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:163623 發(fā)表于 2018-4-8 22:39 | 只看該作者
這是電流源?
回復(fù)

使用道具 舉報(bào)

板凳
ID:168453 發(fā)表于 2019-5-27 09:50 | 只看該作者
非常好,是我的需要
回復(fù)

使用道具 舉報(bào)

地板
ID:432192 發(fā)表于 2019-5-27 12:18 | 只看該作者
牛逼啊,頂樓主
回復(fù)

使用道具 舉報(bào)

5#
ID:168453 發(fā)表于 2019-5-27 18:03 | 只看該作者
我已經(jīng)下載了,挺好的
回復(fù)

使用道具 舉報(bào)

6#
ID:564445 發(fā)表于 2019-6-20 00:16 | 只看該作者
感謝分享,下載測(cè)試測(cè)試
回復(fù)

使用道具 舉報(bào)

7#
ID:871264 發(fā)表于 2020-12-30 22:18 來自觸屏版 | 只看該作者
終于找到了,對(duì)數(shù)控恒流源沒有一點(diǎn)頭緒
回復(fù)

使用道具 舉報(bào)

8#
ID:70035 發(fā)表于 2021-5-29 10:29 | 只看該作者
可用。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级欧美日韩 | 在线视频国产一区 | 日韩a在线| 日韩国产欧美一区 | 久久中文字幕一区 | 国产精品久久国产精品久久 | 激情六月丁香 | 99久久精品免费看国产四区 | 国产欧美一区二区三区在线看 | 国产成人精品一区二区 | 日韩第一页 | 欧美一区二区在线观看视频 | 一级网站| 亚洲欧美在线视频 | www.亚洲视频 | 久久久久久久久久久久久久国产 | 久久一视频 | 日韩成人中文字幕 | 成年男女免费视频网站 | 精品综合视频 | 国产jizz女人多喷水99 | 在线观看中文视频 | 日韩第一区 | 男女爱爱网站 | 国内91在线 | 精品国产乱码久久久久久蜜退臀 | 久久久国产精品 | 亚洲精品国产第一综合99久久 | 欧美性大战xxxxx久久久 | 在线一区 | 成人小视频在线观看 | 日韩国产在线 | 毛片1 | 超碰导航 | 在线日韩视频 | 欧美乱码精品一区二区三区 | 天天操天天摸天天爽 | 成年免费大片黄在线观看一级 | 欧美一区二区 | 区一区二在线观看 | 中文字幕 在线观看 |