今天学习了keil、proteus的使用方法。
定义一个管脚的形式如:sbit LED P2^0;
定义了P2.0这个管脚。
定义一组管脚使用宏定义如:#define qqq P2
也可以直接给一组管脚赋值,如P2=0xFF;
给一组管脚赋高电平。
能不能直接给一个管脚赋初值现在还不知道。
会写一个流水灯,方法就是点亮一个灯后延时在点亮下一个。
知道了软件延时函数。
我们通常把代码放入死循环里,这样可以一直执行,如果放在了main函数下没有放入死循环里,就直会执行一次。
P1.7-P1.0是从高位到低位。
可以使用宏定义定义整个管脚组,如: #define SMG_A_DP_PORT P0 //使用宏定义数码管段码口
就这些了,后面继续更新。
蜂鸣器
蜂鸣器分为压电式蜂鸣器和电磁式蜂鸣器,我们用的是压电式蜂鸣器。压电式蜂鸣器发出声音需要一连串脉冲信号,可以改变信号的频率来发出不同的声音,改变占空比改变声音的大小。
压电式蜂鸣器的发声频率为1.5khz~5khz。
电磁式蜂鸣器发声需要电源。
51单片机I/O口的驱动能力较弱,无法直接驱动蜂鸣器。我们可以使用芯片或者放大电路来驱动蜂鸣器。在这里使用ULN2003D这个芯片,普中开发板原理图上有详细的资料。这个芯片的in5对应out5,BEEP是蜂鸣器的网络标号。p2.5连的是in5 ,BEEP连接的是out5,p2.5管脚输出高电平