语音驱动
单片机源程序如下:
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit yybuzy=P1^4;
- sbit yydate=P1^5;
- sbit yyrest=P1^6;
- /*****延时x*100微秒*****/
- void yydalay(uint x)
- {
- uchar t;
- while(x--)
- {
- for(t=0;t<12;t++);
- }
- }
- /*****z等于几就发送几个脉冲*****/
- void speak(uint z)
- {
- yyrest=1;
- yydalay(2);
- yyrest=0;
- yydalay(2);
- while(z>0)
- {
- yydate=1;
- yydalay(1);
- yydate=0;
- yydalay(1);
- z--;
- }
- }
- /*****播放对应脉冲数的语音*****/
- void yuyin(uint z)
- {
- speak(22); while(yybuzy==0);
- speak(2); while(yybuzy==0);
- speak(15); while(yybuzy==0);
- speak(z); while(yybuzy==0);
- speak(z%10+1); while(yybuzy==0);
- speak(20); while(yybuzy==0);
- speak(6); while(yybuzy==0);
- }
- /*****主函数*****/
- void main()
- {
- uint tt;
- yydalay(50);
- while(1)
- {
- yuyin(tt);
- yydalay(800);
- tt=tt+1;
- }
- }
复制代码
所有资料51hei提供下载:
语音驱动.rar
(15.71 KB, 下载次数: 5)
|