蓝桥杯单片机设计与开发笔记(二)

发布者:dfdiqc最新更新时间:2022-01-20 来源: eefocus关键字:蓝桥杯  单片机  流水灯 手机看文章 扫描二维码
随时随地手机看文章

一、流水灯

图1

图1 LED部分电路原理图分析

根据上图分析,要控制LED灯,首先我们需要了解74HC573锁存器,然后控制P0口的输出。


根据74HC573的真值表,当LE为高时,锁存器左边输入什么右边就输出什么,当LE为低时,锁存器输出的是上一次的值,即实现了锁存。如下图:

图2

图2 74HC573真值表

要实现流水灯则必须改变74HC573的输出,则必须将Y4C置为高,给P0赋值后再将Y4C置为低进行锁存。我们在原理图中找到Y4C(如图3),图中WR与GND用跳帽连接起来,即WR为低电平0。

图3

图3 74HC138与74HC02


如图所示,Y4C由Y4和WR共同控制,74HC02是一个4路2输入或非门功能,WR为低电平,要使Y4C为高,则Y4必须为低电平,而Y4又由74HC138译码器控制。74HC138译码器的真值表(如图4),要使得Y4为0,则三个输入端应该为100,即P2^7=1,P2^6=0,P2^5=0。又只需要操作P2口的这三位,不需要配置其他的五位,所以P2端口应该配置为:P2 = ((P2&0x1f)|0x80);

图4

编写代码:


while(1)

{

    for(i=0; i<8; i++)

    {

        P2 = ((P2&0x1f)|0x80);   //配置74HC573,使其不锁存

        P0 = ~(0x01<        P2 &= 0x1f;    //再次配置74HC573,使其锁存

        delay();       //适当延时使LED亮得充分

    }

}


看到这里我们可能会感叹点个LED灯都这么麻烦,但是只要你把这个思路理清了,之后的蜂鸣器、继电器、数码管都是这个套路,因为他们共用的P0和P2端口,且都用到了上图3中的锁存器、138译码器和或非门。这就实现了一个8位的I/O口进行复用的分时来控制多个设备,这种设计是比较好的。


二、蜂鸣器和继电器

查看原理图找到继电器和蜂鸣器所在,然后可以看到(如图5)继电器和蜂鸣器的都是通过ULN2003来驱动的,ULN2003内部集成了7个达林顿管,可以有7路输入输出,这里不仅驱动了继电器和蜂鸣器,还有直流电机与步进电机。同样,我们只需要控制Y5C和P0口,而Y5C的控制则与Y4C的控制大同小异,这里就不详细讲解了。我们可以得到控制Y5C的正确配置P2端口的代码为:P2 = ((P2&0x1f)|0xA0);


我们再看继电器和蜂鸣器的电路,当ULN2003输出低电平时继电器和蜂鸣器才打开,而ULN2003每一路输入输出都加有一个非门,所以ULN2003的输入为高电平时蜂鸣器继电器才打开,为低电平时关闭。继电器对应的位为P0^4,蜂鸣器对应的位为P0^6,我们将P0口的这两位赋为1时,即P0=0x50时,两个设备均打开。

图

图5 蜂鸣器与继电器电路原理图


代码部分:


P2 = ((P2&0x1f)|0xA0);    //关闭锁存

P0 = 0x10;     //蜂鸣器关、继电器开

P2 &= 0x1f;   //打开锁存

关键字:蓝桥杯  单片机  流水灯 引用地址:蓝桥杯单片机设计与开发笔记(二)

上一篇:51单片机DHT11温湿度传感器
下一篇:桥杯单片机设计与开发笔记(四)

推荐阅读最新更新时间:2024-10-20 12:22

蓝桥STC15单片机复习——IO口的使用
前言 引脚图 点灯测试 由引脚图可以看出,STC15的外设资源与51单片机基本一致,常用的也是三组四组IO口(P0、P1、P2、P3),由于板子的电路设计,通过74LS138译码器进行P0的外挂模块的选择。 其中当P25 = 0、P26=0、P27=1;即选通Y4时,外挂的模块为LED灯,下面就开始点几个灯玩玩吧。 /* 彭某的蓝桥杯复习——LED 1、点亮一盏LED并闪烁 */ #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void delay_
[单片机]
<font color='red'>蓝桥</font><font color='red'>杯</font>STC15<font color='red'>单片机</font>复习——IO口的使用
蓝桥STC15单片机复习——数码管的使用
前言 下面进行数码管的使用复习 主要分为静态显示与动态显示 静态显示 当我们对数码管的显示需求仅为一位时,可以直接通过数码管的静态显示实现,即将对应的位选选通,随后直接向段选输入段码信号即可。 国信长天的板子的数码管模块的原理图如上图所示,该数码管为共阳数码管,其位选通过74LS138控制为Y6通道,即当P25 = 0;P26 = 1;P27 = 1;时,P0口为数码管位选;其段选为74LS138的Y7通道,即当P25 = 1;P26 = 0;P27 = 1;时,P0口为数码管段选。 1、数码管静态显示 #include STC15F2K60S2.h #include intrins.h #define uint
[单片机]
<font color='red'>蓝桥</font><font color='red'>杯</font>STC15<font color='red'>单片机</font>复习——数码管的使用
蓝桥STC15单片机复习——矩阵按键使用
前言 矩阵按键原理图: 前面说过,国信长天的板子的按键模块由CON3控制,当2脚与3脚(GND)相连时为独立按键模式,即只有P30~P33按键有效,当2脚与1脚相连时,为矩阵按键模式,十六个按键通过公共端连接的方式引出了8个引脚,因此,我们可以以下方法进行矩阵按键的检测。 横列扫描原理 1、我们首先让矩阵按键的高四位或者第四位全部为低电平,即P3 = 0x0F/P3 = 0xF0。 2、随后当有任何一个按键按下时,将会改变P3的电平状态。也就是存在任一按键按下时,我们可以通过读取P3口的电平状态并处理即可判断具体按下的按键在哪一行哪一列。 3、读取到改变后的P3口状态时,我们将高低位电平进行对调,即原先是0xF0,则对P3
[单片机]
<font color='red'>蓝桥</font><font color='red'>杯</font>STC15<font color='red'>单片机</font>复习——矩阵按键使用
蓝桥STC15单片机复习——外部中断
前言 终于到外部中断了,其实从往届赛题来看,外部中断的使用比较少(也可能是我太菜了),不过咱得秉着宁错勿漏的精神来复习才行。 如上图所示,STC15的单片机的外部中断分别位于P32、P33(EX0、EX1),其中,外部中断0的中断号为0,外部中断1的中断号为2. 1、通过外部中断0控制LED亮灭 /* 彭某的蓝桥杯复习——外部中断 1、外部中断按键控制LED亮灭 */ #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void EX0_Init(); void
[单片机]
<font color='red'>蓝桥</font><font color='red'>杯</font>STC15<font color='red'>单片机</font>复习——外部中断
蓝桥STC15单片机复习——DS18B20
前言 温度检测也是蓝桥杯的常考点,有时候需要显示小数点后一到两位,有时候只需要显示整数位(一般是要显示的东西太多了小数放不下了)。由于比赛的时候官方直接给出看底层的驱动,就不再去纠结底层实现的原理和方法了,只需要针对数据手册分析温度解析与获取部分即可。 实现 国信长天的开发板上的DS18B20接线如上图所示,其实官方给的底层驱动已经定义好了引脚,当然看原理图检查也是不可或缺的一步。 根据数据手册写出,在每次对DS18B20操作之前,我们都需要对其进行一个初始化,初始化时序如上图所示。 相关命令翻译已经给出,简而言之就是:使用18B20获取温度,我们需要启动其温度转换(0x44单个温度转换),然后才能使用读取命
[单片机]
<font color='red'>蓝桥</font><font color='red'>杯</font>STC15<font color='red'>单片机</font>复习——DS18B20
蓝桥STC15单片机复习——DS1302
前言 本次实验测试STC15的定时计数器,,STC15F2K60S2单片机共有三个定时计数器,我们比较常用的只是定时器0和定时器1.所谓计数器,就是计算定时计数器对应引脚的脉冲,对于国信长天的板子,上面搭载有NE555的谐振电路,可以输出频率可调的方波,本此实验通过计数器采集其输出的方波并计算显示其大致频率。 1、计数器 首先配置定时计数器0为计数器模式,用于采集NE555的信号输出。 #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void delay_ms(uint
[单片机]
蓝桥STC15单片机复习——定时计数器中断
前言 国赛倒计时1天半,冲冲冲。 本次实验测试STC15的定时计数器,,STC15F2K60S2单片机共有三个定时计数器,我们比较常用的只是定时器0和定时器1.所谓计数器,就是计算定时计数器对应引脚的脉冲,对于国信长天的板子,上面搭载有NE555的谐振电路,可以输出频率可调的方波,本此实验通过计数器采集其输出的方波并计算显示其大致频率。 1、计数器 首先配置定时计数器0为计数器模式,用于采集NE555的信号输出。 #include STC15F2K60S2.h #define uint unsigned int #define uchar unsigned char void ALL_Init(); void
[单片机]
<font color='red'>蓝桥</font><font color='red'>杯</font>STC15<font color='red'>单片机</font>复习——定时计数器中断
蓝桥单片机设计与开发笔记(三)
数码管显示几乎是每次蓝桥杯单片机设计与开发组竞赛的必考部分,相对于使用LCD1602作为显示设备,使用数码管来显示能够更好的考察参赛选手的单片机基本功,因为CT107D开发平台的设计使得数码管的显示不仅牵扯到数码管显示的 基本内容,还涉及到74HC573锁存器,74HC02异或门,74HC138译码器,以及中断的知识,所以这是值得我们重视的一个部分。 一、原理分析 根据CT107D的原理图我们可以看出,数码管显示同样涉及到74HC573、74HC138和74HC02,这与上一节中的LED灯、继电器和蜂鸣器的控制大同小异。如下图,蓝色标注为位选控制端口,由锁存器U6来控制,需配置红色标注的Y6C来控制锁存;黄色标注为段选控制端口
[单片机]
<font color='red'>蓝桥</font><font color='red'>杯</font><font color='red'>单片机</font>设计与开发笔记(三)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved