蓝桥杯单片机学习笔记01

1.概述实验板组成部分

本文采用竞赛使用的CT107开发板,讲述板上的相关外设,同时复习相关的51单片机的操作。

该单片机的型号是IAP15F2K61S2,是STC公司生产的51系列1T型单片机,在1T模式下比传统8051快8-12倍,内部有R/C震荡电路,可以不接外部晶振,通过stc的ISP下载器调节内部时钟的频率。K61表示内部Flash共61KB,S2表示有两个串行口。

板上提供的主要模块有:

8位数码管

8个LED灯

4*4矩阵键盘(也可用作独立按键)

Ds1302时钟模块

Ds18b20温度模块

Uln2003驱动芯片(驱动继电器,蜂鸣器等)

Pcf8591 ad转换芯片

At24c02 EEPROM存储器芯片

超声波发送接收模块

下面是国信长天单片机V20的原理图,适用于最新的CT107S

可以将上面的原理图和下面的开发板中的各个模块进行对比来看

2.添加芯片头文件

Keil c51并没有默认携带STC芯片的固件库,添加固件库的步骤如下:

1.在下载软件stc-isp右侧tab界面选择keil仿真设置标签,并点击下方红框框出的按钮(“添加型号和头文件。。。到keil中”按钮)进行添加。

2.选择添加固件库的路径,务必注意要选择keil软件的安装根目录,选择好之后点击“确定”。

3.当我们打开keil软件新建工程时,就可以看到我们所需要的芯片型号了。

3.两种程序开头写法

1.使用reg52.h开头的程序

#include “reg52.h”
 
sfr P4 = 0xc0;			// reg52.h 中没有定义 P4 寄存器故自己定义
sbit P3_6 = P4^2;	// 位定义用 P3_6 在程序中替换 P4^2的功能
sbit P3_7 = P4^4;	// 同上

2.使用stc15.h开头的程序

#include “stc15f2k60s2.h”	// 该文件已定义 P4 寄存器故无需重复定义
 
sbit P3_6 = P4^2;	// 位定义用 P3_6 在程序中替换 P4^2 的功能
sbit P3_7 = P4^4;	// 同上

4.模块介绍

下面分别对各个模块进行简单的说明。

1.51单片机

        这是我们的51单片机,其中有引脚的具体分配,可以看到上面有P0,P1,P2,P3口等。其中有一些引脚需要我们留意一下。P30,P31可以分别作为串口通信的接收和发送,P32,P33可以作为外部中断0和外部中断1的输入,P34,P35分别可以作为定时器0和定时器1的计数脉冲输入端。

2.LED灯的基本控制

        在这个平台上要掌握74HC138译码器和74HC573锁存器的使用才能实现对LED灯的基本控制。因此,这个单元的重点不是对LED的控制,而是掌握译码器和锁存器的基本使用。

1.74HC138:三八译码器

74HC138:

        这个芯片的功能就是用3个输入引脚,实现8个输出引脚,而这8个输出引脚中只有一个低电平。对于这个芯片,需要掌握真值表。

2.74HC573:锁存器

        锁存器就是能把输出的数据保存住,不会受到输入变化的影响。

        573锁存器有20个引脚,D1-D8是数据输入端,Q1-Q8是数据输出端,LE为锁存控制端。当锁存端LE为高电平时,573锁存器对于数据时透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被保存。

        简单的说就是,LE为高电平时,Q1-Q8输出和D1-D8输入是一样的,LE为低电平时,Q1-Q8输出不受D1-D8输入的变化影响。

3.74HC02:或非门

        从电路图中可以看出,单片机的WR引脚或者GND和译码器的Y4引脚作为74HC02的输入。可以通过J13跳帽选择是WR还是GND作为74HC02的输入。如果译码器的输出Y4为低电平,那么74HC02的输出为高电平,而该引脚接到74HC573锁存器的LE引脚,这时候锁存器处于数据联通的开放状态,也就是单片机可以控制LED灯。如果单片机不向外设输出数据,或者译码器的Y4没有输出低电平的话,则74HC573锁存器处于锁存状态,即单片机不能控制LED灯。

4.LED

        在这款单片机的LED全都是使用的共阳极连接,什么是共阳?在这里LED的一端接的是VCC这边的电平一直是高,我们都知道二极管具有单向导电性,当我们在它的左边给他一个高电平的时候,两端的电压相等,二极管截止,当我们在左边给它一个低电平的时候,左边的电位低,右边的电位高,这个时候发光二极管导通。而R32-R45这些电阻称为限流电阻,防止电流太大二极管被烧坏。

3.外部设备

        首先是继电器,我们这里需要知道这里的N_RELAY就是控制继电器的开关,同样是低电平有效,我们让RELAY为0的时候,继电器被导通,里面的线圈就会产生电流,我们知道电流会产生磁场,继电器K1就会在磁力的作用下被吸然后与m2连接,m2就会和GND相连接,m2被拉低输出低电平,当继电器打开的时候,m2被拉低,与m2相连接的LED就会被点亮,来指示现在我们的继电器被打开了。

        有源蜂鸣器(无源蜂鸣器可以通过控制开关的频率来让蜂鸣器发生不同的音调,而有源蜂鸣器则只能发出一种声音),同样是低电平触发,通过N_BUZZ来控制蜂鸣器的开和关,当我们让BUZZ为0的时候,蜂鸣器被打开发出声音,为1的时候关闭。

4.数码管的静态显示

1.关于数码管的基础知识

        要把内容正确的显示在数码管上,首先要明确数码管的类型与段码结构。在CT107D单片机综合实训平台上使用的数码管是F3461BH。这能高速我们数码管的类型。倒数第2个字母是“B”,说明这个数码管的共阳类型的,如果该数字为“A”,则为共阴类型,不同类型的数码管,其段码数码管是截然不同的。

        在明确数码管类型后,就可以确定段码数组了,也就是显示内容所对应的值,例如,要在F3461BH上显示数值“7”,那么就要输出的数值为“0xf8”。

2.数码管的电路连接

        F3461BH是一个4位8段的数码管,其中a、b、c、d、e、f、g、dp引脚分别对应8个段码,该8个引脚通过74HC573锁存器与单片机的P0端口相连。另外有com1~com4四个公共控制脚,该应用为高电平则使能对应位的数码管。两个F3461BH一共有8个com控制引脚,也是通过74HC573锁存器与单片机的P0端口相连的。因此,在操控数码管显示的过程中也离不开74HC138译码器和74HC573锁存器。

5.数码管的动态显示

        动态显示的基本原理和实现思路:

        动态显示实质上就是轮流点亮单个数码管实现多位数码管整体显示的效果。在轮流显示过程中,每位数码管点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

6.独立按键和矩阵键盘

        板上有4*4矩阵键盘模块,接在P3口上,占用了P3全部的8个引脚。键盘的第一列也可作为4个独立按键使用,这时需要将键盘右侧的跳线帽J5跳接23端,使用P30~P33这4个引脚。(接12用矩阵键盘,接23用独立按键)

1.独立按键的基本思路

        一般情况下,独立按键有两个引脚,其中一个通过上拉电阻接到单片机的I/O端口,另外一端接地。也就是说,平时按键没有动作的时候,输出的是高电平,如果有按下动作发生,则输出的是低电平。那么,我们在程序设计的时候,只要扫描跟按键引脚相连的I/O端口,如果发现有低电平产生,则判定该按键处于按下状态。有些时候,电路或者外围有电磁干扰,也会使单片机的I/O端口产生低电平,这种干扰信号会让单片机误认为是按键动作。所以,在扫描按键的时候应该做去抖动处理,把干扰信号过滤掉,从而获得准确的按键状态信号。

2.矩阵键盘的基本控制

        与独立按键不同的是,按键的两个引脚都分别连接的单片机的I/O端口,一个作为行信号,另外一个作为列信号。我们以4X4的矩阵键盘为例,试着探讨其工作方式和扫描思路。

在上面的矩阵键盘中,要识别出黄色按键的按下状态,应该怎么做呢?
    对与矩阵键盘,我们只能逐行扫描,然后读取列的状态信号。如果R3行输出低电平,那么黄色按键如果有按下动作的话,那读取C2列信号也应该为低电平,而该行上其他没有按下动作的按键的列信号则为高电平。因此,我们可以得到矩阵键盘的基本扫描步骤:
    <1> R1输出点电平,R2、R3、R4输出高电平,逐个读取判断列信号,如果都为高电平则R1行上没有按键按下。
    <2> R2输出点电平,R1、R3、R4输出高电平,逐个读取判断列信号。
    <3> R3输出点电平,R1、R2、R4输出高电平,发现C2列信号为低电平,那么可以判断得R3行的C2列的按键有按下动作。
    <4> R4输出点电平,R1、R3、R4输出高电平,逐个读取判断列信号。
    如此循环往复,扫描的按键的状态。
    我们知道有按键按下动作,那么又怎么知道是哪一个按键按下呢?这时,我们最好定义一个键值全局变量,给矩阵行列上的每一个的按键编一个唯一的号码。当扫描的某一行某一列的按键动作后,把对应的编号复制给键值变量,这样我们判断这个键值,就知道是那个按键有触发动作了。

  • 15
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: iap15f2k61s2是一款基于ARM Cortex-M3内核的嵌入式控制芯片,具备多种外设接口和丰富的功能特性,适用于智能家居、工业自动化、电力电气等领域。其中文手册详细介绍了该芯片的特性、参数、寄存器配置和应用实例等内容,对开发者进行了详尽的指导。 该手册从芯片介绍、开发环境搭建、软件设计到系统控制等多个方面进行了讲解,包括各个模块的接口电路图和寄存器配置表,方便用户更加深入地了解芯片的硬件特性和软件实现方法。此外,手册还提供了大量引脚分配和时序图等详细资料,以便工程师在设计中更好地使用该芯片。 总的来说,iap15f2k61s2中文手册详细、全面、系统地介绍了该芯片的各项功能和使用方法,对于开发者而言是一份非常宝贵的参考资料,有助于提高设计效率和系统可靠性。 ### 回答2: iap15f2k61s2是一款高性能的8位单片机,适用于多种应用场景。对于iap15f2k61s2的使用,详细的说明可以在中文手册中找到。 手册首先介绍iap15f2k61s2的主要特点,包括高性能、低功耗、强大的外设、富有自主知识产权等。随后,手册详细介绍iap15f2k61s2的硬件架构和功能特性,包括芯片结构、存储器和管脚定义以及外设模块等。手册中同时提供了iap15f2k61s2的大量应用示例,供用户参考。 除硬件部分外,手册还详细讲解了iap15f2k61s2的软件开发环境及编程方法,包括编译、烧录、调试等内容。同时,手册也提供了iap15f2k61s2的常见问题解决方案,帮助用户快速解决可能出现的问题。 总体来说,iap15f2k61s2中文手册内容丰富,涵盖了硬件和软件方面的所有内容,并提供了丰富的示例和解决方案,对于想要使用这款单片机的工程师来说,应该是必备的参考资料。 ### 回答3: IAP15F2K61S2是一款8位单片机,由英特尔(Intel)公司设计和制造。该芯片集成了4KB的可编程闪存存储器和256字节的随机存取存储器(RAM),可提供多种外设接口,包括定时器、串行口(UART)和多通道12位精密模数转换器(ADC),是一种高性价比的微控制器。 在使用此芯片时,需要参考其中文手册。该手册详细介绍了芯片的使用方法、指令集、外设接口等内容,同时也包括示例代码、电路图和PCB设计指导,方便用户进行开发设计和项目实现。 其中,指令集部分,介绍了该芯片支持的所有指令和其操作码,用户可以根据需要选择合适指令进行编程。外设接口方面,介绍了每个接口的功能、引脚分配和工作原理,以及如何进行寄存器配置和初始化操作,使用户能够正确使用和控制外设。 此外,该手册还详细介绍了闪存编程和调试及低功耗模式的使用方法,对于芯片的应用和实现都有较好的指导作用。 总之,IAP15F2K61S2中文手册是该芯片的重要参考资料,对于学习和使用这一芯片的人来说,是不可或缺的指南。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值