51单片机怎样用键盘控制输出频率和占空比可调的方波

我想用键盘控制输出频率和占空比的方波,请各位给点具体方法,最好有程序!谢谢
能给个具体程序吗?

如果占空比可以控制、调整,就不能称之为方波,就是矩形波形,属于PWM波形。

用两个变量控制PWM的参数,一个控制周期长度,一个控制脉冲宽度。

用两个按键控制“周期长度”变量的+、-;
用两个按键控制“脉冲宽度”变量的+、-;

即可。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-06
#include<reg51.h>
sbit key=P3^7; //P3.7接按键,低电瓶有效
sbit HZ =P3^6; //P3.6输出脉冲

void delay(unsigned char w)
{
while(w--);
}

void main()
{
unsigned char w,c=120;

while(1)
{
if(key==0) c--;//按键调节频率

w=c;
HZ!=HZ; //输出频率
delay(w);
}
}本回答被提问者采纳
第2个回答  2019-02-24
ORG
0000HAJMP
MAINMAIN:MOV
R7,#0FFHMOV
R6,#0FFHMOV
R5,#0MOV
R6,#0SETB
P1.0LCALL
DELAYCLR
P1.0LCALL
DELAY1JNB
P2.0,ZJJNB
P2.1,JXLJMP
MAIN
ZJ:
DEC
R6;
增加
INC
R4
LJMP
MAIN
JX:
INC
R6;
减小
DEC
R4
LJMP
MAIN
DELAY:D1:
DJNZ
R7,D1
DJNZ
R6,DELAY
RETDELAY1:D2:
DJNZ
R5,D2
DJNZ
R4,DELAY
RET高电平时间为(R7*2+3)*R6;低电平时间为(R5*2+3)*R4;P2.0是低电平时增加占空比p2.1是低点平时减小占空比P1.0口是pwm信号输出
大致写下哈.给点辛苦分吧
第3个回答  2009-09-02
请程序参考,谢谢!
第4个回答  2009-08-23
键盘是计算机的键盘么?
相似回答