基于单片机的音频播放器及文本浏览器设计 - 图文(8)

2019-04-14 16:11

青岛大学本科生毕业论文(设计)

if (w == 0) { }

//标志位为0正常走时

//显示日期 //显示农历 //显示时间

displaydate(); displaynl(); displaytime();

read_temp(); //读取温度 ds1820disp(); //显示温度 displayxq(); //显示星期 if(!up) { } { } { }

game(); //按下退出键进入游戏功能

music(); //按下下键进入音乐功能

book(); //按下上键进入电子书功能

if(!down)

if(!exit)

else settime();//标志位为1,则进入调时功能

}//while循环结束 }//main函数结束

2、按键扫描函数

本设计中用到的按键较少,使用四个按键外加功能复用即可实现人机交互。

①:音频播放和文本浏览时,按键次数较少,因此采用单片机延时检测电平的方法实现按键扫描:

unsigned char keyscan() //按键扫描函数 {

unsigned char q;

31

青岛大学本科生毕业论文(设计)

if(!up) //按下UP键 {

delay(5000); while(!up); if(up) { }

delay(5000); if(up) }

}

q=0;

return q; //返回UP键值为0

//按键防抖

{

if(!down) //按下DOWN键 {

delay(5000); //按键防抖 while(!down); if(down) { }

if(!enter) //按下enter键 {

delay(5000); //按键防抖

32

delay(5000); if(down) }

q=1; return q; }

//返回DOWN键值为1

{

青岛大学本科生毕业论文(设计)

}

②:当进行俄罗斯方块游戏时,检测电平的方法不能满足设计要求,此时采用定时器中断的方法进行按键扫描:

33

while(!enter); if(enter) { }

if(!exit) //按下exit键 {

delay(5000); while(!exit); if(exit) { } q=4;

return q; //无键按下

delay(5000); if(exit) }

}

q=3;

return q; //返回exit键值为3

delay(5000); if(enter) }

}

q=2; return q;

//返回enter键值为2

//按键防抖

{

{

青岛大学本科生毕业论文(设计)

void initTimer0(void) //定时器0初始化 { }

void keyScan(void) interrupt 1 {

uchar keyCur;

static uchar keyOld = 0xff,keyTime = 0; TH0 = 0x70; keyCur = ~P3;

if(keyCur != keyOld)

keyTime = 0; keyChange = 0;

keyOld = keyCur; //保存当前按键情况 return;

//返回

//如果两次值不等,说明按键情况发生了改变

//键盘按下时间为0

//5ms

TMOD&=0xF0; TMOD|=0x01; ET0=1;

TR0=1; EA=1;

//启动定时器0

//定时器0模式控制在高4位 //定时器0工作在模式1

TL0 = 0x00;

{

}

else

if(++ keyTime == 5) {

keyTime = 0; keyOld = 0xff;

keyPress = keyCur&0x3C; //保存按键 keyChange = 1;

//如果按下时间足够

{

}

} }

34

青岛大学本科生毕业论文(设计)

3、book()子函数

book()子函数用来实现电子书的浏览,正常待机界面下按up键进入电子书功能,具体流程图如下:

按下电子书功能键 显示书籍列表 左右键选择书籍 按键检测 输入键 浏览文本 退出键到上一级 按键检测 退出键退出 左右键 上下翻页 输入键选择书签 返回默认界面

图4.2 电子书函数设计流程图

具体程序设计见附录二。

4、music()子函数

music()子函数用来实现音频文件播放,正常待机界面下按down键进入音频播放功能,具体流程图如下:

35


基于单片机的音频播放器及文本浏览器设计 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:测量学读书笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: