跪求。。。。用C51单片机输出频率及占空比可调的方波,分别用两个按键调增大和减小,并用三个八位数码管显

一,频率可调,调整范围从2Hz到400Hz,分别用两个按键增加和减小(步进单位待定),用三个8段数码管显示频率,一,宽度可调,调整范围从0.01ms到0.5ms,分别用两... 一, 频率可调,调整范围从2Hz到400Hz,分别用两个按键增加和减小(步进单位待定),用三个8段数码管显示频率,
一, 宽度可调,调整范围从0.01ms到0.5ms,分别用两个按键增加和减小(步进单位待定),用三个8段数码管显示脉冲宽度,
要求调节频率和宽度互不影响
展开
 我来答
zhengensong
2012-08-01 · TA获得超过181个赞
知道答主
回答量:74
采纳率:0%
帮助的人:74.7万
展开全部
这个程序很简单的,提示你一下,但是不会给你写,因为会害了你,频率是定时器控制的
TH0=(65536-50000)/256;
TL1=(65536-50000)%256;
这样就能计时50ms;
{
//中断里这样写
a++;
}
if(a<=n)
{
P0.1=1;
//用按键控制n的值就能实现脉宽
}
if(a<(m-n)&&a>n)
{
P0.1=0;
//用按键去控制m就能实现周期也就是频率的控制
}
a用完了清零
这样你就能完成你要的功能了
至于按键扫描,或者是数码管显示,还有定时器的初始化配置以及中断程序,自己解决吧
追问
嗯,十分谢谢,我就是想找人给点提示,不过能给我解释下这两个IF语句的意思吗?再次谢谢
if(an)
为啥这样用?
追答
在每次进入中断的时间是50ms的情况下是不是高电平时间就是n*50ms而低电平时间就是(m-n)*50ms,这样m*50ms就是每个周期的时间而n*50ms是每个周期高电平时间,哪(m-n)*50自然及时每个走起低电平的时间,你通过更改m,n的值不就能调整周期和脉宽了么
学习辅导小能手韩老师
2012-08-01 · TA获得超过231个赞
知道小有建树答主
回答量:238
采纳率:100%
帮助的人:115万
展开全部
你这个程序说实话不怎么好写,网上的朋友一般不会花时间帮你写的,建议你找你们朋友中搞程序方面比较在行的帮你写。。。
更多追问追答
追问
朋友里都没搞这个的,能给点提示怎么设计么?
追答
上网搜“基于单片机的波形发生器”,会有些相类似的设计方案,希望对你有帮助。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
okmye
2012-08-01 · TA获得超过3755个赞
知道大有可为答主
回答量:2337
采纳率:100%
帮助的人:588万
展开全部
我想完全可以.
追问
怎样设计呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式