1 / 58

项目一 发光二极管 LED 点亮控制

项目一 发光二极管 LED 点亮控制. 教学目的. 了解单片机的内部结构与主要型号; 掌握单片机引脚功能; 掌握单片机 I/O 口的基本功能; 掌握用 I/O 口实现简单控制的方法; 利用单片机的 I/O 口实现 LED闪烁 的控制。. 工作模块一 点亮一个发光二极管. 工作任务 使用 AT89S52 单片机, P1.0 引脚接发光二极管( LED )的阴极,通过 C 语言程序控制,从 P1.0 引脚输出低电平,使发光二极管点亮。 . PROTEUS 简介.

elpida
Download Presentation

项目一 发光二极管 LED 点亮控制

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 项目一 发光二极管LED点亮控制

  2. 教学目的 了解单片机的内部结构与主要型号; 掌握单片机引脚功能; 掌握单片机I/O口的基本功能; 掌握用I/O口实现简单控制的方法; 利用单片机的I/O口实现LED闪烁的控制。

  3. 工作模块一 点亮一个发光二极管 • 工作任务 • 使用AT89S52单片机,P1.0引脚接发光二极管(LED)的阴极,通过C语言程序控制,从P1.0引脚输出低电平,使发光二极管点亮。

  4. PROTEUS简介 • PROTEUS是英国Labcenter Electronics公司开发的多功能EDA软件。PROTEUS不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前较先进的单片机和嵌入式系统的设计与仿真平台。 • 它实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整的电子设计、研发过程。

  5. LED控制电路 • 按照工作任务要求,点亮一个LED电路是由AT89S52单片机和1个LED电路构成。 • AT89S52单片机是美国ATMEL公司生产的低电压、高性能8位单片机,具有丰富的内部资源, 使用AT89S52单片机无须外部存储器。

  6. 用PROTEUS设计第一个LED控制电路 • 新建设计文件 • 保存设计文件 • 选取元器件 • 放置元器件 • 编辑元器件 • 放置终端 • 连线 • 属性设置 • 电气规则检测

  7. 工作过程 • P1.0引脚接发光二极管(LED)的阴极,P1.0引脚输出低电平时,发光二极管点亮。 • 问题: 为什么P1.0引脚输出低电平,发光二极管点亮? • 通过程序控制,使P1.0引脚输出低电平,使发光二极管点亮。 • 问题: 程序怎么使P1口的引脚输出低电平? 下面我们来看一下程序,就可以找到答案。

  8. LED点亮程序 • #include <AT89X52.H> //包含AT89X52.H头文件 • sbit LED=P1^0; //定义LED是P1.0引脚对应的变量名 • void main (void) • { • LED=0; // P1.0=0,LED点亮 • while(1); • }

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

  10. 用KEIL C51编写第一个C语言程序 • 建立第一个C程序项目 • 建立工程文件 • 建立源文件 • 加载源文件 • 设置工程的配置参数 • 进行编译和连接 • 进入调试模式 • 全速运行程序

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

  12. T INT 定 时 器 / 计 数 器 中 断 系 统 并行I/O口 C P U 串行I/O口 P0-P3 TxD RxD 存 储 器 认识单片机 • 单片机实质上是一个芯片(P7)

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

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

  15. 单片机的应用 • 单片机主要应用在以下几个方面: • 家用电器 • 智能卡 • 智能仪器仪表 • 网络与通信 • 工业控制

  16. 单片机的分类 • 单片机可分为通用型单片机和专用型单片机两大类。 • 通用型单片机是把可开发资源全部提供给使用者的微控制器。我们通常所说的单片机即指通用型单片机。 • 专用型单片机则是为过程控制、参数检测、信号处理等方面的特殊需要而设计的单片机。

  17. 按片内不同程序存储器的配置来分 • 片内带ROM、片内带EPROM型、片内无ROM • 按片内不同容量的存储器配置来分 • 51子系列型(是基本型)、52子系列型(是增强型) • 按芯片的半导体制造工艺上的不同来分 • HMOS工艺型、CHMOS工艺型(用“C”表示) • 按所能适应的环境温度范围,可划分为三个等级: • 0℃~70℃民用级、-40℃~+85℃工业级、-65℃~+125℃军用级。

  18. MCS-51单片机 • MCS-51是美国Intel公司的8位高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。 • 8051/80C51是整个MCS-51系列单片机的核心。 • 51系列单片机源于Intel公司的MCS-51系列,在Intel公司将MCS-51系列单片机实行技术开放政策之后,许多公司都以MCS-51中的基础结构8051为基核推出了许多各具特色、具有优异性能的单片机,如Philips、Atmel等。这样,把这些厂家以8051为基核推出的各种型号的兼容型单片机统称为51系列单片机。

  19. Atmel公司的AT89系列单片机 • AT89系列单片机不但具有一般MCS-51单片机的所有特性,而且其Flash程序存储器可以用电擦除方式瞬间擦除、改写, 写入单片机内的程序还可以进行加密。

  20. T0 T1 时钟电路 ROM RAM 定时计数器 CPU 并行接口 串行接口 中断系统 TXD RXD INT0 INT1 P0 P1 P2 P3 单片机硬件结构(P10) • 并行I/O口:4个8位的I/O口P0、P1、P2、P3。 • 中央处理器CPU:8位,运算和控制功能 • 内部ROM:4KB掩膜ROM,用于存放程序、原始数据和表格。 • 中断控制系统:5个中断源(外中断2个,定时/计数中断2 个,串行中断1个) • 时钟电路:可产生时钟脉冲序列,允许晶振频率6MHZ和12MHZ • 串行口:一个全双工串行口。 • 内部RAM:共256个RAM单元,用户使用前128个单元,用于存放可读写数据,后128个单元被专用寄存器占用。 • 定时/计数器:两个16位的定时/计数器,实现定时或计数功能。 复位电路

  21. 中央处理器(CPU) • 中央处理器是单片机的核心,完成运算和控制功能。 • MCS-51的CPU能处理8位二进制数或代码。

  22. 内部数据存储器(内部RAM) • 芯片中共有256个RAM单元 • 前128单元,作为供用户使用的寄存器和用于存放可读写的数据; • 后128单元被专用寄存器占用。 • 通常所说的内部数据存储器就是指前128单元,简称内部RAM。

  23. 内部程序存储器(内部ROM) • 芯片中共有4 KB个ROM单元。 • 用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。

  24. 定时/计数器 • 两个16位的定时/计数器。 • 实现定时或计数功能,并以其定时或计数结果对计算机进行控制。

  25. 并行I/O口 • 4个8位的I/O口(P0、P1、P2、P3) • 实现数据的并行输入/输出

  26. 串行口 • 一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。 • 该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。

  27. 中断控制系统 • 5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。 • 全部中断分为高级和低级共两个优先级别。

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

  29. AT89S52引脚功能(P11) • 电源线:VCC(+5V)、VSS(地) • 振荡电路:XTAL1、XTAL2 • 复位引脚:RST • 并行口:P0、P1、P2、P3 • EA:访问程序存储控制信号 • PSEN:外部ROM读选通信号 • ALE:地址锁存控制信号 • P3口线的第二功能

  30. AT89S52引脚功能 • 电源引脚(2根) • VCC(40脚):电源端,接+5V电源。 • VSS(20脚):接地端。 • 时钟引脚(2根) • XTAL1(19脚):接外部晶振和微调电容的一端。 • XTAL2(18脚):接外部晶振和微调电容的另一端。

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

  32. AT89S52引脚功能 • P0口 (引脚32-39)普通I/O口 • P1口 (引脚1-8) 普通I/O口 • P2口 (引脚21-28)普通I/O口 • P3口 (引脚10-17)普通I/O口,或作为其他第二功能口

  33. P3口各引脚与第二功能表

  34. 最小单片机系统(P13) • 单片机 • 5V电源,接地 • 时钟电路(晶振) • 复位电路

  35. 时钟电路 • 时钟电路为单片机产生时钟脉冲序列。 • 系统允许的晶振频率一般为6 MHz和12 MHz,电容C1和C2取30 pF左右。 • 晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。

  36. 时序的概念 • 单片机内的各种操作都是在一系列脉冲控制下进行的,而各脉冲在时间上是有先后顺序的,这种顺序就称为时序。 • 单片机的时序定时单位从小到大依次为:时钟周期、状态周期、机器周期和指令周期。 • 振荡周期是指晶体振荡器直接产生的振荡信号的周期,是振荡频率fosc的倒数,用P表示。 • 状态周期(或状态S)是振荡周期的两倍,它分为P1节拍和P2节拍。 • 1个机器周期是由6个状态构成。 • 执行一条指令所需的时间称为指令周期。

  37. 各种周期的相互关系

  38. 复位电路 • 单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。 • 常见的复位操作有上电自动复位和按键手动复位两种方式 。 • 上电自动复位是通过外部复位电路的电容充电来实现的。 • 按键手动复位是通过复位端经电阻与电源VCC接通而实现的,它兼备上电复位功能。

  39. 复位功能 • 复位是单片机的初始化操作。 • 是把PC初始化为0000H,使CPU从0000H单元开始执行程序; • 同时还对其他一些寄存器有影响,但内部RAM的数据是不变的。 • 除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。

  40. 技能训练1-1 • 单片机最小系统只是单片机能满足工作的最低要求,它不能对外完成控制任务,实现人机对话。 • 单片机最小系统应用—开关控制LED点亮 • 电路设计 • 程序设计

  41. 工作模块2-LED闪烁 • 分析 • 软件实现思路: • 点亮发光二极管 • 延时(延时子程序) • 关闭发光二极管 • 延时 • 重复上述动作(循环) • 电路设计和前面一样

  42. C语言程序 #include <AT89X52.h> sbit LED = P1^0; void Delay() { unsigned char i, j; for (i=0;i<255;i++) for (j=0;j<255;j++); } void main () { while(1) { LED = 0; Delay(); LED = 1; Delay(); } }

  43. 思考 • 把Delay()延时函数放在后面如何处理? • 提示:在程序开头加入说明行(即子程序头加分号),既定义在前,使用再后。

  44. C语言程序的构成(P47) • C语言的程序是由一个或多个函数构成的,最简单的程序只有一个main函数 。 • 一个函数由两部份组成 • 函数的首部、即函数的第一行; 包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。 • 函数体,即函数首部下面的大括号“{}”内的部份。函数体一般包括: • 声明部份:定义所用到的变量,如void Delay()中的unsigned char i, j;。 • 执行部份:由若干个语句组成。

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

  46. 关键字 • 关键字则是编程语言保留的特殊标识符,它们具有固定名称和含义,在程序编写中不允许标识符与关键字相同。在Keil C中的关键字除了有ANSI C标准的32个关键字外,还根据51单片机的特点扩展了相关的关键字。 • 在Keil C的文本编辑器中编写C程序,系统把保留字以不同颜色显示,缺省颜色为天蓝色。

  47. C语言基本语句(P52) • C语言的程序是由一个或多个函数组成的,而函数又是由若干个语句组成的。语句是由一些基本字符和定义符按照C语言的语法规定组成的,每个语句以分号结束,分号是C语句的必要组成部份。C语言的语句可分为以下5种类型: • 表达式语句 • 函数调用语句 • 控制语句 • 复合语句 • 空语句

  48. 表达式语句 • 表达式语句是由一个表达式加一个分号构成一个语句,其作用是计算表达式的值或改变变量的值。它的一般形式是: 表达式; 即在表达式末尾加上分号,就变成了表达式语句。最典型的表达式语句是:在赋值表达式后加一个分号构成赋值语句。例如: • a=3 是一个赋值表达式 • a=3; 是一个赋值语句

  49. 函数调用语句 • 由一个函数调用加一个分号构成函数调用语句,其作用是完成特定的功能。它的一般形式是: 函数名(参数列表); • 例如 mDelay(100); //调用延时函数,参数是100

  50. 控制语句 • 控制语句用于完成一定的控制功能,以实现程序的各种结构方式。C语言有9种控制语句,可分为以下三类。 • 条件判断语句:if语句、switch语句。 • 循环语句:for语句、while语句、do-while语句。 • 转向语句:break语句、continue语句、goto语句、return语句。

More Related