新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)驅(qū)動蜂鳴器原理與設(shè)計

單片機(jī)驅(qū)動蜂鳴器原理與設(shè)計

作者: 時間:2013-03-21 來源:網(wǎng)絡(luò) 收藏

  ORG 0000H
  AJMP START ;跳轉(zhuǎn)到初始化程序

  ORG 0033H
  START:
  MOV SP,#60H ;SP初始化
  MOV P3,#0FFH ;端口初始化

  MAIN: ACALL SOUND ;發(fā)聲
  ACALL YS500M ;延時
  AJMP MAIN

  SOUND:
  MOV P1,#11011011B ;點(diǎn)亮2個警示黃色發(fā)光二極管
  MOV R2,#200 ;響200個周期
  SND1: CLR P3.7 ;輸出低電平T1導(dǎo)通,
  ACALL YS1ms ;延時
  SETB P3.7 ;輸出高電平T1截止,不響
  ACALL YS1ms ;延時
  DJNZ R2,SND1
  MOV P1,#0FFH ;熄滅黃色警示燈
  RET

  YS1ms: ;1ms延時子程序
  MOV R0,#2
  YL1: MOV R1,#250 ;改變R0的數(shù)值可改變聲音頻率
  DJNZ R1,$
  DJNZ R0,YL1
  RET

  YS500M: ;500ms延時子程序
  MOV R0,#6
  YL2: MOV R1,#200
  YL3: MOV R2,#250
  DJNZ R2,$
  DJNZ R1,YL3
  DJNZ R0,YL2
  RET

  END

  3、“叮咚”電子門鈴實(shí)驗程序:常見的家用電子門鈴在有客人來訪時候,如果按壓門鈴按鈕時,室內(nèi)會發(fā)出“叮咚”聲音,本實(shí)驗程序模擬電子門鈴的發(fā)音,當(dāng)我們按壓實(shí)驗板上的K1按鈕時候,蜂鳴器發(fā)出“叮咚”音樂聲,是一個比較實(shí)用的程序。

  “叮咚”電子門鈴實(shí)驗ASM源程序: “叮咚”電子門鈴C語言源程序:
  ORG 0000H
  LJMP START ;跳轉(zhuǎn)到初始化程序

  ORG 000BH
  LJMP PGT0 ;跳轉(zhuǎn)到T0中斷服務(wù)程序
  START:
  OBUF1 EQU 30H ;初始化程序
  OBUF2 EQU 31H
  OBUF3 EQU 32H
  OBUF4 EQU 33H
  FLAGB BIT 00H
  STOPB BIT 01H
  K1 BIT P3.2 ;定義按鈕K1,作為門鈴按鈕

  MOV TMOD,#02H ;定時器初始化
  MOV TH0,#06H
  MOV TL0,#06H
  SETB ET0 ;啟動定時器T0
  SETB EA ;啟動總中斷

  MAIN: ;主程序
  JB K1,MAIN ;檢測K1按鈕
  LCALL YS10M ;延時去抖動
  JB K1,MAIN
  SETB TR0 ;按鈕有效
  MOV P1,#00H ;點(diǎn)亮按鈕指示燈
  MOV OBUF1,#00H
  MOV OBUF2,#00H
  MOV OBUF3,#00H
  MOV OBUF4,#00H
  CLR FLAGB
  CLR STOPB
  JNB STOPB,$
  MOV P1,#0FFH
  LJMP MAIN ;發(fā)出“叮咚”完畢,返回重新檢測按鈕

  YS10M: ;10ms延時子程序
  MOV R6,#20
  D1: MOV R7,#248
  DJNZ R7,$
  DJNZ R6,D1
  RET

  PGT0: ;定時器T0中斷服務(wù)程序
  INC OBUF3 ;中斷服務(wù)程序中發(fā)出一聲“叮咚”響聲
  MOV A,OBUF3
  CJNE A,#100,NEXT
  MOV OBUF3,#00H
  INC OBUF4
  MOV A,OBUF4
  CJNE A,#20,NEXT
  MOV OBUF4,#00H
  JB FLAGB,PGSTP
  CPL FLAGB
  AJMP NEXT
  PGSTP:
  SETB STOPB
  CLR TR0
  LJMP INT0RET
  NEXT: JB FLAGB,SOU2
  INC OBUF2
  MOV A,OBUF2
  CJNE A,#03H,INT0RET
  MOV OBUF2,#00H
  CPL P3.7
  LJMP INT0RET
  SOU2: INC OBUF1
  MOV A,OBUF1
  CJNE A,#04H,INT0RET
  MOV OBUF1,#00H
  CPL P3.7
  LJMP INT0RET
  INT0RET:
  RETI

蜂鳴器相關(guān)文章:蜂鳴器原理
燃?xì)鈭缶飨嚓P(guān)文章:燃?xì)鈭缶髟?/a>


評論


相關(guān)推薦

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

關(guān)閉