发光二极管LED点亮控制_第1页
发光二极管LED点亮控制_第2页
发光二极管LED点亮控制_第3页
发光二极管LED点亮控制_第4页
发光二极管LED点亮控制_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

项目一发光二极管

LED点亮控制

1教学目的了解单片机的内部结构与主要型号;掌握单片机引脚功能;掌握单片机I/O口的基本功能;掌握用I/O口实现简单控制的方法;利用单片机的I/O口实现LED闪烁的控制。2工作模块一点亮一个发光二极管工作任务使用AT89S52单片机,P1.0引脚接发光二极管(LED)的阴极,通过C语言程序控制,从P1.0引脚输出低电平,使发光二极管点亮。3PROTEUS简介PROTEUS是英国LabcenterElectronics公司开发的多功能EDA软件。PROTEUS不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。它实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。4LED控制电路按照工作任务要求,点亮一个LED电路是由AT89S52单片机和1个LED电路构成。AT89S52单片机是美国ATMEL公司生产的低电压、高性能8位单片机,具有丰富的内部资源,使用AT89S52单片机无须外部存储器。5用PROTEUS设计第一个LED控制电路新建设计文件保存设计文件选取元器件放置元器件

编辑元器件放置终端连线属性设置电气规则检测

6工作过程P1.0引脚接发光二极管(LED)的阴极,P1.0引脚输出低电平时,发光二极管点亮。

问题:为什么P1.0引脚输出低电平,发光二极管点亮?通过程序控制,使P1.0引脚输出低电平,使发光二极管点亮。问题:程序怎么使P1口的引脚输出低电平?下面我们来看一下程序,就可以找到答案。7LED点亮程序#include<AT89X52.H>//包含AT89X52.H头文件sbitLED=P1^0;//定义LED是P1.0引脚对应的变量名voidmain(void){LED=0;//P1.0=0,LED点亮

while(1);}8KEILC51KeilC51是德国Keil软件公司开发的基于8051内核的微控制器软件开发平台,是51系列单片机C语言软件开发系统,是目前开发8051内核单片机的主流工具。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。μVision2集成开发环境可以完成从工程建立和管理、编译、连接、目标代码的生成、软件仿真和硬件仿真等完整的开发流程。9用KEILC51编写第一个C语言程序

建立第一个C程序项目建立工程文件建立源文件加载源文件设置工程的配置参数进行编译和连接进入调试模式全速运行程序10用PROTEUS仿真运行调试

加载“点亮一个LED.hex”目标代码文件打开Proteus“点亮一个LED”电路。双击单片机“AT89S52”,在弹出的“编辑元件”对话框中单击“ProgramFile”栏的打开按钮,在弹出的“选择文件名”对话框找到前面编译生成的“点亮一个LED.hex”HEX文件,单击“打开“按钮,完成“点亮一个LED.hex”HEX文件加载。将“ClockFrequency”栏中的频率设为12MHz,单击“确定”,即可完成加载目标代码文件。仿真运行调试单击仿真工具栏“运行”按钮,单片机全速运行程序。11认识单片机单片机实质上是一个芯片

CPU存储器定时器/计数器

中断系统P0-P3TxDRxD

TINT并行I/O口串行I/O口12单片机的发展

第一阶段(1974-1976年)为单片机初级阶段由于受工艺及集成度的限制,单片机采用双片形式,且功能比较简单。第二阶段(1976-1978年)为低性能单片机阶段单片机采用单芯片形式,是“小而全”。第三阶段(1978-1982年)为高性能单片机阶段,也是单片机普及阶段第四阶段(1982年以后)为16位单片机阶段13单片机的特点

由于单片机是在一块芯片上集成了一台微型计算机所需的CPU、存储器、输入/输出部件和时钟电路等。因此它具有体积小,使用灵活、成本低、易于产品化、抗干扰能力强,可在各种恶劣环境下可靠地工作等特点。体积小、重量轻,价格低、功能强,电源单一、功耗低,可靠性高、抗干扰能力强;使用方便灵活、通用性强;目前大多数单片机采用哈佛(Harvard)结构体系;突出控制功能的指令系统;较低的处理速度和较小的存储容量。14单片机的应用

单片机主要应用在以下几个方面:家用电器智能卡智能仪器仪表网络与通信工业控制15单片机的分类单片机可分为通用型单片机和专用型单片机两大类。通用型单片机是把可开发资源全部提供给使用者的微控制器。我们通常所说的单片机即指通用型单片机。专用型单片机则是为过程控制、参数检测、信号处理等方面的特殊需要而设计的单片机。16按片内不同程序存储器的配置来分片内带ROM、片内带EPROM型、片内无ROM按片内不同容量的存储器配置来分51子系列型(是基本型)、52子系列型(是增强型)按芯片的半导体制造工艺上的不同来分HMOS工艺型、CHMOS工艺型(用“C”表示)按所能适应的环境温度范围,可划分为三个等级:0℃~70℃民用级、-40℃~+85℃工业级、-65℃~+125℃军用级。17MCS-51单片机MCS-51是美国Intel公司的8位高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。8051/80C51是整个MCS-51系列单片机的核心。51系列单片机源于Intel公司的MCS-51系列,在Intel公司将MCS-51系列单片机实行技术开放政策之后,许多公司都以MCS-51中的基础结构8051为基核推出了许多各具特色、具有优异性能的单片机,如Philips、Atmel等。这样,把这些厂家以8051为基核推出的各种型号的兼容型单片机统称为51系列单片机。18Atmel公司的AT89系列单片机AT89系列单片机不但具有一般MCS-51单片机的所有特性,而且其Flash程序存储器可以用电擦除方式瞬间擦除、改写,写入单片机内的程序还可以进行加密。

型号快闪ROM片内RAM寻址范围并行口线串行口中断源定时器AT89C514K1282×64K32152×16AT89C528K2562×64K32163×16AT89C20512K1282×4K15152×16AT89C40514K1282×4K15152×16AT89S514K1282×64K32152×16AT89S528K2562×64K32163×1619单片机硬件结构时钟电路CPUROMRAMT0T1中断系统串行接口并行接口P0P1P2P3TXDRXDINT0INT1定时计数器中央处理器CPU:8位,运算和控制功能内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。定时/计数器:两个16位的定时/计数器,实现定时或计数功能。并行I/O口:4个8位的I/O口P0、P1、P2、P3。串行口:一个全双工串行口。中断控制系统:5个中断源(外中断2个,定时/计数中断2个,串行中断1个)时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ复位电路20中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。MCS-51的CPU能处理8位二进制数或代码。21内部数据存储器(内部RAM)芯片中共有256个RAM单元前128单元,作为供用户使用的寄存器和用于存放可读写的数据;后128单元被专用寄存器占用。通常所说的内部数据存储器就是指前128单元,简称内部RAM。22内部程序存储器(内部ROM)芯片中共有4KB个ROM单元。用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。23定时/计数器两个16位的定时/计数器。实现定时或计数功能,并以其定时或计数结果对计算机进行控制。24并行I/O口4个8位的I/O口(P0、P1、P2、P3)实现数据的并行输入/输出25串行口一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。26中断控制系统5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。27AT89S52单片机结构

一个8位CPU;一个片内振荡器及时钟电路;8K字节可重复擦写的Flash闪速存储器三级加密程序存储器;256×8字节内部RAM;3个16位定时器/计数器;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有8个中断源、两个优先级嵌套中断结构。

28AT89S52引脚功能电源线:VCC(+5V)、VSS(地)振荡电路:XTAL1、XTAL2复位引脚:RST并行口:P0、P1、P2、P3EA:访问程序存储控制信号PSEN:外部ROM读选通信号ALE:地址锁存控制信号P3口线的第二功能29AT89S52引脚功能电源引脚(2根)VCC(40脚):电源端,接+5V电源。VSS(20脚):接地端。时钟引脚(2根)XTAL1(19脚):接外部晶振和微调电容的一端。XTAL2(18脚):接外部晶振和微调电容的另一端。30AT89S52引脚功能控制引脚(4根)

RST/VPD(9脚):复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。ALE/PROG(30脚):地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。EA/VPP(31脚):访问程序存储控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。PSEN(29脚):片外ROM读选通信号端。

在读片外ROM时,PSEN有效,为低电平,以实现对片外ROM的读操作。31AT89S52引脚功能P0口(引脚32-39)普通I/O口P1口(引脚1-8)普通I/O口P2口(引脚21-28)普通I/O口P3口(引脚10-17)普通I/O口,或作为其他第二功能口32P3口各引脚与第二功能表引脚第二功能功能说明P3.0RXD串行口输入P3.1TXD串行口输出P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6WR片外RAM写选通信号(输出)P3.7RD片外RAM读选通信号(输入)33单片机最小系统单片机5V电源,接地时钟(晶振)电路复位电路34时钟电路时钟电路为单片机产生时钟脉冲序列。系统的晶振频率一般为1.2MHz~12MHz,电容C1和C2取30pF左右。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。35时序的概念

单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。

单片机的时序定时单位从小到大依次为:振荡周期、状态周期、机器周期和指令周期。振荡周期是指晶体振荡器直接产生的振荡信号的周期,是振荡频率fosc的倒数,用P表示。

状态周期(或时钟周期S)是振荡周期的两倍,它分为P1节拍和P2节拍。1个机器周期是由6个状态周期构成。执行一条指令所需的时间称为指令周期。36各种周期的相互关系

37复位电路单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。常见的复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键手动复位是通过复位端经电阻与电源VCC接通而实现的,它兼备上电复位功能。38复位功能复位是单片机的初始化操作。是把PC初始化为0000H,使CPU从0000H单元开始执行程序;同时还对其他一些寄存器有影响,但内部RAM的数据是不变的。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。39技能训练1-1

单片机最小系统只是单片机能满足工作的最低要求,它不能对外完成控制任务,实现人机对话。

单片机最小系统应用—开关控制LED点亮电路设计程序设计

40工作模块2

-LED闪烁分析软件实现思路:点亮发光二极管延时(延时子程序)关闭发光二极管延时重复上述动作(循环)电路设计和前面一样41C语言程序#include<AT89X52.h>sbitLED=P1^0;voidDelay(){unsignedchari,j;for(i=0;i<255;i++)for(j=0;j<255;j++);}voidmain(){while(1){LED=0;Delay();LED=1;Delay();}}42思考把Delay()延时函数放在后面如何处理?提示:在程序开头加入说明行(即子程序头加分号),既定义在前,使用在后。43C语言程序的构成C语言的程序是由一个或多个函数构成的,最简单的程序只有一个main函数。一个函数由两部分组成函数的首部、即函数的第一行;包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。

函数体,即函数首部下面的大括号“{}”内的部分。函数体一般包括:

声明部份:定义所用到的变量,如voidDelay()中的unsignedchari,j;。执行部份:由若干个语句组成。

44标识符

C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。变量名、常数名、数组名、函数名、文件名与类型名等统称为标识符。标识符分为预定义标识符和用户标识符。说明:C语言中大写字母与小写字母被认为是两个不同的字符。标识符在命名时应当简单,含义清晰,这样有助于阅读理解程序。45关键字

关键字则是编程语言保留的特殊标识符,它们具有固定名称和含义,在程序编写中不允许标识符与关键字相同。在KeilC中的关键字除了有ANSIC标准的32个关键字外,还根据51单片机的特点扩展了相关的关键字。在KeilC的文本编辑器中编写C程序,系统把保留字以不同颜色显示,缺省颜色为天蓝色。46C语言基本语句C语言的程序是由一个或多个函数组成的,而函数又是由若干个语句组成的。语句是由一些基本字符和定义符按照C语言的语法规定组成的,每个语句以分号结束,分号是C语句的必要组成部分。C语言的语句可分为以下5种类型:表达式语句函数调用语句控制语句复合语句空语句47表达式语句表达式语句是由一个表达式加一个分号构成一个语句,其作用是计算表达式的值或改变变量的值。它的一般形式是:表达式;即在表达式末尾加上分号,就变成了表达式语句。最典型的表达式语句是:在赋值表达式后加一个分号构成赋值语句。例如:a=3是一个赋值表达式a=3;是一个赋值语句48函数调用语句由一个函数调用加一个分号构成函数调用语句,其作用是完成特定的功能。它的一般形式是:函数名(参数列表);例如mDelay(100);//调用延时函数,参数是100

49控制语句控制语句用于完成一定的控制功能,以实现程序的各种结构方式。C语言有9种控制语句,可分为以下三类。条件判断语句:if语句、switch语句。循环语句:for语句、while语句、do-while语句。转向语句:break语句、continue语句、goto语句、return语句。50复合语句复合语句是用一对大括号将若干条语句括起来的,也称为分程序,在语法上相当于一条语句。例如main(){……{t=x;x=y;y=t;}//复合语句}51空语句只有一个分号的语句称为空语句。它的一般形式是:;空语句是什么操作也不执行,常用于作为循环语句中的循环体,表示循环体什么也不做。

52注释

注释内容可以单独写在一行上,也可以写在一个语句之后;可以用/*…..*/的形式为C程序的任何一部份作注释;KeilC也支持C++风格的注释,就是用“//”引导的后面的语句是注释,例:

P1_0=!P1_0;//取反P1.0这种风格的注释,只对本行有效,书写比较方便,所以在只需要一行注释的时候,我们往往采用这种格式。53技能拓展-音频控制应用

音频控制电路由单片机最小系统、放大滤波电路和扬声器构成。放大滤波电路由NPN三极管Q1、电阻R3、电容C4构成,Q1的基极经电阻R2接到P0.0引脚。

54音频控制流程图

利用AT89S52端口输出脉冲方波,方波经放大滤波后,驱动扬声器发声,声音的频率高低由延时长短控制。55音频控制程序音频控制程序和模块二LED闪烁程序基本一样,下面写出程序不同之处。#include<AT89X52.H>//包含AT89X52.H头文件sbitSPK=P0^0;

温馨提示

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

评论

0/150

提交评论