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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3113|回復: 5
打印 上一主題 下一主題
收起左側

請教:如何用89C2051控制MP3自動錄音放音

[復制鏈接]
跳轉到指定樓層
樓主
手里有兩個帶錄音功能的MP3,想用它做一個對講機錄音中繼電路玩。用單片機89C2051控制帶錄音功能的MP3進行自動錄放音,這種MP3可以錄音120-240秒。
MP3有5個接點:1是+12v,2是地,3是音頻輸出,4腳是錄放音控制鍵。4腳通過7.5K接地,開始錄音.斷開后再通過12K接地,則是放剛才的錄音。5腳是話筒輸入。
我的初步設想是“當對講機有信號時,單片機控制MP3開始錄音,同時內部定時器開始計數定時,錄音結束后,延時1秒,單片機再控制對講機發射,同時MP3進行放音。

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

使用道具 舉報

沙發
ID:84465 發表于 2016-6-29 14:43 | 只看該作者
本人菜鳥,買了一本匯編語言的書。學單片機是算學算看,慚愧。
也反復看了本壇的單片機基礎教程里的定時器和中斷一課,
我搭建好了控制電路,又寫了一個小程序,把車臺對講機和MP3連接在一起,,可以實現以下功能:
1、手持機講話,車臺收到信號,2051的13腳電位變0,7腳變0,繼電器J1吸合,開始錄音。
2、錄音完畢,13腳電位跳變1,    2057的7腳變1,繼電器J1釋放,停止錄音。
3、稍微延時,2051的9腳變0,繼電器J2吸合,開始放音和對講機發射信號。
4、由于寫入的定時器的捕捉程序錯誤,無論錄音時間有多少秒鐘,只能控制放音幾秒鐘(對講機也發射幾秒鐘)。

這證明電路搭建成功,控制程序可以實現簡單控制。
也感覺這個錄音時間是個變量,可能要錄音3秒5秒,也可能錄音100秒200秒。如何在錄音完畢后執行自動放音,放音完畢后停止發射,還是一頭霧水。
呵呵,慚愧,請壇內高手指教。
回復

使用道具 舉報

板凳
ID:84465 發表于 2016-6-29 14:55 | 只看該作者
附上我編寫的小程序,漏洞百出,請您不要見笑。
org   0000h
ajmp  start



org   0030h
start:

      mov p3,#0ffh          ;p3口全置1
      mov p1,#0ffh          ;p1口全置1,
      mov a, #00h

main:

      jb p1.1,main          ;對講機無信號,13腳平時為1,有信號變0,程序向下執行。13腳1程序跳轉至開始
      lcall delay10ms       ;調用10毫秒延時去抖
      clr p3.3              ;7腳低電平,繼電器1吸合,開始錄音
      
      lcall time1           ;調用time1
      lcall del             ;調用一個延時
       jnb p1.1,$            ;13腳0,程序原地踏步 ,對講機接收完畢13腳變1,程序向下執行
                           
       mov a,31h             ;31h中的數送累加器
       clr tr1               ;關閉定時器1

       setb p3.3             ;7腳高電平,繼電器1斷開,停止錄音
       lcall del             ;調用1個延時
      
       clr  p3.5             ;9腳低電平,繼電器2吸合,開始放音和發射
       lcall time2           ;調用time2

       lcall del            ;調用1個延時
guaji:      
       setb p3.5            ;放音完畢,9腳高電平,繼電器3斷開,停止發射
       clr tr1               ;關閉定時器1
      
       lcall del
       ajmp main
;-------------------------------------------------------------------------------------
time1:
      MOV 30h,#20               ;軟件計數器置20
      mov 31h,#00h
        
      mov tmod, #10h                 ;定時器T1置工作于方式1
      mov th1, #3ch               ;裝入預置數高位3ch (65536-50000=15536=#3c b0h)
      mov tl1, #0b0h             ;裝入預置數低位b0h(預置設定50毫秒)
      CLR  TF1                  ;先把溢出標志位清零
      clr ea                   ;禁止中斷
       setb tr1               ;打開定時器1
   

loop:
     jbc tf1,loop1    ;查詢T1的溢出標志TF1。TF1=0,50毫秒定時未到,向下執行。TF1=1,定時到,轉Loop1.
     ajmp loop        ;轉LOOP處繼續查詢

loop1:                                                                                                                         
   
     mov th1,#3ch     ;重新裝入初始值3CH
     mov tl1,#0b0h    ;重新裝入    0B0H
     djnz 30h,loop    ;判斷是否到1秒。未到1秒,轉到LOOP繼續循環。到1秒,向下執行   
      mov 30h,#20   
         inc  31h         ;31h加1
           ;
     
    ret
;--------------------------------------------------------------------------------------




;----------------------------------------------------------------------------
time2:      
      MOV 30h,#20               ;軟件計數器置20
      mov 32h,#00h
      mov tmod, #10h                 ;定時器T1置工作于方式1
      mov th1, #3ch               ;裝入預置數高位3ch (65536-50000=15536=#3c b0h)
      mov tl1, #0b0h             ;裝入預置數低位b0h(預置設定50毫秒)
      CLR  TF1                  ;先把溢出標志位清零
      clr ea               ;禁止中斷
      
      setb tr1                  ;打開定時器1
   

loopa:
     jbc tf1,loop1    ;查詢T1的溢出標志TF1。TF1=0,50毫秒定時未到,向下執行。TF1=1,定時到,轉Loopb.
     ajmp loopa        ;轉LOOPa處繼續查詢

loopb:
     mov th1,#3ch     ;重新裝入初始值3CH
     mov tl1,#0b0h    ;重新裝入    0B0H
     djnz 30h,loop    ;判斷是否到1秒。未到1秒,轉到LOOP繼續循環。到1秒,向下執行   
      mov 30h,#20
         inc  32h         ;32h加1
      cjne a,32h,guaji                 ;
      
     ret
;-----------------------------------------------------------------------------------


delay10ms:        ;10毫秒延時去抖子程序
mov r7, #20
y1:mov r6, #250
y2:djnz r6,y2
djnz r7,y1
ret


del:  mov r5, #5     ;延時
del1: mov r6, #0ffh
del2: mov r7, #0ffh
del3: djnz r7, del3
      djnz r6, del2
      djnz r5, del1
ret

end
;----------------------------------------------------
回復

使用道具 舉報

地板
ID:84465 發表于 2016-6-29 15:16 | 只看該作者
附上個畫的簡圖

zhongji1.jpg (48.43 KB, 下載次數: 87)

zhongji1.jpg
回復

使用道具 舉報

5#
ID:84465 發表于 2016-6-29 15:31 | 只看該作者
我寫的程序的控制思路是:
1,當對講機收到信號后,2051的7腳變哦0繼電器J1吸合,MP3開始錄音。并啟動定時器1,以1秒為基準,軟件計數器31H自加一,錄音停止后,31H的數保存。(31H中的數就是錄音時間)
2,對講機停止接收信號后,錄音完畢。2051的9腳變0,繼電器J2吸合,開始放音和發射,同時,調用time2子程序計數,以1秒為基準計數,計數結果存32H。 把31H和32H中的數對比,相同(表示放音時間到),則程序跳轉到guaji(掛機),2051的9腳變1,繼電器J2釋放,停止放音和發射,重新循環。
回復

使用道具 舉報

6#
ID:84465 發表于 2016-6-29 15:35 | 只看該作者
以上拙作,見笑了。請高手指點迷津。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久女女女女999久久 | 中文字幕av高清 | 国外成人免费视频 | 欧美 视频 | 亚洲精品久久久久久久久久久久久 | 欧美在线成人影院 | 手机在线一区二区三区 | 午夜视频网站 | 99热播精品 | 日韩欧美在线免费 | 欧洲亚洲一区 | 99久久精品一区二区毛片吞精 | aaaa网站 | 国产精品久久久久久久久免费桃花 | 日韩在线视频精品 | a黄在线观看 | 91伊人| 午夜伦理影院 | 国产重口老太伦 | 午夜影院黄| 久久久久国产一区二区三区不卡 | 天天插天天狠天天透 | 人人做人人澡人人爽欧美 | 可以在线看的黄色网址 | 久久久激情 | 久久99精品久久久久久国产越南 | 祝你幸福电影在线观看 | 国产精品久久久久久影视 | 91精品久久久久久久久久入口 | 国产美女福利在线观看 | 日韩aⅴ视频| 成人三级在线观看 | 欧美成年人视频在线观看 | 日本超碰 | 亚洲91视频 | 免费在线国产视频 | 久久久久久久久久一区二区 | 狠狠操电影 | 国产自产c区 | 国产精品久久久久久久久 | 欧美在线视频a |