标题:
一种精密的数控直流电流源 Proteus仿真图加单片机程序
[打印本页]
作者:
wx1831
时间:
2017-5-24 13:36
标题:
一种精密的数控直流电流源 Proteus仿真图加单片机程序
精密数控直流电流源仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(46.66 KB, 下载次数: 103)
下载附件
2017-5-24 15:21 上传
0.png
(80.78 KB, 下载次数: 128)
下载附件
2017-5-24 15:20 上传
单片机源程序如下:
#include<reg51.h>
#include<absacc.h> //头文件,可使用其中定义的宏来访问绝对地址
#define dac0832 XBYTE[0X7fff] //定义dac端口地址,P0口为地址的低8位,P2口为地址的高8位,0x7fff让P2.7=0,其余为1
unsigned char code shu[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f}; //数码管段码
unsigned char code sho[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x7f}; //带小数点的七段码
float s;
sbit ALE=P3^0; //DAC0832 ALE脚工作脉冲位定义
sbit START=P3^1; //DAC0832 START位定义
sbit EOC=P3^2; //转换结束标志位
sbit OE=P3^3; //输出允许位
sbit SHCP=P2^0; //数码管驱动芯片(如595)位定义
sbit DS=P2^1; //同上
sbit STCP=P2^2; //同上
sbit P11=P3^5;
sbit P12=P3^7;
sbit clk=P2^6; //DAC0832 工作脉冲
unsigned char j,k,m,n,i,a,l; //定义变量
unsigned int b;
void delay(unsigned char t) //延时程序
{
while(t--);
}
void display() //静态数码管显示程序
{
j=0x01; //74HC595 把数据从串口导入输出,点亮数码管过程。
for(i=0;i<8;i++)
{
if((sho[m]&j)==0) //带小数点数组输出数码管七段码。
{
DS=0; //移位寄存器的内容到达保持寄存器并从并口输出,空移位寄存器到输出寄存器
}
else
{
DS=1; //逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态 移入
}
SHCP=1;
SHCP=0;
j<<=1; //j的数值左移一位
}
P12=0; //RD 低电平
P11=1; //T1 高电平
STCP=0; //STCP置为上升沿
STCP=1;
delay(200);
j=0x01;
for(i=0;i<8;i++)
{
if((shu[n]&j)==0)
{
DS=0; //清空移位寄存器,并行输出为高阻状态
}
else
{
DS=1;
}
SHCP=1; //端口下降沿,下降沿移位寄存器数据不变
SHCP=0;
j<<=1;
}
P11=0; //T1 高电平
P12=1; //RD 低电平
STCP=0; //STCP置为上升沿
STCP=1;
delay(200); //调用延时程序
}
void main() //主函数
{
P2=0X87;
TMOD=0X20; //定时器1初始化
TH1=0X06;
TL1=0X06;
EA=1; //总中断允许
ET1=1;
TR1=1;
while(1) //循环程序
{
ALE=1; //DAC0832地址锁存脉冲
ALE=0;
//DAC0832 开始转换脉冲
START=1; //ADC0808脉冲,置 START引脚为下降沿。
START=0; //ST下降沿,开始进行模数转换。
while(EOC==0); //等待转换完毕, A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE=1; //开始读,数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
k=P1; //读数据,数据从ADC0808 读入 AT89C51
a=P1; //读数据, 转换好的数据存放在P1口。
b=a*3.9; //平衡模数转换输出的数值用来通过单片机进行给数码管显示。
m=b%1000/100; //取千位数
n=b%100/10; //取百位数
//l=b%1000/100/10 //取十位数
dac0832=k;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
数控直流稳压电源proteus仿真 程序资料.zip
(108.47 KB, 下载次数: 224)
2017-5-24 13:34 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
cuibaigao
时间:
2018-4-8 22:39
这是电流源?
作者:
3637320230
时间:
2019-5-27 09:50
非常好,是我的需要
作者:
杰瑶电子
时间:
2019-5-27 12:18
牛逼啊,顶楼主
作者:
3637320230
时间:
2019-5-27 18:03
我已经下载了,挺好的
作者:
kiu_zy
时间:
2019-6-20 00:16
感谢分享,下载测试测试
作者:
ncuqdh
时间:
2020-12-30 22:18
终于找到了,对数控恒流源没有一点头绪
作者:
liht1634
时间:
2021-5-29 10:29
可用。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1