由51单片机作为主控制器实现的恒流源设计
部分程序:
#include 'reg52.h' //stc头文件
#include 'Delay.h' //延时头文件
//设置按键
sbit KEY_ADD = P3^2; //加
sbit KEY_DEC = P3^3; //减
//DA
sbit SCK = P2^0;
sbit CS = P2^1;
sbit DIN = P2^2;
int ADC_num = 0;
/*=========================================
//按键扫描处理函数
=========================================*/
void KEY_Scan( void )
{
if( KEY_ADD == 0 ) // 按键按下
{
Delay_ms(1); //延时消抖
while( !KEY_ADD ); //松手检测
ADC_num = ADC_num + 102;
if( ADC_num >= 512 )
{
ADC_num = 512;
}
}
if( KEY_DEC == 0 ) // 按键按下
{
Delay_ms(1); //延时消抖
while( !KEY_DEC ); //松手检测
ADC_num = ADC_num - 102;
if( ADC_num <= 0 )
{
ADC_num = 0;
}
}
}
/*=========================================
//DA
=========================================*/
void TCL5615_DAC(unsigned int Data)
{
unsigned char i;
Data <<= 6; //移除高6位,int型数据有16位,该DA是10位
SCK = 0; //在片选有效前,时钟信号要为低
CS = 0;; //片选有效
for(i=0;i<12;i++) //每次转换需要10个时钟下降沿
{
if(Data&0x8000) //取最高位数据,模拟串行数据
{
DIN = 1;
SCK = 0;
SCK = 1;
}
else
{


关键字:51单片机控制 恒流源 主控制器
引用地址:
基于51单片机控制的恒流源设计
推荐阅读最新更新时间:2026-03-19 17:03
如何使用8051单片机控制双向直流电机
如何将直流电机连接到8051单片机?在本文中,主要有8051单片机+DC电机系统两个部分。首先是带有控制电机所需程序的8051单片机,其次是合适的驱动电路。 大多数直流电机的功率要求远远超出了单片机的范围,而且在反转旋转方向时产生的电压尖峰更容易损坏单片机。因此将直流电机直接连接到单片机是不明智的,完美的解决方案是在单片机和直流电机之间使用电机驱动电路。 一、L293电机驱动芯片 L293是一款专用的H桥电机驱动器IC,采用16引脚封装。L293的电流容量为600mA/通道,电源电压范围为4.5至36VDC。它们配有内部高速钳位二极管,用于电感尖峰保护。L293的其他优点包括高抗噪性、内部ESD保护、热关断、每个通道的独立
[单片机]
MCS-51单片机控制跑马灯的三种方法
在MCS一51单片机的控制系统中,它的四个并行8位输入输出端口P0一P3是我们经常使用的。在并行端口的编程学习中,“跑马灯”是单片机并行端口输出控制的典型实例。所谓跑马灯,是指将八个发光二极管分别连接到单片机的某一并行端口的八根线上,通过编程控制这八个发光二极管从低到高或从高到低依次点亮。 图1 跑马灯电路图 如图1所示,将8个发光二极管阴极接到MCS一51单片机P1端口的8根端口线上,阳极通过限流电阻接+5V电源。要让发光二极管点亮,则对应的端口线应该为低电平(‘’0’);而要让其熄灭,对应的端I=I线应该为高电平(“1”)。由此,我们假定“跑马灯”由端I=1的低位向高位轮流点亮.可以得到如下状态: 表
[单片机]
单片机控制继电器_51单片机控制继电器详解
单片机控制继电器 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。 很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。 控制继电器是一种自动电器,它适用于远距离接通和分断交、直流小容量控制电路,并在电力驱动系统中供控制、保护及信号转换用。控制继
[单片机]
51单片机控制的万能密码锁
初始密码:12345678 此程序用51单片机控制74LS164锁存器来实现 单片机与存储器之间通过IIC 通讯来建立密码系统通讯 仿真启动开始设置密码 万能密码锁参考程序源代码: #include AT89x51.h #include intrins.h #include key.h #include xsh.h #include 24c02.h #define ulong unsigned long bit BJCB=0;//报警标志 XG=0,//修改密码标志位 BJ=0,//报警标志位 SJ=0;//锁键盘标志位 // xg=0;//修改密码标志位 uchar PSWD0_0 ={0};//密码输入缓
[单片机]
如何使用AT89C51单片机控制LED显示屏的电路设计
LED显示屏广泛应用于工矿企业、学校、商场、店铺、公共场所等进行图文显示,广告宣传,信息发布。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。 1 电路设计 控制电路由AT89C51单片机作控制器,显示屏由4个16×16点阵LED模块组成,每个16×16点阵LED模块由4个8×8点阵LED模块组成,用户可根据需要扩展增加任意多个16×16点阵LED模块。8×8点阵LED模块结构如图1所示,共8行8列,每个发光二极管放置在行线和列线的交叉点上,共64个发光二极管。当某一列为高电平,某一行为低电平时,则
[单片机]
51单片机控制PWM信号实现直流电机转速控制的方法
设计中采用了专门的芯片组成了PWM信号的发生系统并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节从而控制其输入信号波形等均作了详细的阐述。另外本系统中使用了红外对管对直流电机的转速进行测量,经过整形电路后将测量值送到单片机,并且最终作为反馈值输入到单片机进行PID运算从而实现了对直流电机速度的控制。在软件方面,文章中详细介绍了PID运算程序初始化程序等的编写思路和具体的程序实现。 1 单片机最小系统:单片机最小系统由51单片机,晶振电路,复位电路,电源组成。大家都比较熟悉,这里不再赘述。 2 四位数码管显示:在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型
[单片机]
51单片机控制舵机实验
简介:这里用到PCF8591 ADDA芯片和51单片机和一个电位器。通过控制电位器,产生PWM波,控制舵机旋转。并在数码管上显示角度。 电路图 这是程序,、 /*----------------------------------------------- 名称:IIC协议 PCF8591ADDA转换 内容:此程序通过IIC协议对DAAD芯片操作,读取电位器的电压,并输出模拟量,用LED亮度渐变指示,晶体选用12MHz ------------------------------------------------*/ #include reg52.h #include intrins.h //包
[单片机]
51单片机控制步进电机和直流减速电机
51单片机控制步进电机和直流减速电机。 用这个电路图可以实现多个电机的联动,易于写程序控制。 使用多个L298驱动芯片,安全高效。 以下是正文: L298驱动芯片介绍: L298工作电压高达46V 总DC电流达4A 低饱和电压 L298具有过温保护功能 file:///C:/Users/HUAWEI/AppData/Local/Temp/msohtmlclip1/01/clip_image005.png 接下来看看protues的仿真图。 按图示接法,驱动芯片的in口和out口电平状态完全对应一致。但不会有过大电流流过单片机。因此安全可靠。 驱动方法: 直流电机,直接电机的连线上,给予一高一低的两个电平即
[单片机]