手把手教你看懂51单片机原理图

最近当了单片机课设的助教,又再次接触了51单片机。发现初学者还看不太原理图,不能理解单片机 led灯,蜂鸣器,数码管是怎么操作的。现在结合原理图讲解一下怎么操作这些外设模块!我们就以一些初始化代码进行讲解。

注:这里使用的是蓝桥杯51单片机的板子!

1.我们看一下这段关闭蜂鸣器代码:
    P2=P2&0x1f|0xa0; //选择蜂鸣器模块
    P0=0x00;         //关闭蜂鸣器

  P2&0x1f  ----是P2的高三位置0,低5位保持不变(任何数&0等于0,任何数&1保存不变)--只想     控制高三位,再或上0xa0 是选择蜂鸣器 ----看图蜂鸣器是Y5(图一所示),而5对应的二进制是101从而P2^7=1, P2^6=0,P2^5=1 (图二可见) 其他没选择的都为0. 所以P2=1010 0000 =0xa0。选择蜂鸣器这个功能     后, P0=0x00(P0是数据),即关闭蜂鸣器。总结一下,先P2=P2&0x1f|0xa0选中蜂鸣器,再   P0=0x00给蜂鸣器模块赋值关闭蜂鸣器

手把手教你看懂51单片机原理图_第1张图片

                                            图一 

       手把手教你看懂51单片机原理图_第2张图片

                                         图二

2.关闭led灯代码

   P2=P2&0x1f|0x80; //选择led灯模块
   P0=0xff;             //关闭所有led灯

 和上面思路差不多,P2&0x1f是高三位,置0 ,低5位,不变。然后我们看原理图led模块是Y4,而4对应的二进制 是100 ,(图 三),所以我们对应的P2^7=1,P2^6=0,P2^5=0(图二);对应的P2=1000 0000 =0x80; 所以我们这里是或上0x80.然后我们再看led模块的原理图,是共阳极(所有led灯都一起接了VCC高电平),我们另外一端也就是P0端口,给0才能亮,给1就灭,所以我们P0=0xff就是关闭所有led灯。

手把手教你看懂51单片机原理图_第3张图片

                                              图三 

 3.关闭所有数码管

    P2=P2&0x1f|0xc0;P0=0xff;  //位选,选中8跟数码管。
    P2=P2&0x1f|0xe0; P0=0xff;//段选,熄灭数码管

     这里有4句代码,我逐一讲解----首先第一句代码就是选中数码管位选功能---数码管位选为Y6(图四)所以P2=P2&0x1f|0xc0 选中数码管位选功能。第二句代码P0=0xff,即8位全给高电平,选中8根数码管。第三句代码P2=P2&0x1f|0xe0 选中Y7即选中数码管段选功能(图五),P0=0x00即都给高电平,因为这款单片机是共阳极数码管所以给高电平没有数据显示(都处于熄灭状态)这样数码管就初始化成功了。

手把手教你看懂51单片机原理图_第4张图片

                                                                图四

 手把手教你看懂51单片机原理图_第5张图片

                                                               图五 

最后给大家附一个这款单片机的原理图http://链接:https://pan.baidu.com/s/1PZ1PuM7DuiakobC7JfLGiw?pwd=6666 提取码:6666

你可能感兴趣的:(51单片机,单片机,嵌入式硬件)