STM32F4程序,按键输入,三个键对应三个值多次按键依次累加,超过15蜂鸣器响

作者&投稿:察柴 (若有异议请与网页底部的电邮联系)
数码管显示4×4 键盘矩阵按键序号,每按一次键蜂鸣器就会响。我的问题:为什么这程序蜂鸣器不响?急求解决~

1,程序改一下,beep一直响几百ms,不要给波形
void Beep()
{
BEEP=1;

delay_ms(10000);
BEEP=0;
}
2,npn三极管接法改动
e极接GND,c极接蜂鸣器负极,蜂鸣器正极接电源
3,没有调用beep();
switch(P1) //假如某行按下去,四列中是不是有o出现
{
case 0x0e: i=0; beep();break; //00001110 第一列有按键按下去
case 0x0d: i=1; beep();break; //00001101
case 0x0b: i=2;beep(); break; //00001011
case 0x07: i=3; beep();break; //00000111
}

P1=0XF0; //11110000 四行为1 四列为0
switch(P1)
{
case 0xe0: i=i+0;beep(); break; //00001110 第一行有按键按下去
case 0xd0: i=i+4;beep(); break; //00001101
case 0xb0: i=i+8;beep(); break; //00001011
case 0x70: i=i+12;beep(); break; //00000111

}

设按键为k1,k2,k3
void main()
{
char beepflag=0;



while(1)
{
if((k1==0)

beepflag|=0x01;

else

beepflag&=0xFE;

if(k2==0) //按键按下
beepflag|=0x02;
else

beepflag&=0xFD;

if(k3==0) //按键按下

beepflag|=0x04;
else

beepflag&=0xFB;

//------------这里判断字符低三位,如果有其中两位置一,则开启蜂鸣器
}

}
思路大概就是这样,如对您有帮助,请采纳,谢谢!

STM32开发板上载有的4个按钮(WK_UP、KEY0、KEY1和KEY2),来控制板上的2个LED(DS0和DS1)和蜂鸣器,其中WK_UP控制蜂鸣器,按一次叫,再按一次停;KEY2控制DS0,按一次亮,再按一次灭;KEY1控制DS1,效果同KEY2;KEY0则同时控制DS0和DS1,按一次,他们的状态就翻转一次。




口袋妖怪黑白里的原始鸟进化到古翼龙后还可以习得哪些技能?貌似学到...
TM28 挖洞 TM32 影子分身 TM37 沙尘暴 TM39 岩石封杀 TM40 燕返 TM41 折磨 TM42 空元气 TM44 睡眠 TM45 着迷 TM48 轮唱 TM52 气合弹 TM62 杂耍 TM65 暗影爪 TM68 亿万冲击波 TM69 岩切 TM71 岩石利刃 TM78 压路 TM80 岩崩 TM82 龙之尾 TM87 虚张声势 TM88 啄食 TM89 蜻蜓回...

图书的分类有哪些?
TP31 计算机软件TP311 程序设计、软件工程TP312 程序语言、算法语言TP313 汇编程序TP314 编译程序、解释程序TP315 管理程序、管理系统TP316 操作系统TP317 程序包(应用软件)TP319 专用应用软件TP32 一般计算器和计算机TP33 电子数字计算机TP34 电子模拟计算机TP35 混合电子计算机TP36 微型计算机TP37 多媒体技术与多...

谁可以告诉我怎么在GBA模拟器上使用金手指
最直接而且好的方法就是在VBA中选菜单[Cheat]-[Cheat list]-[Code]然后就会弹出"Add cheat code"这个窗口,其中"Description"是给你添加对下面你输入的金手指的说明用的,如这时我可输入"金钱无限",也可以不写留空.而下面的标记为"Code"的文本框内则是给你输入金手指代码用的,这时可把02025924:000F423F输入到那...

口袋妖怪金\/银版金手指
TM11 7b TM12 7c TM13 7d TM14 7e TM15 7f TM16 80 TM17 81 TM18 82 TM19 83 TM20 84 TM21 85 TM22 86 TM23 87 TM24 88 TM25 89 TM26 8a TM27 8b TM28 8c TM29 8d TM30 8e TM31 8f TM32 90 TM33 91 TM34 92 TM35 93 TM36 94 TM37 95 TM38 96 TM39 97 TM40 98 T...

Photoshop 的一个小问题。
粘贴选择区:F4 \/ Ctrl+V; 显示或关闭画笔选项板:F5; 显示或关闭颜色选项板:F6; 显示或关闭图层选项板:F7; 显示或关闭信息选项板:F8; 显示或关闭动作选项板:F9; 显示或关闭选项板、状态栏和工具箱:Tab; 全选:Ctrl+A; 反选:Shift+Ctrl+I; 取消选择区:Ctrl+D; 选择区域移动:方向键; 将图层转换为选择区...

宠物小精灵精灵代码7位字的
TM09 86 TM10 87 TM11 88 TM12 89 TM13 8A TM14 8B TM15 8C TM16 8D TM17 8E TM18 8F TM19 90 TM20 91 TM21 92 TM22 93 TM23 94 TM24 95 TM25 96 TM26 97 TM27 98 TM28 99 TM29 9A TM30 9B TM31 9C TM32 9D TM33 9E TM34 9F TM35 A0 TM36 A1 TM37 A2 TM38 A3 ...

宠物小精灵银版问题
TM11 88 TM12 89 TM13 8A TM14 8B TM15 8C TM16 8D TM17 8E TM18 8F TM19 90 TM20 91 TM21 92 TM22 93 TM23 94 TM24 95 TM25 96 TM26 97 TM27 98 TM28 99 TM29 9A TM30 9B TM31 9C TM32 9D TM33 9E TM34 9F TM35 A0 TM36 A1 TM37 A2 TM38 A3 TM39 A4 TM40 A5 ...

我的笔记本是惠普3803tx 电视是海信TM32V86K请问下,用什么连接方式比较...
"1.你机器如果有VGA和HDMI接口的话,是可以使用它们连接电视的。2.VGA接口是无法传输音频信号的 3.建议你可以使用HDMI接口,用数据线将这个借口和电视的HDMI接口相连。4.视频的传输:在显卡属性中将多屏显示下的选项改为复制,然后按Fn F4键切屏 5.声音的传输:在任务栏中右键点击扬声器图标---转至...

三星笔记本请教
建议您还原您的系统尝试,开机时按F4键进入系统还原,选择还原,完全还原。(提示您备份好重要文件)6.重新安装正版或纯净版操作系统(提示您备份好重要文件),并安装三星官方驱动程序。若上述方法都无效,建议您到三星服务中心由工程师为您的机器检修。三星服务中心地址:http:\/\/www.samsung.com\/cn\/...

小写的tm怎么弄tm小写怎么打
用户程序调试设置发送文本错误信息给户。对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:WINNTsystem32inetsrvssinc.dll来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可...

红河县14769995392: //程序实现:从键盘输入3个整数,按从小到大的顺序输出完成程序并上机调试. #include "stdio.h" void sor -
翟居氟罗: #include void sort(int *p1,int *p2,int *p3) { if(*p1>*p2){*p1 = *p2 + *p1;*p2 = *p1 - *p2;*p1 = *p1 - *p2;}if(*p1>*p3){*p1 = *p1 + *p3;*p3 = *p1 - *p3;*p1 = *p1 - *p3;}if(*p2>*p3){*p2 = *p2 + *p3;*p3 = *p2 - *p3;*p2 = *p2 - *p3;...

红河县14769995392: stm32f4 discovery按键实验 -
翟居氟罗: 按键不好用的原因如下:按键卡死(逐个按键按一次,每个按键是否有弹力). 键盘潮湿、漏电. 键盘纵、横线的保护元件及抗干扰电容漏电、短路.翻盖控制电路失效引起.CPU虚焊.机板断线.

红河县14769995392: stm32按键程序设置设置成什么输入方式 -
翟居氟罗: GPIO_Mode_IPU 上拉输入 就可以

红河县14769995392: STM32 4*4矩阵键盘的疑惑 程序中通过扫描方式实现,但不能实现功能.调用库函数时,有个函数不明白设置的 -
翟居氟罗: GPIO_Write(GPIOB,(GPIOB->ODR & 0xfff0 | 0xf)) 这个地方是说!你先把GPIOB口的输出寄存器低四位清零,让后在把他与0xf相与在把低四位置高.GPIOB是32位寄存器所以,0xfff0正好是32位,那个0xf是0x0f的意思!

红河县14769995392: 编一程序,从键盘输入三个整数,从大到小输出! -
翟居氟罗: #include "stdio.h" void main() { int a,b,c; int temp; scanf("%d%d%d",&a,&b,&c); if(a<b) {temp=a;a=b;b=temp;} if(b<c) {temp=b;b=c;c=temp;} if(a<b) {temp=a;a=b;b=temp;} printf("%d %d %d",a,b,c); }

红河县14769995392: 编写程序,由键盘输入3个整数分别表示小时、分钟、秒,要求显示下一 -
翟居氟罗: 1 2 3 4 5 6 7 8 9 10 11#include <stdio.h> voidmain() { inta,b,c; scanf("%d%d%d",&a,&b,&c); c++; if(c==60) {c=0;b++;} if(b==60) {b=0;a++;} if(a==24) a=0; printf("%02d:%02d:%02d",a,b,c); }运行示例截图:

红河县14769995392: 利用stm32的单片机完成下面的要求,程序该怎么写,用C语言 -
翟居氟罗: 用两个定时器分别对两个LED灯闪烁,KEY1和KEY2要设置为外部中断输入,当进入中断时KEY1_DANG或KEY2_DANG指向下一个档位,并且发送串口.给你提供点思路.void main() { while(1) { if(key1_dang==0x01) 中断定时1设置为0.2秒 if(key...

红河县14769995392: 如何使用STM32F4的DSP库 -
翟居氟罗: 如何使用STM32F4的DSP库 我们平常所使用的CPU为定点CPU,意思是进行整点数值运算的CPU.当遇到形如1.1+1.1的浮点数运算时,定点CPU就遇到大难题了.对于32位单片机,利用Q化处理能发挥他本身的性能,但是精度和速度仍然不...

红河县14769995392: STM32F4的GPIO管脚可以同时配置成输入,输出模式吗 -
翟居氟罗: 不可以,如果要实现同一管脚既可输出又可输入需要在程序中更改设置,通过定时器触发或外部中断触发

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网