久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6238|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)PWM做的wav語音報(bào)時(shí)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
stc8051單片機(jī)的PWM做的wav語音報(bào)時(shí)程序


主程序預(yù)覽:
  1. #include <stc12c5a60s2.H>
  2. #include "Myfun.h"
  3. #include  "uart.h"
  4. #include "stdio.h"
  5. #define dian 11
  6. #define fen 12
  7. #define uchar unsigned char
  8. #define uint unsigned int
  9. #define uchar unsigned char
  10. #define uint unsigned int

  11. int UART1_Recv_count;  //接收計(jì)數(shù)

  12. bit UART1_Overflow_Flag;   //緩沖區(qū)滿標(biāo)志



  13.   
  14. void main()
  15. {
  16. // uchar i;  
  17. PWMInit();         //初始化
  18. settimer1(250);                  //約11k讀取   晶振使用30m都可以
  19. P1M0=0x08;
  20. P1M1=0x00;          //1.3強(qiáng)拉輸出
  21. ////////////////////////////////////////////////////
  22. P3M0=0x40;
  23. P3M1=0x00;          //P3.6強(qiáng)拉輸出 led


  24.   
  25.    LED=1;

  26.    uartInit();
  27.    EA=1;  //開總中斷
  28.    ES=1;
  29.    // LED=0;
  30. //transmitString("開始。。。。");
  31.                UART1_Recv_count = 0;            //緩存清零
  32.               UART1_Overflow_Flag=0;        //允許串口繼續(xù)接收數(shù)據(jù)
  33.    while(1)
  34.    {

  35.          
  36.     if (UART1_Overflow_Flag==1)     //串口中斷數(shù)據(jù)接收完畢,開始處理   接收格式言 時(shí)分字符形式:1022就是10點(diǎn)22分

  37.       {  
  38.                  

  39.                   
  40. /////////////////播現(xiàn)在是北京時(shí)間/////////////////////////
  41.         delay1();
  42.                 soundtospeak(13);
  43.         delay1();

  44. /////////////////播時(shí)的"20"語音/////////////////////////

  45.    if((UART1_Recv_BUF[0]-0x30)==2)// 播20語音
  46.               {
  47.                               soundtospeak(2);
  48.                delay1();
  49.                           soundtospeak(10);
  50.                delay1();
  51.                    }
  52. ///////////////////播時(shí)的"10"語音//////////////////////
  53.    if  ((UART1_Recv_BUF[0]-0x30)==1)//小于9大于19點(diǎn)

  54.                           {
  55.                      soundtospeak(10);         //播10語音
  56.              delay1();


  57.                       }

  58. /////////////////////播時(shí)"x"時(shí)語音////////////////////////////////
  59.         if  (((UART1_Recv_BUF[0]-0x30)==1)&&((UART1_Recv_BUF[1]-0x30)>0)||(((UART1_Recv_BUF[0]-0x30)==2)&&(0<(UART1_Recv_BUF[1]-0x30))&&((UART1_Recv_BUF[1]-0x30)<4))||((UART1_Recv_BUF[0]-0x30)==0))//如為整點(diǎn)不報(bào)0語音
  60.             {
  61.             soundtospeak(UART1_Recv_BUF[1]-0x30); //此函數(shù)將讀完一個(gè)數(shù)才退出
  62.        
  63.             delay1();
  64.                 }
  65.    

  66.             soundtospeak(dian);        //播"點(diǎn)"語音
  67.             delay1();

  68. ////////////////以下為分時(shí)間語音//////////////////////////////////////

  69.            if((UART1_Recv_BUF[2]-0x30)==5)// 播50語音
  70.               {
  71.                               soundtospeak(5);
  72.                delay1();
  73.                           soundtospeak(10);
  74.               delay1();
  75.                  if  ((UART1_Recv_BUF[3]-0x30)==0)        //如果分鐘為整分情況下
  76.                     {
  77.                     soundtospeak(fen);        //播"分"語音
  78.             delay1();
  79.                         }
  80.                    }
  81.           if((UART1_Recv_BUF[2]-0x30)==4)// 播40語音
  82.               {
  83.                               soundtospeak(4);
  84.                delay1();
  85.                           soundtospeak(10);
  86.               delay1();
  87.             if  ((UART1_Recv_BUF[3]-0x30)==0)
  88.                     {
  89.                     soundtospeak(fen);        //播"分"語音
  90.             delay1();
  91.                         }
  92.                    }
  93.            if((UART1_Recv_BUF[2]-0x30)==3)// 播30語音
  94.               {
  95.                               soundtospeak(3);
  96.                delay1();
  97.                           soundtospeak(10);
  98.               delay1();
  99.                   if  ((UART1_Recv_BUF[3]-0x30)==0)
  100.                     {
  101.                     soundtospeak(fen);        //播"分"語音
  102.             delay1();
  103.                         }
  104.                    }


  105.            if((UART1_Recv_BUF[2]-0x30)==2)// 播20語音
  106.               {
  107.                               soundtospeak(2);
  108.                delay1();
  109.                           soundtospeak(10);
  110.               delay1();
  111.                 if  ((UART1_Recv_BUF[3]-0x30)==0)
  112.                     {
  113.                     soundtospeak(fen);        //播"分"語音
  114.             delay1();
  115.                         }
  116.                    }

  117.            if  ((UART1_Recv_BUF[2]-0x30)==1)//播10語音
  118.                 {
  119.                      soundtospeak(10);       
  120.              delay1();
  121.                
  122.             if  ((UART1_Recv_BUF[3]-0x30)==0)
  123.                     {
  124.                     soundtospeak(fen);        //播"分"語音
  125.             delay1();
  126.                         }
  127.                 }


  128.          if(((UART1_Recv_BUF[3]-0x30)>0))
  129.           {
  130.            if  ((UART1_Recv_BUF[2]-0x30)==0)//播0語音
  131.                 {
  132.                      soundtospeak(0);       
  133.              delay1();

  134.                 }
  135.           }
  136. /////////////////////播"x"分語音////////////////////////////////
  137.           if ((((UART1_Recv_BUF[2]-0x30)==0)&&((UART1_Recv_BUF[3]-0x30)>0))||((UART1_Recv_BUF[3]-0x30)>0) )
  138.           {
  139.        
  140.                     soundtospeak(UART1_Recv_BUF[3]-0x30); //此函數(shù)將讀完一個(gè)數(shù)才退出
  141.             delay1();
  142.             soundtospeak(fen);        //播"分"語音
  143.             delay1();
  144.            }
  145. //////////////////////////////////////////////////////          
  146.                           
  147.                           
  148.                           
  149.                           
  150.                           
  151.                           
  152.                                 

  153.               UART1_Recv_count = 0;            //緩存清零
  154.               UART1_Overflow_Flag=0;        //允許串口繼續(xù)接收數(shù)據(jù)
  155.       }
  156.    }


  157. }
復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:114320 發(fā)表于 2016-4-18 20:05 | 只看該作者
這里也有一個(gè)http://www.zg4o1577.cn/mcu/1535.html
回復(fù)

使用道具 舉報(bào)

板凳
ID:696438 發(fā)表于 2022-1-8 10:47 | 只看該作者
51黑專家 發(fā)表于 2016-4-18 20:05
這里也有一個(gè)http://www.zg4o1577.cn/mcu/1535.html

666,很好很好!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人h版在线观看 | 国产精品久久久久无码av | 一级高清 | 热99视频| 美女国产精品 | 伊人二区 | 中文字幕国产一区 | 国产精品a级| 97av| 热久久999| 九九亚洲 | 亚洲精品久久久久中文字幕欢迎你 | 黄视频网站在线 | 亚洲成人黄色 | 超碰97人人人人人蜜桃 | 日韩无 | 成人精品毛片国产亚洲av十九禁 | 成人欧美一区二区三区黑人孕妇 | 精品乱子伦一区二区三区 | www.操.com | 亚洲36d大奶网 | 欧美一级全黄 | 91偷拍精品一区二区三区 | 欧美精品一区三区 | 丝袜 亚洲 另类 欧美 综合 | 狠狠色狠狠色综合系列 | 人人做人人澡人人爽欧美 | 国产欧美视频一区二区三区 | 日一区二区三区 | 在线视频国产一区 | 午夜激情免费视频 | 久久国产电影 | 亚洲高清在线 | 毛片日韩 | 国产日韩一区二区 | 国产伦精品一区二区三区精品视频 | 亚洲高清av| 日韩在线中文 | 99re6在线| 中文字幕不卡在线88 | 国产精品久久久久久二区 |