一、PWM:脉冲宽度调制,在具有惯性的系统中,通过脉冲宽度调制,来等效的获得所需要的模拟量,常用于点击控诉,开关电源等。
PWM重要参数:
实例一:呼吸灯:
代码:
unsigned char Time,i;
for(Time=0;Time<100;Time++) //设置阈值,即宽度为100
{
for(i=0;i<20;i++) //每个宽度循环20次
{
P2_1=0;
Delay(Time); // 延时,即Time/100的时间亮
// us (若用ms,则会出现闪烁)原因是时间过长
P2_1=1;
Delay(100-Time);// 延时,即(100-Time)/100的时间灭
}
}
for(Time=0;Time<100;Time++)
{
for(i=0;i<20;i++)
{
P2_1=1;
Delay(Time);
P2_1=0;
Delay(100-Time);
}
}
实例二:电机调速
代码:
unsigned char Keynum;
unsigned Time,i;
sbit Motor=P1^3;
void main()
{
Timer0_Init();
while(1)
{
Keynum=Key();
switch(Keynum) //通过按键控制阈值
{
case 0: Nixie(1,Keynum);Time=0;break;
case 1: Nixie(1,Keynum);Time=50;break;
case 2: Nixie(1,Keynum);Time=75;break;
case 3: Nixie(1,Keynum);Time=100;break;
}
}
}
void Timer0_Routine() interrupt 1 //定时器扫面控制
{
TL0 = 0xFF; //设置定时初始值
TH0 = 0xFF; //设置定时初始值
//时间控制尽量小,至少us级别,保证波形的延续性
i++;
i%=100; //设置宽度
if(i<Time)
{
Motor=1; Time/100 开
}else
{
Motor=0; (100-Time)/100 关
}
}
二、AD/DA
AD:模拟-数字转换、将模拟信号转换为数字信号
DA:数字-模拟转换、将数字信号转换为模拟信号
转换图:
AD原理:
DA原理:
1.T型
2.PWM型
AD / DA一般性能指标