//檔案buz.h
#ifndef _buz_h_
#define _buz_h_
//setupbzhx(m_bz_key) ;
//*****buz 驅動頻率定義**********====
//聲音結束符定義==
#define vfr0 0
#define vfr1 vp3k3
#define vfr2 vp4k1
#define vfr3 vp4k9
#define vp2k3 2609 //2k
#define vp2k6 2308
#define vp2k9 2069 //
#define vp3k3 1818//12000/2/3.3 //4k
#define vp4k1 1463//12000/2/4.1
#define vp4k9 1224//12000/2/4.9 //
//*****buz 驅動port定義**********====
sbit p_bzv = p2^6 ; //buz 充電
sbit p_buz = p0^2 ; //buz 驅動
//*****buz port操作***************===
#define buz_on p_buz = 1
#define buz_off p_buz = 0//
#define buzvcc_on p_bzv = 0
#define buzvcc_off p_bzv = 1
//*****蜂鳴器聲音種類***************=
#define m_bz (unsigned char)0 //無
#define m_bz_key (unsigned char)1 //按鍵音
#define m_bz_on (unsigned char)2 //開機音
#define m_bz_off (unsigned char)3 //關機音
//*****蜂鳴器工作過程狀態**********
#define mbz_rst (unsigned char)0
#define mbz_p1 (unsigned char)1
#define mbz_p2 (unsigned char)2
#define mbz_p3 (unsigned char)3
#define mbz_p4 (unsigned char)4
//*****蜂鳴器聲音結構定義*****
typedef struct tbuzhx
tbuzhx ;
//====函式宣告*****
extern void setupbzhx(uint8 mbz) ;
extern void cmdbzhx(void) ;
#endif
//檔案buz.c
#include "global.h"
#include "hxbuz.h"
tbuzhx *tbzhx ;
#define vtb1 20 //20
#define vtb2 6 //20
#define vtb3 100 //50
const tbuzhx bzx0=} ;
const tbuzhx bzx1=,} ;
//const tbuzhx bzx2=,,,} ;
//const tbuzhx bzx3=,,,} ;
const tbuzhx bzx2=,,,} ;
const tbuzhx bzx3=,,,} ;
uint8 rbzstatus = 0 ;
//***************************************
// 函式名稱:setupbzhx
// 函式功能:設定蜂鳴器模式
// 出口引數:無
// 返 回 值:無
//***************************************
void setupbzhx(uint8 mbz)
} //*************************************
// 函式名稱:cmdbzhx
// 函式功能:蜂鳴器控制 -
// 入口引數:無
// 出口引數:無
// 返 回 值:無
//***************************************
void cmdbzhx(void)
else
if(bx1.t_bzo != 0)
else
}else //為結束符
break ;
case mbz_p2 :
if(bx1.t_bzv != 0)
else
if(bx1.t_bzo != 0)
else
break ;
default :
break ;
}}//*****=簡易例程**********=
void main(void)
}}//-----定時器5中斷程式------- 產生所須要的頻率
// [定時器5中斷入口]
void timer5interrupt() interrupt 1 //timer5
微控制器蜂鳴器控制程式和驅動電路
蜂鳴器從結構區分分為壓電式蜂鳴器和電磁式蜂鳴器。壓電式為壓電陶瓷片發音,電流比較小一些,電磁式蜂鳴器為線圈通電震動發音,體積比較小。按照驅動方式分為有源蜂鳴器和無源蜂鳴器。這裡的有源和無源不是指電源,而是振盪源。有源蜂鳴器內部帶了振盪源,如圖 9 8 所示中,給了 buzz 引腳乙個低電平,蜂鳴器就...
uln2003驅動蜂鳴器 通過微控制器來控制蜂鳴器
可以看到蜂鳴器的一端和電阻相連,另一端和引腳bz相連,注意這個bz並不是元氣名稱,有圖可知,元氣名稱都是藍色的,而這個bz是紅色的。我們在開發板原理圖上找乙個 bz引腳,發現在uln2003d這個晶元上有bz引腳,所以我們就把蜂鳴器的圖和uln2003d的圖放在一張圖上,而且把他們該連的引腳連起來了...
STC微控制器控制PCA9554A程式
對pca9554a操作時要特別注意的是在主函式寫資料之前,一定要先用函式 pca9554a config 0x00 寫0x00,否則收不到資料 include include sbit sda p2 0 sbit scl p2 1 sbit beep p2 3 void delay unsigned...