单片机原理与应用(C语言版)(微课版)课件 项目2 模拟转向灯设计_第1页
单片机原理与应用(C语言版)(微课版)课件 项目2 模拟转向灯设计_第2页
单片机原理与应用(C语言版)(微课版)课件 项目2 模拟转向灯设计_第3页
单片机原理与应用(C语言版)(微课版)课件 项目2 模拟转向灯设计_第4页
单片机原理与应用(C语言版)(微课版)课件 项目2 模拟转向灯设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目2模拟转向灯设计目录任务2-1蜂鸣器发声2.1单片机的引脚2.2单片机最小系统电路2.351单片机的存储器结构任务2-2模拟转向灯2.4单片机并行I/O端口任务2-3

发光二极管闪烁任务拓展

设计8路LED流水灯电路项目导读模拟转向灯系统设计探讨单片机控制功能及实现方法。涵盖硬件设计、软件编写、系统调试。学习单片机I/O端口控制、电子电路知识。项目任务设计递进,注重理论与实践。培养基本操作技能与解决问题能力。提供源代码及注释,为后续开发打基础。思维导图任务2-1蜂鸣器发声任务2-1蜂鸣器发声1、目的与要求通过单片机控制蜂鸣器发声系统的制作,了解单片机并行I/O端口的输出控制作用以及蜂鸣器发声控制方法。任务要求采用单片机控制蜂鸣器发出鸣叫声。2、电路及器件单片机控制蜂鸣器硬件电路如图所示,包括单片机、复位电路、时钟电路、电源电路及用P1.0引脚控制的蜂鸣器电路。蜂鸣器是电子讯响器,用于计算机、打印机等电子产品中。分压电式和电磁式,发声需电流驱动。蜂鸣器从结构上分为有源和无源两种51单片机控制蜂鸣器电路

蜂鸣器3、源程序设计4、任务小结制作单片机控制蜂鸣器发声系统,了解单片机并行I/O端口输出控制及蜂鸣器控制方法,训练输出驱动应用能力。2.1单片机的引脚2.1单片机的引脚51系列单片机在嵌入式应用中,有的系统需要扩展外围芯片(存储器或I/O接口),这就需要三总线(数据线、地址线和控制线)引脚,这类总线可扩展的单片机的引脚通常在40个以上。下面对51系列单片机进行介绍。AT89S51单片机有40~44条功能引脚,芯片的引脚数目也不同。它有如下三种不同的封装形式。

PDIP

PLCC

TQFP各种封装形式及其引脚如图所示。2.1.1

芯片封装2.1.2芯片引脚及功能AT89S52与其他PDIP封装的51单片机芯片一样,具有40个引脚。下面介绍各引脚的功能:1.供电引脚供电引脚接入AT89S51的工作电源。

VCC:电源正极,一般为+5V。

GND:电源地。2.I/O引脚顾名思义,I/O引脚就是输入/输出引脚。P0:P0口是一个8位漏极开路的双向I/O口。P1:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。P2:P2口是一个具有内部上拉电阻的8位双向IO口,P2输出缓冲器能驱动4个TTL逻辑电平。P3:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。3.控制引脚控制引脚包括RST、ALE、

,此类引脚提供控制信号,有些引脚具有复用功能。RST:复位输入。

晶振工作时,RST脚持续两个机器周期,高电平将使单片机复位。

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

:外部程序存储器选通信号。

:访问外部程序存储器控制信号。4.外接晶振引脚外接晶振引脚与片内的反相放大器构成一个振荡器,它提供了单片机的时钟控制信号,也可采用外部晶体振荡器。

XTAL1:接外部晶体的一个引脚,在单片机内部,它是一个反相放大器的输入端。若采用外部振荡器,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。

XTAL2:接外部晶体的另一端,在单片机内部接到反相放大器的输出端,当采用外接晶体振荡器时,此引脚可以不接。2.2单片机最小系统电路2.2单片机最小系统电路单片机最小系统含单片机及电源、时钟、复位部件,保证单片机正常运行。可将其作为应用系统核心,扩展存储器、A/D等。51单片机最小系统的功能主要如下:

能够运行用户程序。

用户可以复位单片机。

具有相对强大的外部扩展功能。最小系统的结构如图所示。单片机最小系统电路原理图如图所示2.2.1单片机时钟电路时钟电路控制单片机工作节奏。时序电路发脉冲,控制CPU执行指令时间顺序。时钟模块产生51单片机工作时钟信号。时钟源可用内部振荡器或外部时钟源。51单片机的时钟源电路2.2.2时序定时单位时序是用定时单位来说明的。51单片机的时序定时单位共有4个,从小到大依次是拍节、状态、机器周期和指令周期。下面分别加以说明。1.拍节与状态把振荡脉冲的周期定义为拍节(用P表示)。2.机器周期51单片机采用定时控制方式,因此它有固定的机器周期。3.指令周期指令周期是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。2.2.3指令的执行时序单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段,时序如图所示。2.351单片机的存储器结构2.351单片机的存储器结构本节以8051为代表来说明51单片机的存储器结构。8051存储器主要有4个物理存储空间,即片内数据存储器(IDATA区)、片外数据存储器(XDATA区)、片内程序存储器和片外程序存储器(程序存储器合称为CODE区)。2.3.1片内数据存储器8051的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址0x00~0x7F)和高128单元(单元地址0x80~OxFF)。1、内部数据存储器低128单元(DATA区)片内RAM的低128个单元用于存放程序执行过程中的各种变量和临时数据,称为DATA区。表给出了低128单元的配置情况。1)工作寄存器区8051有4组共32个工作寄存器,每组8个(R0~R7),存放操作数及中间结果。寄存器组占内部RAM的0x00~0x1F。CPU任一时刻只能使用一组,称为当前工作寄存器组,由PSW中RS1和RSO位决定。2)位寻址区(BDATA区)内部RAM的0x20~0x2F单元,可字节操作也可位操作,共16个单元,128位,位地址0x00-0x7F。3)用户数据缓冲区内部RAM低128单元中,除工作寄存器区(32个单元)和位寻址区(16个单元)外,剩80个单元(0x30~0x7F),供用户使用,无限制。2、内部数据存储器高128单元内部RAM的高128单元地址为0x80~0xFF,是供给专用寄存器SFR(SpecialFunctionRegister,也称为特殊功能寄存器)使用的。表给出了专用寄存器地址。2.3.2片外数据存储器8051单片机的片外数据存储器可扩充至64KB,称为XDATA区,主要用于存储外部数据。当处理大量数据时,XDATA区至关重要。XDATA区内的分页寻址操作区域称为PDATA区,它通过分页寻址方式有效管理存储空间,提高8051单片机的存储访问效率。访问片外数据存储器需使用MOVX等指令,这些指令支持从外部RAM读写数据,实现有效操作。使用片外数据存储器需注意限制和条件,如默认不可访问需特殊设置,以及考虑地址范围和访问速度确保数据正确传输。片外数据存储器是8051单片机的重要组成部分,合理配置和使用可提升数据处理能力和效率。2.3.3程序存储器51单片机的程序存储器用来存放编好的程序和程序执行过程中不会改变的原始数据。程序存储器结构如图所示。任务2-2模拟转向灯1、目的与要求信号灯是传递汽车行驶状况的工具。一般包括转向灯、刹车灯等。任务要求用单片机制作模拟汽车转向灯控制系统,训练I/O端口位操作。2、电路设计单片机模拟汽车左右转向灯控制系统电路如图所示。3、源程序设计汽车转向灯显示状态如表所示。P3.0和P3.1引脚的电平状态与驾驶员发出命令的对应关系如表所示。模拟汽车转向灯控制系统的源程序如下。4、任务小结本任务模拟人们常见的汽车转向灯显示控制功能,用51单片机的P3口接收驾驶员发出的左转、右转命令(拨动开关S0、S1到位置2上),控制连接到P1口上的两个发光二极管闪烁,指示汽车的左、右转向。2.4单片机并行I/O端口2.4单片机并行I/O端口8051单片机有P0、P1、P2、P3四个I/O端口,均可按位或字节操作。P0口输出需外接上拉电阻,P0和P2口可扩展为地址总线,P3口具多种第二功能。输入时需区分读引脚和端口,输出时可直接输出高低电平。合理利用各端口特性,实现丰富功能和控制需求。。2.4.1并行I/O端口电路结构51单片机典型芯片8051共有4个8位并行I/O端口,分别用P0、P1、P2、P3表示。每个I/O端口既可以按位操作使用单个引脚,也可以按字节操作使用8个引脚。单片机的4个I/O端口可以作为一般的I/O端口使用,在结构和特性上基本相同,又各具特点。4个并行I/O端口的口线逻辑电路如图2-10所示P0口位电路结构

P1口位电路结构P2口位电路结构P3口位电路结构2.4.2作为输入端口使用4个并行I/O端口P0~P3作为输入端口使用时,应区分读引脚和读端口。所谓读引脚,就是读芯片引脚的状态,把端口引脚上的数据从缓冲器通过内部总线读进来。读引脚时,必须先向电路中的锁存器写入“1”。读端口是指读锁存器的状态。读端口是为了适应对I/O端口进行“读—修改-写”操作语句的需要。例如,下面的C51语句:P0=P0&0xf0; //将P0口的低4位引脚清零输出执行该语句时,涉及三个步骤:“读-修改-写”。首先,读取P0口锁存器的数据;接着,与0xf0执行“逻辑与”操作;最后,清除数据的低4位并将结果写回P0口。读取锁存器而非直接读引脚是为了防止潜在错误。任务2-2中,利用单片机的P3.0和P3.1引脚控制拨动开关,此时,P3.0和P3.1作为输入端口使用。当开关S。拨到1位置时,P3.0引脚上为高电平,通过读引脚,就可以读出该引脚上的高电平“1”,从而得知开关的具体位置。2.4.3作为输出端口使用P0口作为输出端口使用时,输出电路是漏极开路电路,必须外接上拉电阻(一般为4.7kΩ或10kΩ)才能有高电平输出。P1、P2和P3口作为输出端口使用时,无须外接上拉电阻。任务1-2中利用单片机的P1.0控制发光二极管的亮灭,任务2-1中利用P1.0控制蜂鸣器的发声,此时,P1.0都是作为输出端口使用。通过给P1.0引脚输出0或1,从而达到在P1.0引脚上输出低电平或高电平的目的。输出时,可以用位操作,也可以用字节操作。例如,下面操作就是采用位操作。sbitP1_0=P1^0; //定义P1.0引脚位名称为P1_0P1_0=0; //在P1.0引脚输出低电平P1_0=1; //在P1.0引脚输出高电平采用字节操作时,直接给整个I/O端口的8个引脚赋值,例如:P1=0x01; //P1口的P1.0引脚为高电平,其余7个引脚均为低电平注意:无论作为输入端口还是输出端口,I/O端口采用字节操作时,第七位为高位,第零位为低位。2.4.4I/O端口的第二功能在进行单片机系统扩展时,P0口作为单片机系统的低8位地址/数据线使用,一般称它为地址/数据分时复用引脚。P2口作为单片机系统的高8位地址,与P0口的低8位地址线共同组成16位地址总线。P3口的8个引脚都具有第二功能,具体参见2.1节中的表2-2。作为第二功能使用的端口线,不能同时当做通用I/O端口使用,但其他未被使用的端口线仍可作为通用I/O端口使用。任务2-3发光二极管闪烁1、目的与要求用于控制连接到P1.0端口的发光二极管闪烁。程序使用位操作来单独控制P1.0引脚的状态,实现发光二极管的闪烁效果。2、原理及实现此程序的原理和实现是基于51单片机的I/O端口控制以及简单的延时函数。I/O端口控制:51单片机具有多个I/O端口,如P0、P1、P2、P3等,每个端口都有8个引脚,可以单独控制每个引脚的状态(高电平或低电平)。延时函数:由于单片机的执行速度很快,直接控制I/O端口会导致LED几乎瞬间闪烁,人眼无法分辨。因此,需要加入延时函数来控制LED的亮灭时间。定义和初始化:首先,我们包含了reg51.h头文件,它包含了51单片机特殊功能寄存器的定义。然后,我们定义了一个宏LED来表示P1.0引脚,这样在后续代码中可以直接使用LED而不是P1^0。主循环:main函数中的while(1)是一个无限循环,保证程序会一直运行。在循环内部,我们首先设置LED=0,即将P1.0引脚设置为低电平。3、源程序设计4.任务小结代码开始包含reg51.h头文件,定义了宏LED对应P1.0引脚。main函数中,通过无限循环执行LED的点亮和熄灭,每次操作后延时500毫秒,实现LED闪烁。delay函数通过嵌套for循环实现延时,但延时不精确,依赖于时钟频率和编译器优化。实际应用中,建议使用定时器中断等更精确方法。确保硬件连接正确,LED阳极接P1.0引脚,并加限流电阻。若LED为共阴极接法,需反转点亮和熄灭操作。任务拓展

设计8路LED流水灯电路1.设计目的与要求通过设计一个8路LED流水灯电路,学习单片机对LED的控制方法,掌握单片机I/O口的使用以及简单的程序设计思路。要求设计一个电路,能够控制8个LED灯按照一定的顺序依次点亮和熄灭,形成流水灯效果。2.电路设计采用单片机P0端口的P0.0-P0.7分别连接8个LED灯,通过电阻限流保护LED

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论