1、要练说,先练胆。说话胆小是幼儿语言发展的障碍。不少幼儿当众说话时显得胆怯:有的结巴重复,面红耳赤;有的声音极低,自讲自听;有的低头不语,扯衣服,扭身子。总之,说话时外部表现不自然。我抓住练胆这个关键,面向全体,偏向差生。一是和幼儿建立和谐的语言交流关系。每当和幼儿讲话时,我总是笑脸相迎,声音亲切,动作亲昵,消除幼儿畏惧心理,让他能主动的、无拘无束地和我交谈。二是注重培养幼儿敢于当众说话的习惯。或在课堂教学中,改变过去老师讲学生听的传统的教学模式,取消了先举手后发言的约束,多采取自由讨论和谈话的形式,给每个幼儿较多的当众说话的机会,培养幼儿爱说话敢说话的兴趣,对一些说话有困难的幼儿,我总是认真地
2、耐心地听,热情地帮助和鼓励他把话说完、说好,增强其说话的勇气和把话说好的信心。三是要提明确的说话要求,在说话训练中不断提高,我要求每个幼儿在说话时要仪态大方,口齿清楚,声音响亮,学会用眼神。对说得好的幼儿,即使是某一方面,我都抓住教育,提出表扬,并要其他幼儿模仿。长期坚持,不断训练,幼儿说话胆量也在不断提高。math.h#define uchar unsigned char#define uint unsigned intuchar STH0; /定时器计数初值uchar STL0;bit FY=0; /放乐曲时FY=1,电子琴弹奏时FY=0uchar Song_Index=0,Tone_In
3、dex=0; /放音乐的参数uchar k,key;sbit SPK=P37;sbit LED1=P10;sbit LED2=P11;uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6f,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code Song50=1,2,3,5,7,8,4,3,4,3,4,5,4,6,3,4,5, 5,5,3,5,4,2,4,5,7,4,2,10,10,10,2,1,2,1,2,10,10, 5,5,10,9,8,5,5,5,5,10,9,8,6,6,6,
4、11,12,9,6,8-1, 13,14,13,12,12,10,12,13,14,15,14,14, 6,6,11,10,9,12,12,12,12,13,12,11,9,8,10,10,10,-1, 9,13,13,13,13,8,13,13,13,13,14,15,14,13,13,14,12,13,uchar code Len50=1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,2,2,2,1,2,2,1,2,2, 1,1,1,1,1,1,2,1,1,1,2,2,1,1,1,1,-1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1, 1,
5、1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1, 1,1,2,0,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,2,0,1,2,1,2,1,2,1,2,1,2, 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,;/音符与计数值对应表uint code tab=0,63628,63835,64021,64103,64260,64400, 64524,64580
6、,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178,65217,65252,65283;void delay1(uint ms) /播放歌曲时实现节拍的延时函数 uchar t; while(ms-) for(t=0;t0;i-);/键扫描函数uchar getkey(void) uchar scancode,tmpcode; if(P0&0xf0)=0xf0) return(0); scancode=0xfe; while(scancode&0x10)!=0) P0=scancode; /输入行扫描码 if(P0&0x
7、f0)!=0xf0) /本行有键按下 tmpcode=(P0&0xf0)|0x0f; return(scancode)+(tmpcode); else scancode=(scancode1)|0x01;/外部中断0void EX0_INT() interrupt 0 FY=0;LED1=1;LED2=0;/外部中断1,这里是播放按键void EX1_INT() interrupt 2 FY=1;LED1=0;LED2=1;/定时器0中断服务子程序void time0_int(void) interrupt 1 using 0 TH0=STH0; TL0=STL0; SPK=!SPK; P2=
8、DSY_CODEk;void main(void) LED1=1; LED2=0; P2=0x3f; IE=0x87; TMOD=0x01; IT0=1; IT1=1; while(1) P0=0xf0;=0xf0) delay(); if(P0=0xf0)! key=getkey(); switch(key) case 0x11: k=0; break; case 0x21: k=1; case 0x41: k=2;break; case 0x81: k=3; case 0x12: k=4; case 0x22: k=5; case 0x42: k=6; case 0x82: k=7; ca
9、se 0x14: k=8; case 0x24: k=9; case 0x44: k=10; case 0x84: k=11; case 0x18: k=12; case 0x28: k=13; case 0x48: k=14; case 0x88: k=15; default: if(FY=0) STH0=tabk/256; STL0=tabk%256; TR0=1; while(P0&=0xf0); TR0=0; else while(FY=1) if(SongkTone_Index=-1) Tone_Index=0; STH0=(tabSongkTone_Index)/256; STL0
10、=(tabSongkTone_Index)%256; P2=DSY_CODESongkTone_Index; TR0=1; delay1(300*LenkTone_Index); Tone_Index+; TR0=0;关于“世上只有妈妈好”的单片机音乐演奏程序2009-11-22 21:45单片机演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。半个周期的时间是多长呢?众所周知,周期为频率的倒数,可以通过音符的频率计算出半周期。演奏时,要根据音符频率的不同,把对应的、半个周期的定时时间初始值,送入定时器,再由定时
11、器按时输出高低电平。下面是个网上广泛流传的单片机音乐演奏程序,它可以循环的播放“世上只有妈妈好”这首乐曲。很多人都关心如何修改这个乐曲的内容,但是不知如何入手。做而论道对这个程序,给出说明,希望对大家有所帮助,以后大家自己就能够编写进去新的乐曲。在这个程序中,有两个数据表,其中存放了事先算好的、各种音符频率所对应的、半周期的定时时间初始值。有了这些数据,单片机就可以演奏从低音、中音、高音和超高音,四个八度共28个音符。演奏乐曲时,就根据音符的不同数值,从半周期数据表中找到定时时间初始值,送入定时器即可控制发音的音调。比如把表中的0xF2和0x42送到定时器,定时器按照这个初始值来产生中断,输出
12、的方波,人们听起来,这就是低音1。乐曲的数据,也要写个数据表,程序中以 code unsigned char sszymmh 命名。这个表中每三个数字,说明了一个音符,它们分别代表:第一个数字是音符的数值1234567之一,代表多来咪发.;第二个数字是0123之一,代表低音、中音、高音、超高音;第三个数字是时间长度,以半拍为单位。乐曲数据表的结尾是三个0。程序如下:#include sbit speaker = P17;unsigned char timer0h, timer0l, time;/-/单片机晶振采用11.0592MHz/ 频率-半周期数据表 高八位 本软件共保存了四个八度的28个频率数据code unsigned char FREQH = 0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, /
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1