永发信息网

单片机程序的

答案:2  悬赏:70  手机版
解决时间 2021-05-01 10:34

#include <reg51.h>

sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
sbit key4=P3^5;

sbit d1=P1^0;
sbit d2=P1^1;
sbit d3=P1^2;
sbit d4=P1^3;
sbit d5=P1^4;
sbit d6=P1^5;
sbit d7=P1^6;
sbit d8=P1^7;

sbit SPK=P3^7;

void delay(unsigned int cnt)
{
while(--cnt);
}

void speak(unsigned int j)
{
unsigned int i;
for(i=0;i<j;i++)
{SPK=0;
delay(180);
SPK=~SPK;
}
SPK=0;
}


void main()
{
bit Flag;
P1=0x00;
SPK=0;
delay(200);
while(!Flag)
{
if(!key1)
{
d1=1; d2=1; //LED1,2,
d3=0; d4=0;
d5=0; d6=0;
d7=0; d8=0;
Flag=1;
speak(300);
P2=1;
P0=0x00;
}
else if(!key2)
{ d1=0;d2=0; //LED3,4 d3=1;d4=1;
d5=0;d6=0;
d7=0;d8=0;
Flag=1;
speak(300);
P2=2;
P0=0x00;

}
else if(!key3)
{ d1=0;d2=0; //LED5,6 d3=0;d4=0;
d5=1;d6=1;
d7=0;d8=0;
Flag=1;
speak(300);
P2=3;
P0=0x00;

}
else if(!key4)
{ d1=0;d2=0; //LED7,8 d3=0;d4=0;
d5=0;d6=0;
d7=1;d8=1;
Flag=1;
speak(300);
P2=4;
P0=0x00;

}

}
while(Flag);
}


通俗解释一下。

最佳答案

简单的来说就是用4个按键来实现P3^7引脚的高度电平的变化频率,P3^7应该是接蜂鸣器之类的。


sbit是引脚的定义。delay()为延迟程序。key为四个独立按键,没有按下的时候是高电平,按下的时候为低电平。


void speak(unsigned int j)
{
unsigned int i;
for(i=0;i<j;i++)
{SPK=0;
delay(180);
SPK=~SPK;
}


中的SPK取反的频率就是要控制连接的P3^7的电平变化频率。

全部回答
delay()为延迟程序 延迟程序有什么意义么。?有啊,延时可以让你的仪器的个个元器件的时序协调起来,这样才能工作啊。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ空间里的餐厅
GRE GMAT SAT 之间的区别?
南门西路/后巷街(路口)地址在什么地方,想过
给小孩起名字,姓付
CSOL控制台有什么用?
什么方法可以七天减十斤阿?我现在天天下午去
古诗词散文,潘炫的原名是什么,是《 》杂志的
请问~运气是不是实力的一部分? 再请问我是不
所谓触电的感觉,是对于一个人还是两个人?
拳皇1.3的游戏代码
抢车位升到5级了有什么好处?
与一个喜欢自己的人和自己不喜欢的人在一起会
学习电子商务有什么收获?
《神话》网游取名字
我姓陈老婆姓岳,宝宝阴历十月出生,男孩女孩
推荐资讯
无锡三福百货
关于骨质增生问题
熊熊升级快吗?
男人说的话不可靠吗?
冲点卡的店或网吧能不能冲财付通
万利达小锅怎么又16个台了
玩游戏的害处
怎样开游戏人生??
我是1989.05.05出生是什么星座的
给介绍几款智能机,要V3的。
联想电脑在苏宁能买到假的吗?
佳惠超市在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?