51单片机怎样用键盘控制输出频率和占空比可调的方波
5个回答
展开全部
#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);
}
}
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);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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信号输出
大致写下哈.给点辛苦分吧
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信号输出
大致写下哈.给点辛苦分吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-09-02
展开全部
请程序参考,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
键盘是计算机的键盘么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询