51单片机:流水灯、蜂鸣器程序及原理

(b站郭天祥十天学完单片机第二讲)

本人所用单片机:普中科技HC6800-ES V2.0

一、流水灯

前提知识点:_crol_(a,b)函数

头文件intrins.h中有_crol_(a,b)函数体

流水灯程序

//water_led
#include
#include 
#define uint unsigned intvoid delay(uint);
void main()
{char temp;P2 = 0xfe;while(1){temp = _crol_(P2, 1); //P2二进制不断左移循环,11111110->11111101delay(500);//time:500msP2 = temp;}
}void delay(uint z)//time:z ms  晶振:11.0592mHz
{uint x,y;for(x = z; x > 0; x--){for(y = 114.767; y > 0; y--) //50000:0.45s = 114.767:1ms{}}
}

流水灯原理

二进制不断左移循环,11111110->11111101->......

二、蜂鸣器

所用单片机:普中科技HC6800-ES V2.0,蜂鸣器端口为P1^5

  • 蜂鸣器程序(无源):

#include
sbit beep = P1^5;       
void delay(unsigned int i)        
{while(i--);
}
void main()       
{while(1)    {beep = ~beep;  delay(100);                }
}

有源的通电,三极管导通即可发声

  • 前提知识点:三极管

  • 蜂鸣器电路示例

tip:箭头↑为vcc

  • 蜂鸣器原理

有源:稳定通电,三极管能导通即可发声

无源:该管脚电平需不断切换才可发声

每篇好句3

乐观的人在每个危机里看到机会,悲观的人在每个机会里看见危机。--邱吉尔


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部