版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1
简易声光报警器设计目录任务1-1KeilC51软件的使用1.1认识单片机任务1-2LED发光二极管小灯1.2学习单片机的准备任务1-3
简易声光报警器设计任务拓展:两个LED发光二极管的闪烁控制项目导读单片机声光报警器设计入门项目聚焦简易声光报警器设计,用51单片机为核心。从KeilC51软件使用开始,学基本操作、工程建立、编写与调试,奠基单片机程序设计。再了解单片机内部及最小系统,明确电源、晶振、复位电路作用。设计LED闪烁系统,焊接硬件与下载程序,熟悉I/O口控制和延时编程。最后综合运用知识,完成声光报警器,实现定时声音与光报警,强化理解与实践能力,为后续开发积累经验。思维导图任务1-1
KeilC51软件的使用任务1-1
KeilC51软件的使用1、目的与要求在进行51单片机的开发工作时,KeilC51软件是一个非常重要的工具,开发人员学会操作使用它是相当必要的。接下来,你可以依据任务里指示的操作流程,逐步学习和掌握KeilC51软件的基础操作。2、操作步骤1)启动KeilC51软件
C51启动窗口
选择目标器件窗口
复制标准8051启动代码选择窗口2)建立工程文件
选择目标CPU
建立工程文件小知识已加载的STARTUP.A51文件,如图所示,建立工程后的主界面3)建立并添加源文件文本编缉窗口
源程序保存界面
添加源文件到组中
选择文件类型及添加源文件
加入文件4)配置工程属性配置工程属性
目标属性“Output”选项卡5)编译工程编译工程编译结果
输出信息
编译不成功输出信息3、任务小结使用KeilC51的基本步骤如图所示,图中虚线箭头指向的步骤可以改变顺序。经过以上步骤,在成功生成二进制或十六进制HEX目标文件后,还需要把文件加载到单片机中运行才能看到程序的执行结果。如果手边没有硬件下载工具,也可以直接采用软件进行仿真,KeilC51内建了一个仿真CPU可以模拟执行程序,参见任务2-3,也可以采用目前比较流行的电路仿真软件Proteus来进行仿真。1.1认识单片机1.1.1什么是单片机1、单片微型计算机单片微型计算机,亦称单片机,是将微型计算机的各种功能部件,如CPU、存储器、I/O接口电路、定时/计数器以及中断系统等2、单片机应用系统单片机应用系统是以单片机作为核心部件,搭配输入、输出、显示等外围接口电路以及控制程序,进而构成能够实现特定功能的实用系统。单片机内部基本结构
单片机应用系统的组成3、51系列单片机本书主要介绍51系列8位单片机,包括其硬件结构、工作原理及应用系统设计。MCS-51单片机是Intel公司生产的一系列内核兼容单片机的统称,包括8031、8051、8751等型号。8051单片机是该系列的典型代表。上世纪90年代,Intel公司将MCS-51核心技术授权给多家半导体器件公司,这些公司在生产单片机时采用MCS-51内核,并进行改进,这类单片机被称为“增强型51单片机”。51单片机是对所有兼容MCS-51指令系统单片机的统称,包括Intel的MCS-51系列和其他厂商生产的增强型8051单片机。尽管32位单片机已实用化,但8位单片机因性价比优势及增强型单片机在速度和功能上的提升,仍是单片机领域的主流机型。1.1.2单片机的内部结构8051作为MCS-51系列单片机中早期的典型产品,其内部结构如图所示。8051内部各部分的功能如表所示。任务1-2LED发光二极管小灯任务1-2LED发光二极管小灯1、目的与要求本项目旨在制作一个由单片机控制的LED发光二极管闪烁系统,借此深入了解单片机以及单片机最小系统究竟是什么,同时掌握单片机应用系统的制作流程。具体操作步骤为:先在万能板上完成单片机控制LED系统电路的焊接工作,之后将给定的二进制代码程序下载到单片机当中,最终实现发光二极管呈现出闪烁的效果。2、电路及器件单片机控制LED硬件电路如图所示,包括单片机、复位电路、时钟电路、电源电路及一个发光二极管显示控制电路。单片机控制LED系统电路的器件清单如表所示。对电路中的主要器件介绍如下:(1)单片机芯片实物如图所示。(2)图展示了发光二极管的实物图。(3)弹性按键实物如图所示单片机实物发光二极管实物
弹性按键3、硬件电路板制作在万能板上按电路图焊接元器件,完成电路板制作,图是焊接好的电路板实物照片。4、源程序设计图中看到的只是单片机应用系统的硬件电路,实际上在单片机芯片的内部存储器中必须烧录了预先编写好的控制程序,才能看到发光二极管的闪烁效果。给出发光二极管闪烁控制系统的源程序如下。
单片机控制一个LED闪烁系统电路板5、程序下载将二进制文件下载到单片机中的方法有很多种,例如可以选用具有在系统编程ISP功能的单片机芯片,例如AT89S51、宏晶单片机等。宏晶单片机不仅具有ISP下载功能,还具有串口下载功能,使用起来非常方便。6、任务小结通过一个LED发光二极管闪烁控制系统的制作过程,让读者对单片机、单片机最小系统和单片机应用系统的概念有初步了解和直观认识。与此同时,读者还了解了单片机应用系统的开发过程。单片机应用系统的开发过程为:设计电路图→制作电路板→程序设计→硬软件联调(仿真联调)→程序下载→产品测试。1.2学习单片机的准备1.2学习单片机的准备单片机开发流程含硬件设计、控制程序设计及联调。在线仿真成本高;ISP下载板经济但缺仿真;软件仿真成本低但缺实践。各有优劣,按需选。初学者宜选ISP结合软件仿真,降成本且加深理解。仿真软件可辅助掌握流程。1.2.1单片机开发流程与工具单片机应用系统的开发流程及所需工具如图
所示。1.2.1单片机开发流程与工具(1)在任务1-2中,除了硬软件联调外,以上每个开发步骤都有所体现。(2)在开发流程中,前两项硬件设计和第3项控制程序设计可以并行开发,同时进行。(3)硬软件联调是单片机应用系统开发过程的重要阶段,由于单片机硬件和控制程序的支持能力有限,一般自身无调试能力,因此必须配备一定的开发工具,借助于开发工具来排除应用系统样机中的硬件故障和程序错误,最后生成目标程序。(4)对于个人学习比较方便的方法是:采用价格低廉的带有ISP下载功能的单片机实验板,或者直接采用软件进行辅助仿真,常用的仿真软件有KeilC51的仿真器采Simulator以及Proteus仿真软件等,把二者结合起来还可以进行软件调试。d1.2.2单片机的仿真学习与ISP下载实验板1、在线仿真学习环境单片机实验室配典型在线仿真环境,含计算机、通信电缆、仿真器等。调试成功后,编程器下载程序至单片机,脱机调试,如图所示。2、ISP下载实验板流行单片机学习工具是ISP下载功能的实验板,用AT89S51或STC单片机作核心,提供LED、数码管、液晶等显示接口,按键、蜂鸣器、传感器、电机接口等,配实验指导书、源程序、学习视频等资源。实例见图。3、软件仿真学习环境通过软件仿真学习单片机,无需任何硬件资源,可以节约成本,还可以进行实时的调试和仿真。Proteus是一款仿真软件,允许在原理图虚拟原型上编程和代码级调试。它能实时模拟输入输出,并配合虚拟测量工具进行观察。通过安装联调插件vdmagdi.exe,Proteus可与KeilC51软件联调,实现在线仿真器式的调试。示例见图。任务1-3简易声光报警器设计任务1-3简易声光报警器设计1、目的与要求通过设计制作一个简易声光报警器,熟悉单片机的I/O口控制和延时编程。要求实现以下功能:
使用单片机控制声音报警和光报警。
P1.0接声音报警装置(蜂鸣器),P1.1接光报警装置(LED灯)。
报警器每隔5秒触发一次,每次报警持续2秒,声音报警和光报警同时进行。2、电路设计单片机的P1.0引脚连接蜂鸣器,用于声音报警。单片机的P1.1引脚连接一个LED灯,用于光报警。报警器的电路参考图进行设计。3、源程序设计使用软件延时实现5秒的定时和2秒的报警持续时间。报警器的控制程序如下:4、任务总结本程序是一个简易声光报警器设计,实现了每隔5秒触发一次报警,每次报警持续2秒的功能。程序使用了软件延时来实现定时功能,并通过控制P1.0(蜂鸣器)和P1.1(LED灯)的开关,实现声音报警和光报警。注意:延时函数的参数(如50000和20000)需要根据实际晶振频率进行调整。如果使用的是12MHz晶振,上述参数可以满足要求。在实际硬件电路中,需要确保蜂鸣器和LED灯的连接正确,并为LED灯添加合适的限流电阻。任务拓展:两个LED发光二极管的闪烁控制任务拓展:两个LED发光二极管的闪烁控制1、目的与要求通过设计制作一个简单的LED闪烁控制程序,熟悉单片机的I/O口控制和延时编程。要求实现以下功能:
使用单片机控制两个LED发光二极管的闪烁。
P1.0连接第一个LED(LED1),P1.1连接第二个LED(LED2)。
LED1和LED2交替闪烁,每个LED亮1秒,灭1秒。
程序运行时,两个LED依次闪烁,形成交替闪烁的效果。2、电路设计
单片机的P1.0引脚连接第一个LED(LED1)。
单片机的P1.1引脚连接第二个LED(LED2)。
每个LED需要通过一个限流电阻连接到地(GND)。3、源程序参考使用软件延时实现1秒的定时,控制两个LED的闪烁。程序如下:知识梳理与总结
本项目设计简易声光报警器,涵盖单片机开发核心知识与技能。软件层面,学习KeilC51开发环境操作,掌握编译生成HEX文件流程。硬件领域,掌握单片机最小系统构成,理解I/O口控制原理,实现声光报警功能。实践方面,强化知识,提升动手与问题解决能力,积累复杂项目开发经验。总之,本项目提升单片机应用开发素养与技能。谢谢项目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)是一个无限循环,保证程序会一直运行。在循环内部,我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业健康安全管理体系认证指南
- 连锁超市库存管理优化手册
- 关于2026年年度合作意向书的商洽函(6篇)
- 2026年广东省梅州市辅警协警招聘考试模拟试题及答案详解
- 确认设备验收的确认函7篇
- 2026年辽宁省营口市辅警协警招聘考试备考试题及答案详解
- 2026年湖北省辅警协警招聘考试参考试题及答案详解
- 2026年济南市历城区辅警协警招聘笔试备考试题及答案详解
- 2026年四川省德阳市辅警协警招聘笔试备考试题及答案详解
- 2026年天津市东丽区辅警协警招聘笔试参考试题及答案详解
- 控告申诉业务竞赛综合业务知识考试试卷(二)
- 应急救灾物资项目方案投标文件(技术方案)
- 船舶修造结算管理办法
- 汇丰银行课件
- 舆情法制培训课件
- 额敏县生活垃圾热解处理项目环评报告
- 借车试乘试驾协议书
- JJF(新) 139-2024 锅炉散热损失测试规范
- DB33T 1368-2024医院“一站式”综合服务中心建设与服务规范
- (医学书籍)张元素医学全书
- DB14-T 3149-2024 公路机电工程施工监理指南
评论
0/150
提交评论