手把手教你看懂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给蜂鸣器模块赋值关闭蜂鸣器

                                            图一 

       

                                         图二

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灯。

                                              图三 

 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即都给高电平,因为这款单片机是共阳极数码管所以给高电平没有数据显示(都处于熄灭状态)这样数码管就初始化成功了。

                                                                图四

 

                                                               图五 

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

  • 63
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 70
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 70
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VersionGod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值