在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            ISD4004語音程序

            作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
            1. ///////////ISD4004語音播放部分/////////////////////////////
            2. ////當(dāng)按下P3.5鍵時,從指定地址開始錄音
            3. /// 當(dāng)按下P3.6鍵時,從指定地址開始放音
            4. /// 當(dāng)按下P3.7鍵時,停止當(dāng)前的操作
            5. /// 程序中的錄放停部分已做成子函數(shù),可以直接調(diào)用, 只需要輸入錄音的地址就行
            6. // 錄音地址的設(shè)定與芯片型號有關(guān)系,以ISD4004-16為例,ISD40044-16錄音時間為16
            7. // 分鐘,即16*60=960S, 根據(jù)4004的資料,960秒可分為2400段,也就是1S的段數(shù)為
            8. // 25段,即從,0000-0019H的內(nèi)容為1S,
            9. ///作者:長沙致望科技電子公司 WWW.CSMCU.COM
            10. ///版本:V1.0(2008.12.1)
            11. //實驗使用注意,按錄音鍵,要切換到放音時,可按停止再放音,也可以先按一下放音鍵,再按一次放音鍵,那可
            12. //原因:本程序在放音前,沒有做停止和下電處理,感興趣的朋友可以直接到停止部分加到放音子函數(shù)中。
            13. #include
            14. #include
            15. #defineucharunsignedchar
            16. #defineuintunsignedint
            17. ////////定義放音命令,定義常量//////
            18. #defineISDPOWERUP 0X20//ISD4004上電
            19. #defineISDSTOP 0X10//ISD4004下電
            20. #defineOPERSTOP 0X30//ISD4004停止當(dāng)前操作
            21. #definePLAYSET 0XE0//ISD4004從指定地址開始放音
            22. #definePLAYCUR 0XF0//ISD4004從當(dāng)前地址開始放音
            23. #defineRECSET 0XA0//ISD4004從指定地址開始錄音
            24. #defineRECCUR 0XB0//ISD4004從當(dāng)前地址開始錄音
            25. sbit SS=P1^4;//LOW IS ACTIVELY
            26. sbit MOSI=P1^5;
            27. //sbit MISO=P1^7;
            28. sbit SCLK=P1^7;
            29. sbit K1=P3^5;
            30. sbit K2=P3^6;
            31. sbit K3=P3^7;
            32. sbitINT=P3^2;
            33. sbit LED1=P1^0;
            34. sbit LED2=P1^3;
            35. voiddelayms(uchar ms);
            36. uint addr;////全局變量//// 放音地址
            37. ////////////////放音部分子程序,放音地址由ADDR決定////
            38. voidplay()
            39. {
            40. uint y;
            41. SS=0;
            42. MOSI=0;//發(fā)送開始
            43. SCLK=0;
            44. for(y=0;y<8;y++)//上電
            45. {
            46. SCLK=0;
            47. if((0x20>>y)&0x01)MOSI=1;
            48. elseMOSI=0;
            49. _nop_();
            50. _nop_();
            51. _nop_();
            52. SCLK=1;
            53. _nop_();
            54. _nop_();
            55. _nop_();
            56. }//發(fā)送結(jié)束
            57. SS=1;//上電結(jié)束
            58. delayms(50);
            59. SS=0;
            60. MOSI=0;//發(fā)送地址
            61. SCLK=0;
            62. for(y=0;y<16;y++)
            63. {
            64. SCLK=0;
            65. if((addr>>y)&0x01)MOSI=1;
            66. elseMOSI=0;
            67. _nop_();
            68. _nop_();
            69. _nop_();
            70. SCLK=1;
            71. _nop_();
            72. _nop_();
            73. _nop_();
            74. }//發(fā)送地址結(jié)束
            75. MOSI=0;//放音
            76. SCLK=0;
            77. for(y=0;y<8;y++)
            78. {
            79. SCLK=0;
            80. if((0xe0>>y)&0x01)MOSI=1;
            81. elseMOSI=0;
            82. _nop_();
            83. _nop_();
            84. _nop_();
            85. SCLK=1;
            86. _nop_();
            87. _nop_();
            88. _nop_();
            89. }
            90. SS=1;
            91. SS=0;
            92. MOSI=0;//放音
            93. SCLK=0;
            94. for(y=0;y<8;y++)
            95. {
            96. SCLK=0;
            97. if((0xf0>>y)&0x01)MOSI=1;
            98. elseMOSI=0;
            99. _nop_();
            100. _nop_();
            101. _nop_();
            102. SCLK=1;
            103. _nop_();
            104. _nop_();
            105. _nop_();
            106. }
            107. SS=1;
            108. }
            109. //////////////////////////lu音部分子程序,地址由ADDR決定/////////////////////////
            110. voidrec()
            111. {uint y;
            112. SS=0;
            113. MOSI=0;//發(fā)送開始
            114. SCLK=0;
            115. for(y=0;y<8;y++)
            116. {
            117. SCLK=0;
            118. if((0x20>>y)&0x01)MOSI=1;
            119. elseMOSI=0;
            120. _nop_();
            121. _nop_();
            122. _nop_();
            123. SCLK=1;
            124. _nop_();
            125. _nop_();
            126. _nop_();
            127. }//發(fā)送結(jié)束
            128. SS=1;//上電結(jié)束
            129. delayms(50);
            130. SS=0;
            131. MOSI=0;//發(fā)送開始
            132. SCLK=0;
            133. for(y=0;y<8;y++)
            134. {
            135. SCLK=0;
            136. if((0x20>>y)&0x01)MOSI=1;
            137. elseMOSI=0;
            138. _nop_();
            139. _nop_();
            140. _nop_();
            141. SCLK=1;
            142. _nop_();
            143. _nop_();
            144. _nop_();
            145. }//發(fā)送結(jié)束
            146. SS=1;//上電結(jié)束
            147. delayms(50);
            148. delayms(50);
            149. SS=0;
            150. MOSI=0;//發(fā)送地址
            151. SCLK=0;
            152. for(y=0;y<16;y++)
            153. {
            154. SCLK=0;
            155. if((addr>>y)&0x01)MOSI=1;
            156. elseMOSI=0;
            157. _nop_();
            158. _nop_();
            159. _nop_();
            160. SCLK=1;
            161. _nop_();
            162. _nop_();
            163. _nop_();
            164. }//發(fā)送地址結(jié)束
            165. MOSI=0;
            166. SCLK=0;
            167. for(y=0;y<8;y++)
            168. {
            169. SCLK=0;
            170. if((0xa0>>y)&0x01)MOSI=1;
            171. elseMOSI=0;
            172. _nop_();
            173. _nop_();
            174. _nop_();
            175. SCLK=1;
            176. _nop_();
            177. _nop_();
            178. _nop_();
            179. }
            180. SS=1;
            181. SS=0;
            182. MOSI=0;
            183. SCLK=0;
            184. for(y=0;y<8;y++)
            185. {
            186. SCLK=0;
            187. if((0xb0>>y)&0x01)MOSI=1;
            188. elseMOSI=0;
            189. _nop_();
            190. _nop_();
            191. _nop_();
            192. SCLK=1;
            193. _nop_();
            194. _nop_();
            195. _nop_();
            196. }
            197. SS=1;
            198. }
            199. ////////////////////////////////////
            200. ////////////////////////////////
            201. voidstop()
            202. {
            203. uchar y;
            204. SS=1;
            205. SS=0;
            206. MOSI=0;//放音
            207. SCLK=0;
            208. for(y=0;y<8;y++)
            209. {
            210. SCLK=0;
            211. if((0x30>>y)&0x01)MOSI=1;
            212. elseMOSI=0;
            213. _nop_();
            214. _nop_();
            215. _nop_();
            216. SCLK=1;
            217. _nop_();
            218. _nop_();
            219. _nop_();
            220. }
            221. SS=1;
            222. }
            223. ////////////////////////////////////
            224. ////////////////////////////////////void press_key()
            225. voiddelayms(uchar ms)
            226. // 延時子程序
            227. {
            228. uchar j;
            229. while(ms--)
            230. {
            231. for(j=0;j<120;j++);
            232. }
            233. }
            234. ////////////////////////////////
            235. ////////////////////////////////////
            236. voidmain()
            237. {
            238. P1=0xff;
            239. P2=0XFF;
            240. P3=0XFF;
            241. while(1)
            242. {
            243. LED1=INT;
            244. LED2=0;
            245. if(K1==0)
            246. {
            247. delayms(10);
            248. while(K1==0);///松手判斷
            249. LED2=1;
            250. addr=0X05;/////從0X05單元開始
            251. rec();
            252. P1=0XFF;
            253. while(K1==1);
            254. delayms(10);
            255. while(K1==0);///松手判斷
            256. }
            257. if(K2==0)
            258. {
            259. delayms(10);
            260. while(K2==0);
            261. addr=0X05;
            262. play();
            263. P1=0XFF;
            264. }
            265. if(K3==0)
            266. {
            267. delayms(10);
            268. while(K3==0);
            269. LED1=1;
            270. LED2=1;
            271. stop();
            272. P1=0XFF;
            273. }
            274. }
            275. }


            關(guān)鍵詞: ISD4004語音程

            評論


            技術(shù)專區(qū)

            關(guān)閉