计算好7个音阶的频率,换算为周期
再除以2是半个周期,再换算作为定时器的初值,制成表格,
按下不同按键,装入不同和初值,并启动定时器,让中断发生,中断程序里某一IO管脚取反,形成方波,这个方波经放大可以推动扬声器
主程序只管查询按键并 延时
可以用普通的C语言来写。调用User32lib
的函数:
void keybd_event(BYTE bVirturalKey,BYTE bScanCode,
DWORD dwFlags,DWORD dwExtraInfo)
ctrl 键是 VK_CONTROL bScanCode = 0x9d
shift键是 VK_SHIFT 0xaa
揿键是 0,0
键d上来是:KEYEVENTF_KEYUP,0
例如simu_keyboardc程序,模拟 Alt-PrintScreen,把屏幕图像放入剪切板。
头文件:
#include <Windowsh>
#include <Winuserh>
#include <stdioh>
#include <stdlibh>
/ ----------------------------------
simulation of Alt-PrintScreen
to get current Window image in clipboard
-----------------------------------/
void snapwin_2_clipboard()
{
keybd_event(VK_LMENU,0xA4,0,0); // 揿 Alt
keybd_event(VK_SNAPSHOT,0x2C,0,0); // 揿 PrintScreen
keybd_event(VK_SNAPSHOT,0x2C,KEYEVENTF_KEYUP,0); // 键d上
keybd_event(VK_LMENU,0xA4,KEYEVENTF_KEYUP,0); // 键d上
}
void main()
{
(void) snapwin_2_clipboard();
exit(0);
}
编译命令: cl simu_keyboardc user32lib
运行:simu_keyboardexe
用任何图像编辑软件中的Edit-paste 可贴剪切板里的内容了。
1、打开按键精灵,新建一个空白脚本,这个方法要配合输入法,使用于字数较少的输入。
2、插入按键“N”和“H”。
3、再插入按键“space”。
4、在设置好启动热键和循环次数,就编写完成了。
5、可以用命令直接输入文字,在编写时使用saystring语句。
6例如输入”你好“,在按键精灵中输入saystring "你好"“”里就是要输入的文字。
以上就是关于51单片机程序,我想要个按键输入的,可以让蜂鸣器输出音阶1234567全部的内容,包括:51单片机程序,我想要个按键输入的,可以让蜂鸣器输出音阶1234567、windows编程如何指定对某一个程序模拟键盘输入、如何让按键精灵自动输入文档内的文本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)