单片机课程设计电子音调发生器_第1页
单片机课程设计电子音调发生器_第2页
单片机课程设计电子音调发生器_第3页
单片机课程设计电子音调发生器_第4页
单片机课程设计电子音调发生器_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计电子音调发生器单片机课程设计电子音调发生器/NUM单片机课程设计电子音调发生器单片机课程设计电子音调发生器单片机课程设计实验报告电子音调发生器姓名:日期:2009年6目录(一)实验目的 2(二)设计任务及要求 2(三)工作原理及设计思路 2(四)实现功能设计 3(五)软件设计 3(六)电路设计 35(七)调试 36(八)实验体会 37(一)实验目的了解计算机发声原理。熟悉定时器和键盘扫描电路的工作原理及编程方法。(二)设计任务及要求利用实验平台上的开关k0-k7和蜂鸣器设计电子音调发生器,要求:1.利用实验平台上开关k0-k7进行音调选择,即拨动不同的开关产生不同的音调,依次拨动K0~K7,蜂鸣器发出1234567i八个音调。2.编写2支歌曲,并可进行选择播放。(三)工作原理及设计思路音节由不同频率的方波产生,音节与频率的关系如表1所示。要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用计时器计时此半周期时间,每当计时到后就将输出方波的I/0反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚得到此频率的方波。在ZKS-03实验仪上,产生方波的I/O脚选用P1.7,通过跳线选择器JP1将单片机的P1.7与蜂鸣器的驱动电路相连。这样P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。另外,音乐的节拍是由延时实现的,如果1拍为0.4秒,1/4拍是0.1秒。只要设定延时时间,就可求得节拍的时间。延时作为基本延时时间,节拍值只能是它的整数倍,每个音节相应的定时器初值X可按下法计算:(1/2)*(1/f)=(12/fose)*(216-x)即x=216-(fose/24f)其中f:音调频率,当晶振fose=11.0592MHz时,音节“1”相应的定时器初值为x,则可得x=63777D=F921H其它的可同样求得。表1音调频率(Hz)X(HEX)1262F9212294F9E13330FA8C4349FAD85392FB686440FBE97494FC5Bi523FC8F(四)实现功能设计实现两个主要功能:电子琴与音乐播放;一个辅助功能:在液晶上显示相关信息。1、电子琴:4*4的矩阵16个按键,按键0实现两个功能的切换,其余按键分别发出音调

低音5、6、7,中音1、2、3、4、5、6、7,高音1、2、3、4、5。发音的同时在液晶显示屏上显示出对应的音调。

2、音乐播放:按键0实现两个功能的切换,按键1实现播放类型选择(单曲循环播放、所有循环播放),其余按键分别对应一首歌。目前已经有9首歌。播放的同时,在液晶上显示出歌名。(五)软件设计根据要实现的功能,流程图如下:开始开始系统初始化判断按键判断按键电子琴液晶显示录音调整时钟功能选择功能选择音乐音乐#include<AT89X52.H>#include<intrins.h>#definenop_nop_() #defineucharunsignedchar #defineuintunsignedint#definePAI_BASE15#defineMUSIC_NUM9#defineSCAN_CYCLE500#defineBEEPP3_3/***************液晶显示相关变量***********************************/sbitLCD_RS=P2^7;sbitLCD_RW=P2^6;sbitLCD_EN=P2^5;staticucharth0_f;//在中断中装载的T0的值高8位staticuchartl0_f;//在中断中装载的T0的值低8位statictimebuffer,Record_counter,Record_flag=0;staticucharkey2,key=16,scounter=0,Record_time;staticuchars_musicCounter=0x00,s_tableCounter;bitRplay_flag=0;bitK0_flag=0;bitMusic_flag0;bitMusic_flag=0;bitFreq_flag=0;bitdisptime_flag=0;bitmusicAutoFlag=0;//sbitBEEP=P3_3;//喇叭输出脚//延时子程序1voiddelay(intms){inti;while(ms--){for(i=0;i<250;i++){_nop_();_nop_();_nop_();_nop_();}}}/*******************************************************************//**//*检查LCD忙状态*//*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。*//**//*******************************************************************/bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P0&0x80);LCD_EN=0;returnresult;}/*******************************************************************//**//*写指令数据到LCD*//*RS=L,RW=L,E=高脉冲,D0-D7=指令码。*//**//*******************************************************************/voidlcd_wcmd(ucharcmd){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}/*******************************************************************//**//*写显示数据到LCD*//*RS=H,RW=L,E=高脉冲,D0-D7=数据。*//**//*******************************************************************/voidlcd_wdat(uchardat){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}/*******************************************************************//**//*设定显示位置*//**//*******************************************************************/voidlcd_pos(ucharpos){lcd_wcmd(pos|0x80);//数据指针=80+地址变量}/*******************************************************************//**//*LCD初始化设定*//**//*******************************************************************/voidlcd_init(){delay(15);//等待LCD电源稳定lcd_wcmd(0x38);//16*2显示,5*7点阵,8位数据delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x38);delay(5);lcd_wcmd(0x0c);//显示开,关光标delay(5);lcd_wcmd(0x06);//移动光标delay(5);lcd_wcmd(0x01);//清除LCD的显示内容delay(5);}/*******************************************************************//**//*清屏子程序*//**//*******************************************************************/voidlcd_clr(){lcd_wcmd(0x01);//清除LCD的显示内容delay(5);}//静态显示字符串voidlcd_string(char*strpoint)/*在当前显示位置显示LCD字符串*/{registeri=0;while(strpoint[i]!=0){lcd_wdat(strpoint[i]);i++;}}/*************************************************************************//*ConstantTables*/constcharcodec_music1[]={0x82,0x01,0x81,0x94,0x84,/*生日快乐歌*/0xb4,0xa4,0x04, 0x82,0x01,0x81,0x94,0x84, 0xc4,0xb4,0x04, 0x82,0x01,0x81,0xf4,0xd4, 0xb4,0xa4,0x94, 0xe2,0x01,0xe1,0xd4,0xb4, 0xc4,0xb4,0x04, 0x00};constcharcodec_music2[]={0x62,0x52,/*两只蝴蝶*/0x64,0x64,0x02,0x52,0x62,0x52,0x44,0x44,0x04,0x22,0x42,0x54,0x52,0x62,0x52,0x42,0x22,0x42,0x14,0x14,0x04,0x62,0x52,0x64,0x64,0x02,0x52,0x62,0x52,0x44,0x44,0x04,0x22,0x42,0x54,0x52,0x62,0x52,0x42,0x22,0x42,0x54,0x54,0x04,0x62,0x82, 0x84,0x84,0x02,0x82,0x92,0x82, 0x64,0x64,0x04,0x52,0x52, 0x54,0x52,0x62,0x52,0x42,0x22,0x91,0x41, 0x42,0x42,0x44,0x44,0x44,0x02,0x82,0x82,0x92,0xb2,0xa2,0xa2,0x92,0x64,0x52,0x62,0x64,0x64,0x02,0x62,0x62,0x82,0x94,0x94,0x02,0x22,0x62,0x52,0x54,0x54,0x04,0x62,0x82,0x82,0x62,0x84,0x02,0xb2,0xb2,0xa2,0x92,0xa2,0x64,0x02,0x92,0x92,0xa2,0x92,0x82,0x62,0x52,0x52,0x62,0x52,0x62,0x84,0x84,0x02,0x82,0x82,0x92,0x92,0x82,0x62,0x52,0x52,0x12,0x12,0x22,0x44,0x44,0x44,0x44,0x00};constcharcodec_music3[]={0x04,0x42,0x41,0x51,0x62,0x62,0x52,0x41,0x51,0x54,0x02,0x41,0x51,/*老鼠爱大米*/0x62,0x62,0x52,0x42,0x44,0x02,0x11,0x21,0x14,0x11,0x11,0x21,0x41,0x44,0x02,0x42,0x42,0x42,0x42,0x41,0x51,0x54,0x42,0x51,0x61,0x62,0x62,0x82,0x91,0x51,0x54,0x62,0x51,0x41,0x42,0x42,0x52,0x61,0x81,0x84,0x02,0x81,0x81,0x92,0x41,0x41,0x42,0x61,0x01,0x52,0x42,0x42,0x51,0x41,0x44,0x44,0x44,0x62,0x61,0x81,0x82,0x81,0x81,0x82,0x81,0x91,0x94,0x62,0x52,0x42,0x42,0x42,0x51,0x61,0x64,0x02,0x61,0x81,0x82,0x82,0x82,0x91,0xb1,0xb2,0x92,0x82,0x62, 0x52,0x42,0x42,0x22,0x54,0x02,0x61,0x81, 0x82,0x82,0x81,0x92,0x81,0x94,0x62,0x52,0x42,0x42,0x42,0x51,0x61,0x64,0x02,0x61,0x81,0x82,0x82,0x82,0x91,0xb1,0xb2,0x92,0x82,0x61,0x51,0x52,0x52,0x54,0x54,0x41,0x62,0x71,0x62,0x52,0x54,0x54,0x62,0x51,0x41,0x44,0x62,0x51,0x41,0x44,0x62,0x52,0x62,0x42,0x62,0x91,0x81,0x84,0x02,0x61,0x81,0x92,0x91,0x81,0x82,0x91,0x81,0x84,0x61,0x51,0x42,0x52,0x51,0x61,0x52,0x41,0x51,0x41,0x53,0x62,0x51,0x41,0x44,0x62,0x51,0x41,0x44,0x62,0x52,0x62,0x42,0x61,0x92,0x81,0x84,0x02,0x61,0x81,0x92,0x92,0xb2,0x81,0x91,0x82,0x01,0x81,0x61,0x51,0x41,0x54,0x51,0x41,0x51,0x61,0x54,0x62,0x62,0x54,0x02,0x42,0x44,0x44, 0x00};constcharcodec_music4[]={0x04,0x02,0x41,0x51,0x62,0x61,0x61,0x62,0x52,/*梦醒时分*/0x62,0x81,0x61,0x62,0x61,0x81,0x92,0x92,0x92,0xa2,0x82,0x62,0x62,0x62,0x61,0x51,0x42,0x41,0x41,0x42,0x22,0x62,0x81,0x41,0x44,0x51,0x52,0x01,0x52,0x42,0x81,0x61,0x52,0x52,0x41,0x51,0x62,0x61,0x61,0x62,0x52,0x62,0x81,0x61,0x62,0x61,0x81,0x92,0x91,0x91,0x92,0xa2,0x82,0x62,0x61,0x81,0x81,0x81,0x92,0xb2,0xb2,0x92,0x72,0x52,0x52,0x81,0x81,0x92,0xb2,0xb2,0x92,0xb2,0xc2,0xc4,0xc4,0x01,0x81,0x81,0x81,0xd2,0xd2,0xd2,0xd2,0xd2,0xc1,0xc1,0xc2,0xb1,0xa1,0xb2,0xb2,0xb2,0xc2,0x62,0x82,0x82,0x81,0x81,0x92,0xb1,0xb1,0xb2,0xb2,0xc2,0x91,0xb1,0xb2,0xb1,0xb1,0xc2,0xc1,0xc1,0xc2,0xb2,0xd2,0xc1,0x81,0x81,0x81,0x81,0x81,0xd2,0xd2,0xd2,0xf2,0xd2,0xc1,0xc1,0xc2,0xb1,0xa1,0xb2,0xb2,0xb2,0xc2,0x62,0x82,0x82,0x81,0x81,0x92,0xb1,0xb1,0xb2,0xb1,0xb1,0xc2,0x91,0xb1,0xb2,0xb1,0xb1,0xc2,0xc1,0xc1,0xc2,0xb2,0xd4,0xc2,0x01,0xb1,0xb4,0xb4,0xb4,0xb4, 0x00};constcharcodec_music5[]={0x54,0x64,0x64,/*大长今*/0x64,0x02,0x52,0x44,0x24,0x44,0x44,0x51,0x43,0x44,0x44,0x54,0x64,0x64,0x64,0x02,0x82,0x64,0x64,0x54,0x64,0x64,0x64,0x64,0x84,0x94,0x94,0x94,0x84,0x64,0x64,0x84,0x94,0x81,0x91,0x82,0x84,0x84,0x54,0x64,0x64,0x54,0x02,0x62,0x64,0x54,0x64,0x24,0x41,0x23,0x94,0x94,0x24,0x24,0x24,0x54,0x64,0x64,0x64,0x02,0x52,0x44,0x24,0x44,0x44,0x51,0x43,0x44,0x44,0x54,0x64,0x64,0x64,0x02,0x82,0x64,0x64,0x54,0x64,0x64,0x64,0x64,0x84,0x94,0x94,0x94,0x02,0x82,0x64,0x64,0x84,0x94,0x84,0x84,0x84,0x54,0x64,0x64,0x54,0x02,0x62,0x64,0x54,0x64,0x24,0x41,0x23,0x24,0x24,0x24,0x24,0x24,0x54,0x02,0x42,0x24,0x54,0x02,0x42,0x24,0x54,0x64,0x44,0x54,0x02,0x62,0x84,0x94,0x02,0x82,0x64,0x54,0x02,0x42,0x24,0x24,0x14,0x24,0x41,0x23,0x24,0x24,0x24,0x24,0x24,0x14,0x14,0x14,0x14,0x02,0x22,0x42,0x52,0x62,0x52,0x44,0x02,0x22,0x44,0x44,0x54,0x64,0x64,0x64,0x64,0x64,0x84,0x94,0x02,0xb2,0x94,0x84,0x84,0x84,0x84,0x61,0x81,0x92,0x04,0x92,0x82,0x64,0x02,0x52,0x64,0x02,0x52,0x62,0x52,0x44,0x44,0x44,0x41,0x23,0x24,0x44,0x54,0x54,0x54,0x54,0x64,0x64,0x44,0x41,0x23,0x24,0x24,0x24,0x24,0x00};constcharcodec_music6[]={0x24,0x42,0x52,0x64,0x62,0x92,/*漫步人生路*/0x84,0x62,0x52,0x64,0x02,0x62,0x72,0x62,0x62,0x52,0x52,0x42,0x41,0x31,0x22,0x44,0x02,0x52,0x34,0x34,0x24,0x42,0x52,0x64,0x62,0x92,0xa4,0x82,0x62,0x64,0x02,0x62,0x72,0x62,0x52,0x42,0x32,0x42,0x52,0x62,0x42,0x32,0x22,0x12,0x24,0x24,0x42,0x32,0x42,0x52,0x64,0x52,0x62, 0x74,0x74,0x72,0x81,0x71,0x62,0x52,0x64,0x74,0x84,0x02,0x62,0x94,0x92,0x82,0x94,0x92,0xb2,0x92,0x82,0x82,0x92,0x64,0x52,0x42,0x54,0x52,0x42,0x54,0x42,0x42,0x82,0x62,0x62,0x52,0x42,0x34,0x62,0x62,0x94,0x92,0x82,0x94,0x92,0xb2,0x92,0x82,0x82,0x92,0x64,0x52,0x42,0x54,0x42,0x82,0x64,0x52,0x42,0x52,0x61,0x51,0x42,0x32,0x24,0x24,0x00};constcharcodec_music7[]={0x02,0x12,0x12,0x22,/*最浪漫的事*/0x44,0x42,0x42,0x42,0x22,0x22,0x62,0x64,0x64,0x02,0x12,0x24,0x42,0x42,0x42,0x42,0x44,0x62,0x82,0x84,0x84,0x84,0x02,0x82,0x92,0x82,0x92,0x82,0x94,0x82,0x51,0x61,0x62,0x51,0x41,0x44,0x02,0x42,0x42,0x22,0x44,0x42,0x22,0x42,0x64,0x52,0x54,0x54,0x54,0x54,0x32,0x12,0x22,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x52,0x52,0x62,0x64,0x62,0x12,0x22,0x42,0x42,0x42,0x42,0x42,0x44,0x62,0x82,0x84,0x84,0x84,0x82,0x82,0x92,0x82,0x92,0x82,0x94,0x92,0x82,0x52,0x62,0x52,0x44,0x22,0x22,0x42,0x14,0x62,0x52,0x44,0x22,0x22,0x41,0x51,0x42,0x44,0x44,0x44,0x82,0x92,0xb2,0x94,0x92,0x82,0x92,0x82,0x62,0x82,0x84,0x84,0x02,0x82,0x92,0xb2,0x94,0x92,0x82,0x92,0x82,0x92,0x42,0x44,0x44,0x02,0x42,0x52,0x62,0x52,0x52,0x52,0x42,0x52,0x42,0x22,0x62,0x62,0x52,0x54,0x02,0x82,0x92,0x62,0x84,0x82,0x62,0x82,0x62,0x64,0x92,0x82,0x92,0x82,0x62,0x82,0x81,0x92,0xb1,0x94,0x92,0x82,0x92,0x82,0x62,0x82,0x84,0x84,0x02,0x82,0x92,0xb2,0x94,0x92,0x82,0x92,0x82,0x92,0x42,0x44,0x44,0x02,0x42,0x52,0x62,0x74,0x72,0x82,0x92,0x92,0x82,0x92,0x92,0xb2,0x92,0x92,0x92,0xb2,0x92,0x82,0x84,0x84,0x82,0x42,0x92,0x82,0x84,0x84,0x82,0x92,0xb2,0x01,0x61,0x52,0x61,0x51,0x44,0x44,0x44,0x00};constcharcodec_music8[]={0xb2,0x41,0x51,0x62,0x81,0x91,0x84,0x84,/*1000年以后*/0x72,0x61,0x41,0x42,0x61,0x51,0x54,0x54,0xb2,0x41,0x51,0x62,0x92,0xa1,0x91,0x82,0x82,0x61,0x91,0x94,0x94,0xa1,0xa1,0xa1,0xb1,0xc1,0xb1,0xa2,0xb2,0xa1,0xb1,0xb1,0xd2,0x01,0xa2,0x91,0xa1,0xa1,0x81,0x82,0x91,0x91,0xa1,0xb1,0xc1,0xb1,0xc1,0xe1,0xd1,0xc1,0xc1,0xc1,0xc2,0xc1,0xb1,0xb2,0xa1,0xb1,0xb1,0xd2,0x01,0xa2,0x91,0xa1,0xa1,0x81,0x82,0x92,0xb4,0x02,0xb1,0xb1,0xb1,0xc1,0xd2,0xc1,0xb1,0xb2,0xc2,0xc4,0x02,0xa1,0xb1,0xb1,0xc2,0x01,0xd2,0xc1,0xb1,0xb1,0x82,0x01,0xc4,0x02,0xd1,0xc1,0xb2,0xa1,0x91,0x92,0x62,0xa4,0x02,0xb1,0xa1,0x92,0xa1,0xb1,0xb1,0xc2,0x01,0x82,0xc1,0xd1,0xd2,0x01,0xd1,0xe2,0xd2,0xb1,0xc2,0xc1,0xc2,0x01,0xa1,0xb1,0xc2,0x01,0xd2,0xc1,0xb1,0xb1,0x82,0x01,0xc4,0xc1,0xc1,0xd1,0xc1,0xb2,0xa2,0x91,0xc2,0x01,0xa4,0x02,0xb1,0xa1,0x92,0x81,0x91,0x91,0xb1,0x82,0x82,0xc1,0xb1,0xb2,0xd1,0xd1,0xe1,0xd1,0xc4,0xb1,0xc1,0xd2,0xc1,0xb1,0xd2,0xc1,0x81,0x82,0xb2,0xb4,0xb4,0xb4,0x00};constcharcodec_music9[]={0x02,0x11,0x11,0x62,0x52,0x52,0x41,0x61,/*一辈子的孤单*/0x62,0x41,0x51,0x54,0x54,0x04,0x02,0x11,0x11,0x61,0x52,0x51,0x52,0x42,0x52,0x62,0x64,0x64,0x04,0x02,0x11,0x11,0x62,0x52,0x52,0x41,0x61,0x62,0x41,0x51,0x54,0x54,0x04,0x02,0x51,0x41,0x62,0x52,0x42,0x52,0x42,0x42,0x44,0x44,0x44,0x04,0x62,0x52,0x52,0x42,0x42,0x52,0x54,0x54,0x54,0x04,0x51,0x63,0x54,0x44,0x41,0x11,0x21,0x11,0x14,0x14,0x14,0x04,0x62,0x52,0x52,0x42,0x42,0x52,0x54,0x54,0x54,0x02,0x12,0x62,0x54,0x42,0x44,0x02,0x62,0x64,0x64,0x02,0x12,0x62,0x84,0x92,0x62,0x52,0x54,0x54,0x54,0x02,0x12,0x62,0x54,0x42,0x54,0x02,0x62,0x64,0x64,0x02,0x12,0x62,0x52,0x52,0x42,0x51,0x62,0x51,0x54,0x54,0x04,0x02,0x51,0x41,0x62,0x52,0x42,0x52,0x42,0x42,0x44,0x44,0x44,0x02,0x12,0x62,0x52,0x52,0x01,0x41,0x51,0x62,0x51,0x54,0x54,0x54,0x02,0x12,0x62,0x52,0x52,0x01,0x41,0x52,0x62,0x64,0x64,0x64,0x02,0x12,0x61,0x52,0x01,0x52,0x42,0x51,0x62,0x51,0x54,0x54,0x54,0x02,0x12,0x61,0x52,0x01,0x52,0x42,0x52,0x62,0x64,0x64,0x64,0x02,0x12,0x62,0x82,0x82,0x92,0x62,0x52,0x54,0x54,0x54,0x02,0x12,0x62,0x52,0x52,0x42,0x52,0x62,0x64,0x64,0x64,0x02,0x12,0x62,0x52,0x52,0x42,0x62,0x52,0x54,0x54,0x54,0x02,0x51,0x41,0x62,0x52,0x42,0x52,0x42,0x42,0x44,0x44,0x44,0x00};constcharcodec_music0[]={0x00};constuintcodec_musicFreq[]={64260,64400,64524,64580,/*低音5,6,7,中音1*/64684,64777,64820,64898,/*中音2,3,4,5*/ 64968,65030,65058,65110,/*中音6,7,高音1,2*/ 65157,65178,65217};/*高音3,4,5*/ucharcodekey_code[]={0x77,0x7B,0x7D,0x7E,0xB7,0xBB,0xBD,0xBE,0xD7,0xDB,0xDD,0xDE,0xE7,0xEB,0xED,0xEE};staticuchartime[]={'','','','','1','2',':','0','0',':','0','0','\0'};//45:78:1011staticucharRecord_music[50];//键盘扫描子程序ucharkeyscan(void){unsignedcharhang,lie,keycode;ucharkey1;chari;P1=0xf0;hang=P1;if((hang&0xf0)!=0xf0)//有键按下?{delay(50);//去抖动hang=P1; if((hang&0xf0)!=0xf0)//有键按下 { P1=0x0f;lie=P1;keycode=hang|lie;//获得键码for(i=15;i>=0;i--){if(keycode==key_code[i])//查找键码{key1=i;return(key1);} elsekey1=key;} return(key1);}}else{P1=0xff;key1=16;return(key1);}}//延时子程序2voiddelay2(intms){inti;while(ms--){for(i=0;i<100;i++){key=keyscan(); if(key!=16)break;} if(key!=16)break; }}//闪动voidflash(){inti=2;while(i--){lcd_wcmd(0x08);//关闭显示 delay2(100);//延时 if(key!=16)break;lcd_wcmd(0x0c);//开显示delay2(100); if(key!=16)break; }}//动态显示字符串voidlcd_moving(char*dis){while(1){uchari,j;lcd_init();//初始化LCDlcd_clr();lcd_pos(0x10);//设置显示位置为第一行第17列i=0;while(dis[i]!='\0'){//显示字符lcd_wdat(dis[i]);i++;}for(j=0;j<16;j++)//向左移动16格{lcd_wcmd(0x18);//字符同时左移一格delay2(80);//控制移动时间 if(key!=16)break;}if(key!=16)break;delay2(600);//控制停留时间if(key!=16)break;flash();//闪动二次if(key!=16)break;}}//时间调整及显示voiddisptime(){inti; lcd_init(); lcd_string("time");disptime_flag=1;TR0=0;P3_3=0;key=16;delay(10); while(1) {while(key2==(key=keyscan()))nop;key2=key; if(key==14) { time[5]++; if(time[4]<'2') {if(time[5]>'9') { time[5]='0'; time[4]++; } } elseif(time[4]=='2') { if(time[5]>='4') { time[4]='0'; time[5]='0'; } } }if(key==13) { time[8]++; if(time[8]>'9') { time[8]='0'; time[7]++; if(time[7]>'5')time[7]='0'; } } elseif(key==12) { time[10]='0'; time[11]='0'; }if(key==15) { lcd_init(); lcd_string("Music"); Freq_flag=1; Music_flag=1; key=16; s_musicCounter=10; s_tableCounter=0; TR0=0; P3_3=0;//disptime_flag=0;break; } if(key==0) { P3_3=0; Freq_flag=0;Music_flag=0;K0_flag=0;TR0=0;disptime_flag=0; break; }

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论