今天也要好好学习鸭!!!!

这三个小东西算是一个基础吧,程序也很简单,这里我主要说一下我是如何学习的,其实大一的时候我就有自学过一些51的基础知识,当时买的开发板里面带的学习教程是很基础的那种,里面教的程序现在再看觉得有些不大实用了(当时还记了一本笔记,,,)


备赛蓝桥时(也就是现在)我在看的教程是宋雪松老师主编的《手把手带你学51单片机》,里面的内容十分详细,到现在学完一些底层后,觉得自己对51单片机的理解好像深了一点,也能自己敲一些底层。另外,深深感受到有一个大佬带路对自己的入门以及深入学习是多么有帮助,所以如果有认识在51方面比较厉害的朋友,可以多跟着人家学习学习,大佬带路,不会迷路。哈哈~~(咳咳,下面开始切入正题)

111111一定要学会看电路原理图!!!!

(这里需要用到一些基础的数电知识,当然就算0基础也完全可以自学会哒)根据电路原理图去理解程序会比较容易理解。下面拿蜂鸣器来举例说明:
代码部分:

#include<stc15.h>
sbit buzz = P0^6;//蜂鸣器对应的引脚是P0^6
sbit relay = P0^4;
sbit led = P0^0;
void main()
{
	P2 = ((P2 & 0x1F) | 0xA0);//关闭蜂鸣器
	buzz = 0;
	P2 = P2 & 0x1F;
	
	P2 = ((P2 & 0x1F) | 0xA0);//打开继电器
	relay = 1;
	P2 = P2 & 0x1F;
	
	P2 = ((P2 & 0x1F) | 0x80);//关闭第一个小灯
	led = 1;
	P2 = P2 & 0x1F;
	
	while(1);
}

程序说明:
上面的程序我是把蜂鸣器,继电器以及LED放在了一个程序里来写,因为这三个器件在原理上有相同之处,弄懂了一个,其它两个也就可以很容易理解了,以蜂鸣器为例:
电路原理图:(蜂鸣器的端口命名为NBUZZ)
蜂鸣器+继电器+led
从原理图上我们可以清楚地看到,N BUZZ即蜂鸣器引脚对应的IO口为P0^6,对于蜂鸣器来说只要两端有电压差就会被打开,而蜂鸣器上端是接VCC的,故我们只需令NBUZZ这一端为低电平,但是仅仅这样是不能让蜂鸣器工作的,我们还得了解一下M74HC573以及ULN2003这两个芯片。

ULN2003: 它的内部是7对NPN达林顿管,主要用于继电器驱动器等各种驱动器,详细的芯片资料大家在网上都可以查到,这里我们主要知道它的内部是7对达林顿管,也就是7个非门组成的就可以了,非门说明什么呢?说明该芯片两端的引脚,前后电平是相反的。
M74HC573: 学过数电的同学应该对这个芯片不太陌生,它是一个锁存器,用来锁存IO口的数据,既然是锁存数据,那么前后状态肯定是相同的,但是要注意只有在使能M74HC573的情况下,才能锁存数据。

好了,那我们现在来分析一下这个电路:NBUZZ=0,经过ULN2003芯片变为1,再经过M74HC573,状态不变仍为1,即P0^6 = 1,那么我们现在就清楚了,要使蜂鸣器工作,我们需要让P0^6 = 1
当然我们前提一定是573使能,那么怎么使能573呢?这就涉及到了Y5C这个端口了,要让Y5C = 1,顺藤摸瓜,我们在电路原理图上找一下Y5C这个端口,于是我们就发现了Y5这个或非门:
蜂鸣器+继电器+led
下图是一个排针,在我们的单片机上,当WR与GND相连(跳线帽插在2和3上时)代表的是蜂鸣器,那么WR就是0了,这样我们再来分析一下,要让Y5C = 1,Y5应该是什么呢?很明显,Y5应该为0
蜂鸣器+继电器+led
那么Y5在哪儿呢?我们接着找叭~
蜂鸣器+继电器+led
然后我们找到了74HC138这个芯片,学过数电的同学对于这个芯片是不是更熟悉呐,3-8译码器,是数电课上的重点哦,我们怎么让Y5 = 0呢?我们来看一下74HC138的真值表就一清二楚了:
蜂鸣器+继电器+led
要注意的是,A0对应P2.5,A1对应P2.6,A3对应P2.7,那么就清楚了,我们只要让P2^5 = 1,P2^6 = 0,P2^7 = 1,就可以啦~
但是我们要是写三行这样的代码是不是有点麻烦呢?我们不如直接操作P2口,高三位写成101,剩下全部写为0,是不是就可以了呢,于是就有了下面这行代码:

P2 = ((P2 & 0x1F) | 0xA0);//使能573

P2 & 0x1F 的功能是将P2口清零,这种端口赋值的方法要学会。
注意!!!一定不要忘记关闭使能!

P2 &= 0x1F;//关闭使能

好了,蜂鸣器是不是理解了呢,那么继电器跟Led读者可以自己根据原理图理解一下代码,它们有很大的相似之处,一定要学会自己看原理图哦!

相关文章:

  • 2021-06-25
  • 2022-12-23
  • 2022-12-23
  • 2021-10-13
  • 2022-01-07
  • 2021-11-27
  • 2022-01-23
  • 2022-12-23
猜你喜欢
  • 2021-12-13
  • 2021-09-19
  • 2021-11-17
  • 2021-10-22
相关资源
相似解决方案