频率可调的方波信号发生器设计及电路
[09-11 23:01:44] 来源:http://www.88dzw.com 单片机学习 阅读:8391次
文章摘要: } TR1=1; } } }}//-main(){pulse_out=0; //初始化各变量 hz_shu=5; T1_cnt=0; state_val=0; second=0; sec_over_num=0; T1_over_num=get_T1_over_num(hz_shu); //初始化51的寄存器 TMOD=0x20;//用T1计时 8位自动装载定时模式,T0计数p3.4的脉冲数 TH1=0x6; //250微秒溢出一次; 250(256-x)*12/1
频率可调的方波信号发生器设计及电路,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com}
TR1=1;
}
}
}
}
//-------------------------
main()
{pulse_out=0; //初始化各变量
hz_shu=5;
T1_cnt=0;
state_val=0;
second=0;
sec_over_num=0;
T1_over_num=get_T1_over_num(hz_shu);
//初始化51的寄存器
TMOD=0x20;//用T1计时 8位自动装载定时模式,T0计数p3.4的脉冲数
TH1=0x6; //250微秒溢出一次; 250(256-x)*12/12 -> x=6
TL1=0x6; //200Hz的半周期为2.5毫秒,要溢出中断10次
EA=1; //开中断
ET1=1;
TR1=1; //定时器T1
while(1)
{ key_val=scan_key(); //扫描按键
if (key_val!=key_val_old)
{ //说明有键按下或弹起
key_val_old=key_val;
if (key_val!=255)
{ //说明键按下
state_val=0; //清除连续按键标志
sec_over_num=0;
switch (key_val)
{ case 0: //增1键
hz_shu++;
T1_over_num=get_T1_over_num(hz_shu);
break;
case 1: //减1键
if(hz_shu>=2)
{hz_shu--;}
else
{hz_shu=1;}
T1_over_num=get_T1_over_num(hz_shu);
break;
}
}
else //说明键弹起
{ state_val=0; second=0;
}
}
else //一直按下或弹起
{ if (key_val!=255)
{ state_val=1; //连续按键
}
else
{state_val=0;} //没有按键按下,一直处于弹起状态
}
led_show(); //数码管显示,动态扫描
}
}//----方波发生器-----------------
Tag:单片机学习,单片机开发,单片机原理,单片机教程,单片机学习
- 上一篇:出租车计价器设计与制作
《频率可调的方波信号发生器设计及电路》相关文章
- › 频率可调的方波信号发生器设计及电路
- › 补偿频率可调的超重低音激励器
- 在百度中搜索相关文章:频率可调的方波信号发生器设计及电路
- 在谷歌中搜索相关文章:频率可调的方波信号发生器设计及电路
- 在soso中搜索相关文章:频率可调的方波信号发生器设计及电路
- 在搜狗中搜索相关文章:频率可调的方波信号发生器设计及电路
分类导航
最新更新