蓝桥杯单片机(一) 您所在的位置:网站首页 服务器即将关闭是什么意思呀 蓝桥杯单片机(一)

蓝桥杯单片机(一)

2024-07-11 07:50| 来源: 网络整理| 查看: 265

最近开始准备九月份的蓝桥杯单片机比赛, 买了一块开发板开始进行学习。以前有学过51单片机,相比于CT107D单片机竞赛板V20,51单片机的操作的确要简单许多,但原理都一样,没什么变化,以前学51的时候没怎么做笔记,现在想找一下以前的学习笔记根本没有,于是现在学了之后就把笔记发在博客上,顺便加上一些自己的学习心得,方便自己以后查找,如有错误,欢迎指正。 在创建项目的时候,我选择的芯片是STC15F2K60S2, 当然也可以选择AT89C51或AT89C52,当我们的开发板通电打开的时候,蜂鸣器和LED都是默认打开的,蜂鸣器的声音听久了不舒服很嘈杂,而且比赛很多时候都是要求要先关闭外设,也就是关闭蜂鸣器和LED。因为单片机IAP15F2K61S2的接口并不多,而单片机操作也需要用到许多功能,所以这里在电路中就采用74HC573锁存器对单片机的P0口进行缓冲,当我们需要用到对应的功能的时候,打开对应的锁存器,进行输入输出。 在这里插入图片描述当使能端Y4C为高电平时,Q输出随D输入而改变,使能端Y4C为低电平时,输出将锁存在已建立的数据电平上。 使能端Y4C的电平高低,是通过一个输入端或非门和74HC138译码器共同控制的。如下图: 745在这里插入图片描述 74HC02是一个输入端或非门,其原理就是: 在这里插入图片描述 Y4C输出的结果就是Y4,WR先或再取反之后的值,WR连接的是GND,是低电平,Y4C要想得到高电平,激活74HC53锁存器,Y4就必须为低电平,Y4又是通过74HC138译码器实现的,如下: 在这里插入图片描述 138译码器通过P27~P25三个输入端口的电平高低来控制Y0 ~Y7的输出,当Y0 ~Y7任一个输出为低电平时,才为有效输出。 比如,Y4就是P27~ P25为100时的有效输出,二进制算法,100为4,同样,若要使Y5有效,P27~ P25的输入就应该为101,依次类推。芯片原理请自行阅读74HC138芯片资料。 所以,电路通过控制138译码器的P27~P25的输入来控制各个锁存器的开关。 在电路原理图中,蜂鸣器是通过Y5C这个端口的锁存器来控制的,所以,要想进行操作蜂鸣器的相关操作,必须要先打开锁存器Y5C, 在这里插入图片描述

P2 = P2 & 0x1f | 0xa0; //先将P27~P25清零,然后再打开锁存器Y5C,

在连接电路中,74HC573的输出端Q接了一个ULN2003,ULN2003在这里的作用就是用来取反,就是当我们输入为高电平时,通过这个之后输出的就为低电平。 蜂鸣器是连接了VCC,也就是高电平1,这里需要传入的就只有低电平0,蜂鸣器才会起作用,才会响起。我们这里是需要先关闭蜂鸣器,因为ULN2003的取反作用,我们不需要用到这些外设的时候,只需要将这个P0口置零即可。

P2 = P2 & 0x1f | 0xa0; P0 = 0x00; // 1010 0000 打开锁存器Y5C, 关闭蜂鸣器

当然,需要打开蜂鸣器的时候,把对应的引脚口重新置1即可。比如,现在需要打开蜂鸣器:

P2 = P2 & 0x1f | 0xa0; P0 = 0x40; // 1010 0000 打开锁存器Y5C, 关闭蜂鸣器

如原理图上图,P07~P00是通过十六进制码来控制的,0000 0000,要开启蜂鸣器,就是要把P06设置为高电平,即:0100 0000,所以,P0端口就是0x40。

下面,关闭了蜂鸣器之后,我们就需要关闭LED灯,关闭LED 灯原理与关闭蜂鸣器一样,只需要打开对应的锁存器,进行相应的操作即可。 在这里插入图片描述 通过138译码器和74HC02使使能端Y4C为高电平1,LED后接VCC,所以从P0端口输入低电平0,LED灯亮,若为高电平1,LED灯就熄灭。

P2 = P2 & 0x1f | 0x80; P0 = 0xff; // 1000 0000 打开锁存器Y4C, 关闭LED

控制LED的八个引脚口P07~P00,全部熄灭时:1111 1111 当需要亮起某个LED,只需把对应的引脚口置零(设置为低电平)即可。比如要亮LED1,就是:1111 1110 即P0=0xfe。 我的LED 最开始关闭时会微亮,后面增加了其他功能后没有出现这个现象了。 在文中可能有许多地方用词不是特别专业,有差错。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有