欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機學習筆記(二)驅動蜂鳴器 [打印本頁]

作者: 51hei人人    時間: 2016-3-12 16:49
標題: 單片機學習筆記(二)驅動蜂鳴器
利用單片機驅動蜂鳴器發聲:
C語言源程序:
#include<reg52.h> //包含52單片機的頭文件
#inlcude<intrins.h> //該頭文件包含了各種移位函數
//_crol_ 字符循環左移
//_cror_ 字符循環右移
//_irol_ 整數循環左移
//_iror_ 整數循環右移
//_lrol_ 長整數循環左移
//_lror_ 長整數循環右移
//_nop_ 空操作8051 NOP 指令
//_testbit_ 測試并清零位8051 JBC 指令
#define uint unsigned int   //定義uint為無符號整型
#define uchar unsigned char   //定義uchar為無符號字符型
uchar temp,num,num1; //定義temp,num,num1為三個無符號字符變量
sbit beep=P3^4; //定義蜂鳴器所在的端口位
void delay(uint); //延時函數原型聲明
void main() //主函數
{
  temp=0xfe;  //對應二進制11111110 賦值給P1可點亮第一個發光二極管
  while(1)  //主循環
  {
    for(num1=0;num1<3;num1++)  //子循環循環三次
    {
      for(num=0;num<8;num++)  //子循環循環8次
      {
        P1=temp; //將temp賦值給P1點亮發光二極管
        beep=0;  //蜂鳴器發聲
        delay(100); //延時
        temp=_crol_(temp,1);//將temp字符變量中的值左移一位
        P1=0xff; //熄滅所有發光二級管
        beep=1; //蜂鳴器停止發聲
        delay(100);延時
      }
    }
    for(num1=0;num1<3;num1++)  //子循環循環三次
    {
      for(num=0;num<8;num++)  //子循環循環8次
      {
        P1=temp; //將temp賦值給P1點亮發光二極管
        beep=0;  //蜂鳴器發聲
        delay(100); //延時
        temp=_cror_(temp,1);//將temp字符變量中的值右移一位
        P1=0xff; //熄滅所有發光二級管
        beep=1; //蜂鳴器停止發聲
        delay(100);延時
      }
    }
  }
}
void delay(uint a)  //延時函數
{
  uint x,y;    //定義無符號變量X,Y
  for(x=a;x>0;x--)  //外循環將x的值循環減1 直到小于0
    for(y=100;y>0;y--);  //內循環將y的值循環減1 直到小于0
}
//程序效果 發光二極管依次從左到右閃亮 每閃亮一次 蜂鳴器發聲 循環3次 然后倒過來再次循環閃亮 每閃亮一次 蜂鳴器發聲






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1