按键控制单片机实现串口通信

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:29:47
我用的是51系列的单片机,做的东西类似于MP3,有五个按键,分别是上一曲,下一曲,音量大,音量小,还有一个就是集成了开机,关机,暂停,继续等功能于一体的按键,我的思路是想将它们分别连接到P1口,然后通过查询P1口各脚的状态通过单片机的TXD脚来向MP3模块发命令(MP3模块只有一个串行输入口RXD),我不知道这个思路是否正确,而且单片机串口通信这一块我不是很清楚,还有通过按键时间长短来实现不同功能也不太明白如何控制,希望有人能帮帮我给我一些解答,最好能给我提供一些代码,感激不尽。

先设定8个按键标志位,
再进行按键扫描,开机,关机,暂停,继续四个功能通过短按和长按区分,当检测到按键按下后,将相应的标志位置1,向串行输入口RXD发送命令后再将标志位清零.
按键扫描可以采用定时器中断定时扫描.
按键时间长短控制,当检测到有键按下时暂停定时器,延时判断长短按键,再打开定时器,继续...

你的思路正确。
接下来你要做的是:

按键扫描(while loop)
5个按键的信号编码,给你思路: PWM
5个按键的信号解码, 同上

先做好这些,就差不多了,剩下的都是小问题。

good luck.