日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

89C51单片机蜂鸣器演奏两只老虎-源码

發(fā)布時(shí)間:2023/12/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 89C51单片机蜂鸣器演奏两只老虎-源码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/* ********************************************************************** * 頭文件包含 ********************************************************************** */ #include <reg52.h> #include <intrins.h> /* ********************************************************************** * 本地宏定義 ********************************************************************** */ typedef unsigned char u8; // 重命名類型u8簡化代碼編寫 typedef unsigned int u16;/* ********************************************************************** * 本地全局變量 ********************************************************************** */ sbit gBuz = P1^5; // P1.5通過ULN2003放大功率后驅(qū)動(dòng)BUZZER/* ********************************************************************** * 函數(shù)原型聲明 ********************************************************************** */ void BuzzerOnOff(void); void delay1ms(void); void delay50ms(void) ; void delay1ms100us(void); void delay900us(void); void delay800us(void); void delay750us(void); void delay700us(void); void delay650us(void); void play5_d(void); void play1(void); void play2(void); void play3(void); void play4(void); void play5(void); void play6(void); void play4_h(void); void play5_h(void); void play6_h(void); void play7(void); void play5_2(void);char num[]={0x32,0x30,0x31,0x36,0x30,0x31,0x30,0x38,0x30,0x31,0x32,0x37}; /********************************************************************* * 函 數(shù) 名 : main * 函數(shù)功能 : 主函數(shù) * 參數(shù)列表 : 無 * 函數(shù)輸出 : 無 *********************************************************************/ void main(void) {while (1){play1();play2();play3();play1();play1();play2();play3();play1();play3();play4();play5_2();play3();play4();play5_2(); play5_h();play6_h();play5_h();play4_h();play3();play1();play5_h();play6_h();play5_h();play4_h();play3();play1();play2();play5_d();play1();delay50ms();play2();play5_d();play1();delay50ms();} }/********************************************************************* * 函 數(shù) 名 : BuzzerOnOff * 函數(shù)功能 : 給蜂鳴器開關(guān)各一段時(shí)間 * 參數(shù)列表 : 無 * 函數(shù)輸出 : 無 *********************************************************************/ void BuzzerOnOff1(void) {gBuz = 1;delay1ms();gBuz = 0;delay1ms(); }void BuzzerOnOff2(void) {gBuz = 1;delay900us(); gBuz = 0;delay900us(); } void BuzzerOnOff3(void) {gBuz = 1;delay800us(); gBuz = 0;delay800us(); } void BuzzerOnOff4(void) {gBuz = 1;delay800us(); gBuz = 0;delay700us(); } void BuzzerOnOff5(void) {gBuz = 1;delay750us(); gBuz = 0;delay700us(); }void BuzzerOnOff6(void) {gBuz = 1;delay700us(); gBuz = 0;delay700us(); }void BuzzerOnOff7(void) {gBuz = 1;delay650us(); gBuz = 0;delay650us(); } void BuzzerOnOff5_d(void) {gBuz = 1; delay1ms100us(); gBuz = 0;delay1ms100us(); }/********************************************************************* * 函 數(shù) 名 : delay1ms * 函數(shù)功能 : 用單片機(jī)小精靈V1.0自動(dòng)生成的精確延時(shí)1ms的延時(shí)函數(shù) * 參數(shù)列表 : 無 * 函數(shù)輸出 : 無 *********************************************************************/ void delay50ms(void) //誤差 0us {unsigned char a,b;for(b=173;b>0;b--)for(a=143;a>0;a--); } void delay1ms(void) //誤差 0us {unsigned char a,b,c;for(c=1;c>0;c--)for(b=142;b>0;b--)for(a=2;a>0;a--); }void delay1ms100us(void) //誤差 0us {unsigned char a,b;for(b=8;b>0;b--)for(a=67;a>0;a--);_nop_(); //if Keil,require use intrins.h }void delay900us(void) //誤差 0us {unsigned char a,b;for(b=69;b>0;b--)for(a=5;a>0;a--); }void delay800us(void) //誤差 0us {unsigned char a,b,c;for(c=1;c>0;c--)for(b=2;b>0;b--)for(a=197;a>0;a--); } void delay750us(void) //誤差 0us {unsigned char a,b;for(b=83;b>0;b--)for(a=3;a>0;a--); }void delay700us(void) //誤差 0us {unsigned char a,b;for(b=41;b>0;b--)for(a=7;a>0;a--); } void delay650us(void) //誤差 0us {unsigned char a,b,c;for(c=1;c>0;c--)for(b=92;b>0;b--)for(a=2;a>0;a--); } void play1(void) {int i=200;while(i) {BuzzerOnOff1();i--;}delay50ms(); } void play2(void) {int i=200;while(i) {BuzzerOnOff2();i--;}delay50ms(); } void play3(void) {int i=225;while(i) {BuzzerOnOff3();i--;}delay50ms(); } void play4(void) {int i=250;while(i) {BuzzerOnOff4();i--;}delay50ms(); } void play4_h(void) {int i=130;while(i) {BuzzerOnOff4();i--;}delay50ms(); }void play5(void) {int i=275;while(i) {BuzzerOnOff5();i--;}delay50ms(); }void play5_2(void) {int i=500;while(i) {BuzzerOnOff5();i--;}delay50ms(); } void play5_h(void) {int i=130;while(i) {BuzzerOnOff5();i--;}delay50ms(); } void play5_d(void) {int i=200;while(i) {BuzzerOnOff5_d();i--;}delay50ms(); } void play6(void) {int i=275;while(i) {BuzzerOnOff6();i--;}delay50ms(); } void play6_h(void) {int i=130;while(i) {BuzzerOnOff6();i--;}delay50ms(); } void play7(void) {int i=300;while(i) {BuzzerOnOff7();i--;}delay50ms(); }

總結(jié)

以上是生活随笔為你收集整理的89C51单片机蜂鸣器演奏两只老虎-源码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。