思路想法
按下 独立按键s9(开机键) 后8*8点阵显示DGXT流动 1602 液晶显示welcome
在此以后
按下s1(音乐A键)后8*8点阵显示DGXT流动 1602 液晶显示ZHIYOUMAMAHAO
和液晶上 时间计数 从00:00:00开始,同时蜂鸣器演奏音乐A
按下s5(音乐B键)后8*8点阵显示DGXT流动 1602 液晶显示SONGBIE
和液晶上 时间计数 从00:00:00开始,同时蜂鸣器演奏音乐B
在音乐播放的时候 可以按s1或者s5换歌 也可以按下s9复位开机显示
(我自己想的还有很多不完善的地方,比如说关机,音乐停止时延时一会液晶时间清零音乐从新开始,我都没想出来咋写)
遇到问题
我把每个都做成独立的子函数了 分别调用 都可以实现 (在自己的开发板上)
液晶和 8*8点阵可以同时实现
但是 音乐和液晶不能同时实现
我觉得是中断冲突??还是优先级问题?
还有就是最后的按键 不会弄 实现不了
主函数的写法想到了用中断,只能实现开机(按下s9)后再按s1(音乐A键)8*8点阵循环,液晶显示歌名,但是液晶时间不动...
还有很多困难从写子函数到连线到最后的调试弄了好久了...
(流程图现在还不大会写,只能这样了)
程序如下:
.....
程序太长.....
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
void tiner0() interrupt 1
void tiner1() interrupt 1
这两个的函数不是一样吗?分两个干嘛?
51只有2个定时器。
如果你想执行不同的中断的函数,只要设置个变量标志,改变该变量来执行不同的函数,当然没法同时。
话说,你这程序需要同时使用几个定时器?
[ 本帖最后由 孤獨の快樂 于 2011-11-13 14:15 编辑 ]一周热门 更多>