- 博客(0)
- 资源 (8)
空空如也
数控恒流源
本设计采用凌阳十六位单片机SPCE061A作为直流恒流源的控制、显示和输出电流检测 核心,实现了- 2A到2A数控可调直流恒流源。系统的显示部分采用128×64点阵式液晶显示屏实时显示设定电流值和实测电流值;输出电流控制采用SPCE061A单片 机的D/A口输出模拟量;电流测量采用基本没有温度漂移的康锰铜电阻丝作为精密取样电阻,利用SPCE061A的A/D输入口进行电流检测和监控。硬件电 路恒流部分的控制端采用多个精密运算放大器OP07接成闭环反馈控制形式,受控部分采用达林顿管进行扩流、精确输出设定电流。电源部分采用大功率变压器供 电,多级电容滤除纹波干扰;电源输出采用三端稳压芯片进行稳压,并且利用大功率达林顿管进行扩流以满足后级功率需求。
2012-11-26
DS18B20数字测温程序
使用单片机进行数字温度检测的例程。 DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
2012-09-07
步进电机控制程序实例
步进电机控制程序实例
(1)延时函数DelayMs ()
void DelayMs(uchar dcnt)//基本延时函数 延时1ms*dcnt
{
uint i;
while(dcnt>0)
{
i=123;
while(i>0)
i--;
dcnt--;
}
}
(2)正转控制函数RotateWise ()
void RotateWise(uchar speed,uint stepcnt)
{
uchar i=0;
while(stepcnt--) //是否到达指定的转动步数
{
CONPORT=roundz[i];//从P1口送出节拍控制值
i++;
if(i>5)
i=0;
DelayMs(speed);//延时,控制节拍周期
}
}
(3)反转控制函数 ContraRotate ()
void ContraRotate(uchar speed,uint stepcnt)//反转控制函数
{
uchar i=0;
while(stepcnt--)//是否达到指定步数
{
CONPORT=roundf[i];//P1口送出节拍控制值
i++;
if(i>5)
i=0;
DelayMs(speed);//延时,控制节拍周期
}
}
(4)测试程序
#include
typedef unsigned char uchar;//类型定义
typedef unsigned int uint;//类型定义
uchar code roundz[]={0x01,0x03,0x02,0x06,0x04,0x05};//正转控制值数组
uchar code roundf[]={0x01,0x05,0x04,0x06,0x02,0x03};//反转控制值数组
#define CONPORT P1
void main()
{
RotateWise(100,10000); //1s转10步 延时100ms
ContraRotate(20,10000); //1s转50步 延时20ms
while(1);
}
2012-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人