基于单片机精确计时的电源开关_第1页
基于单片机精确计时的电源开关_第2页
基于单片机精确计时的电源开关_第3页
基于单片机精确计时的电源开关_第4页
基于单片机精确计时的电源开关_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机精确计时的电源开关 XXX 电子信息科学与技术 指导教师:XXXX 摘摘 要要 由于精确计时在当前工业控制,日常生活等领域有广泛应用,本设计采用 MCS51 系列单片机为核心器件,辅以相应的外围电路,设计制作出了基于单 片机的精确计时控制硬件系统,并通过继电器外接被控制端,可以实现用较小 的电流去控制较大电流的目的。在硬件系统的基础之上进行软件的设计,以进 行精确延时。在硬件方面,除了单片机外,使用四个七段 LED 数码管来进行显 示,LED 采用的是动态扫描显示,使用 74LS14 芯片进行驱动。软件方面采用汇 编语言编程,使用 SLISP 软件进行在线的程序烧写,涉及了单片机的定

2、时和中 断的使用。 关键词:关键词:单片机;精确计时;继电器;电路 TheThe DesignDesign andand ImplementationImplementation ofof a a PowerPower SwitchSwitch ControlControl ProcedureProcedure BasedBased onon a a PrecisePrecise TimeTime ControlControl ofof MCUMCU Abstract:Precise time control is widely applied in the industrial contro

3、l, and some other areas of our daily life at present. This design utilizes the MCS-51 microcontroller as the core components, and some external peripheral circuits. The microcontroller has been designed based on the precise time control hardware system, and contacted the controlled device with a Rel

4、ay. It can be achieved that relatively small current could control a larger current. The software is designed based on the hardware system to implement precise delay, and four LED digital tubes each of which has seven sections are used to display time information. The LED equipment is programmed by

5、dynamic scanning and uses the 74LS14 IC chip as the driver. The system is developed in the assemble language; the procedure is programmed with the SLISP software and is concerned with the timing function of MCU and the use of interrupt. Key words: MCU precise time control Relay circuit 目 录 第一章 前言.1

6、1.1. 课题背景.1 1.1.1.单片机概述.1 1.1.2.单片机的产生和发展历史.1 1.1.3.单片机的发展趋势.1 1.1.4.单片机的主要特点.1 1.1.5.单片机的应用.1 1.1.6.汇编语言简介.3 第二章 系统硬件设计.4 2.1. 设计方案.4 2.2. 硬件设计电路框图.4 2.3. 机型及器件选择.5 2.3.1.单片机的选择.5 2.3.2.MCS51 系列单片机介绍 .5 2.3.3.晶振的选择.9 2.3.4.DS1307 介绍 .10 2.4. 时钟电路的设计.10 2.5. 复位电路的设计.11 2.6. LED 显示电路设计与器件选择 .11 2.7.1

7、.LED 显示器的选择 .11 2.7.2.LED 段驱动芯片的选择 .12 2.7.3.LED 位驱动芯片的选择 .13 2.7. 按键电路设计与器件选择.13 2.8. 蜂鸣器电路的设计.14 2.9. 继电器电路的设计.15 2.10.硬件的调试.15 第三章 软件设计.16 3.1. 程序流程图.16 3.2. 程序设计具体实现.16 3.3. 编译软件的使用和编译过程.19 3.4. 烧片.20 结 论.21 致 谢.22 参考文献.23 附件.24 硬件设计电路原理图 及 PCB 图.24 第一章 前言 1.1. 课题背景 1.1.1. 单片机概述 单片机也被称作“单片微型计算机”

8、 、 “微控制器” 、 “嵌入式微控制器” 。单 片机一词最初是源于“Single Chip Microcomputer”,简称 SCM。随着 SCM 在 技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机” 来表达其内涵。国际上逐渐采用“MCU”(Micro Controller Unit)来代替,形 成了单片机界公认的、最终统一的名词。为了与国际接轨,以后应将中文“单 片机”一词和“MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成, 故而可继续沿用。 1.1.2. 单片机的产生和发展历史 单片微型计算机是随着微型计算机的发展而产生和发展的。自从 1975 年 美国

9、德克萨斯仪器公司的第一台单片微型计算机( 简称单片机)TMS-1000 问 世以来,迄今为止,单片机技术已成为计算机技术的一个独特分支,单片机的 应用领域也越来越广泛,特别是在工业控制中经常遇到对某些物理量进行定时 采样与控制的问题,在仪器仪表智能化中也扮演着极其重要的角色。 如果将 8 位单片机的推出作为起点,那么单片机的发展历史大致可以分为 以下几个阶段: 第一阶段(19761978):单片机的探索阶段。以 Intel 公司的 MCS-48 为 代表。MCS-48 的推出是在工控领域的探索,参与这一探索的公司还有 Motorola、Zilog 等。都取得了满意的效果。这就是 SCM 的诞生

10、年代, “单片机” 一词即由此而来。 第二阶段(19781982):单片机的完善阶段。Intel 公司在 MCS-48 基础 上推出了完善的、典型的单片机系列 MCS-51。它在以下几个方面奠定了典型的 通用总线型单片机体系结构。 1.完善的外部总线。MCS-51 设置了经典的 8 位单片机的总线结构,包括 8 位数 据总线、16 位地址总线、控制总线及具有多机通信功能的串行通信接口。 2.CPU 外围功能单元的集中管理模式。 3.体现工控特性的地址空间及位操作方式。 4.指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 第三阶段(19821990):8 位单片机的巩固发展及 16

11、位单片机的推出阶 段,也是单片机向微控制器发展的阶段。Intel 公司推出的 MCS-96 系列单片机, 将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中, 体现了单片机的微控制器特征。 第四阶段(1990):微控制器的全面发展阶段。随着单片机在各个领域 全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的 8 位/16 位/32 位通用型单片机,以及小型廉价的专用型单片机。 1.1.3. 单片机的发展趋势 目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将 是进一步向着 CMOS 化、低功耗化、低电压化、低噪声与高可靠性、大容量化、 高性能化、小容量

12、、低价格化、外围电路内装化和串行扩展技术。随着半导体 集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。 1.1.4. 单片机的主要特点 单片机主要有如下特点: 1.有优异的性能价格比。 2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块 芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的 可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施, 适合在恶劣环境下工作。 3.控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有 极丰富的转移指令、I/O 口的逻辑操作以及位处理功能。单片机的逻辑控制功 能及运行速度均高于同一

13、档次的微机。 4.低功耗、低电压,便于生产便携式产品。 5.外部总线增加了 I2C(Inter-Integrated Circuit)及 SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。 6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用 系统。 1.1.5. 单片机的应用 由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的 得力助手。它的应用遍及各个领域,主要表现在以下几个方面: 1.单片机在智能仪表中的应用。 2.单片机在机电一体化中的应用。 3.单片机在实时控制中的应用。 4.单片机在分布式多机系

14、统中的应用。 5.单片机在人类生活中的应用。 单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用 的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。 从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实 现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术 的一次革命。 A:由单片机组成控制器的结构和特点: 单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型 计算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM)和各种功能 I/O 接口 集成在一块芯片上的单芯片微型计算机(Single Chip Micro

15、 Computer),简称单 片机.由于它的结构与指令功能都是按工业控制要求设计的,且近年来单片机着 力扩展了各种控制功能如 A/D、PWM 等,因此我们更多时候称其为一个单片形态 的微控制器(Single Chip Micro Controller),或直接称其为微控制器(Micro Controller)。 B:用单片机组成的微机控制系统具有以下特点: 1.受集成度限制,片内存储器容量较小,一般片内 ROM 小于 48K 字节,片内 RAM 小于 256 字节;但可在外部进行扩展,如 MCS51 系列单片机的片外可擦可 编程只读存储器(EPROM)、静态随机存储器(SRAM)可分别扩展至

16、64K 字节。 2.可靠性高。单片机芯片本身是按工业控制环境要求设计的,其抗工业噪声 的能力优于一般通用 CPU;程序指令及其常数、表格固化在 ROM 中不易被破坏、 常用信号通道均在一个芯片内,故可靠性高。 3.易扩展。片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展 用的总线及并行、串行输入/输出端口,很容易构成各种规模的微机控制系统。 4.控制功能强。为了满足工业控制要求,单片机的指令系统中有极丰富的条 件分支转移指令、I/O 口的逻辑操作以及位处理功能。一般来说,单片机的逻辑 控制功能及运行速度均高于同一档次的微处理器。 5.一般的单片机内无监控程序或系统管理软件,软件开发工作

17、量大。但近年 来已开始出现了片内固化有 BASIC 解释程序及 FROTH 操作系统的单片机,使单片 机系统的开发提高了一个新水平。 此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控 制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳 的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、 控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微 机产量的 70%以上。目前,至少有 50 个系列 400 余种机型,性能和结构各不相 同,INTEL、MOTOROLA、ZILCG 等公司都有系列单片微型计算机。国内普及的几 乎都

18、是 INTEL 公司的产品。 1.1.6. 汇编语言简介 汇编语言是计算机提供给用户的最快最有效的语言,也是利用计算机所有 硬件特性并能直接控制硬件的唯一语言。因而在对于程序的空间和时间要求很 高的场合,汇编语言是必不可少的。至于对于很多需要直接控制硬件的应用场 合,则更是非用汇编语言不可。 采用高级语言编写的程序,机器是不能直接执行的,需要由编译程序或解 释程序将它翻译成对应的机器语言程序,机器才能接受。而这种机器语言程序 往往比较冗长,占用存贮空间较大,执行起来速度慢,且无法直接利用机器硬 件系统的许多特性,如寄存器,标志位等。 汇编语言是介于计算机能直接理解的机器语言与使用者容易理解的高

19、级语 言之间的一种语言。它除有与代码指令一一对应的符号指令外,还增加了专用 于定义变量、常量、符号、过程、分配存贮空间、定位程序起始地址等一系列 称之为伪指令的符号指令。 第二章 统硬件设计 2.1. 设计方案 1、 选择 DS1307 芯片作为系统的时钟日历,当前时间可从 DS1307 芯片中读 出 2、 系统显示采用 8 位 LED 数码管。LED 数码管的段码输入由 P0 产生、位码输 入由 P2 产生 3、 时间调整与定时的输入通过接入键盘电路实现。设计 4 个键,分别定义为: (1) SET 键(时间调整设置键):其功能是当该键按下时,进入时间调整功 能 (2) ALM 键(定时时间

20、设置键):其功能是当该键按下时,进入定时时间输 入功能 (3)1 键:其功能是当该键按下时,被调整位加一 (4)RET 键:其功能是当该键按下时,指向下一个要调整的位 4、 按键的接入方式: (1)SETSET 键:通过 P3 口 INT0 引角接入,中断工作方式 (2)ALMALM 键:通过 P3 口 INT1 引角接入,中断工作方式 (3)1 1 键:通过 P3 口 P3.0 引角接入,查询工作方式 (4)RETRET 键:通过 P3 品 P3.1 引角接入,查询工作方式 5、 报警声响用蜂鸣器产生,蜂鸣器接入 P1 口的 P1.6 脚 6、 外部电源的通断用小型中功率电磁继电器 JZC_

21、23F 来完成这个功能,继电 器触点的断开与接通,通过 P1 口的 P1.7 脚控制 2.2. 硬件设计电路框图 根据设计方案,硬件电路设计框图如下图所示:硬件电路结构由 8 个部分 组成:按键输入电路、时钟与复位电路、蜂鸣器电路、LED 显示器及驱动电路、 继电器电路和时钟日历电路组成。 按键输入 电路 时钟电路 蜂鸣器 电路 单片机 LED 显示器 驱动电路 8 位 LED 显 示器 继电器电路 DS1307 复位电路 2.3. 机型及器件选择 2.3.1. 单片机的选择 在此选择 ATMEL 公司生产的型号为 AT89S51 的单片机。该单片机与 MCS51 系列单片机完全兼容,是 AT

22、MEL 公司最新推出的替代 AT89C51 系列的 新款机型,比 AT89C51 系列又增加了 WTD、ISP 等功能,物美价廉,经济实用, 并且使用起来更加方便。 单片机的主要生产厂家和机型: (1)美国 INTEL 公司 MCS-48、MCS-51、MCS-96 系列及其增强型、扩展型系列 产品; (2)美国 ATMEL 公司 AT89 系列产品,如 89C51、89C52、89C55 等 ; (3)荷兰 PHILIPS(飞利浦)公司 8C552 系列 ; (4)美国 MOTOROLA 公司的 6801、6802、6803、6805、68HC11 系列产品; (5)美国 Zilog 公司的

23、 Z8、Super8 系列产品; 上述产品既有很多共性,又各具有一定的特色,因而在国际市场上都占一 席之地。根据近年来国外实地考察,INTEL 公司的单片机在市场上占有量为 67%,其中 MCS51 系列产品又占 54%。在我国虽然上述公司的产品均有引进, 但由于各种原因,至今我国所应用的单片机仍然是以 MCS48、MCS51、MCS96 系列为主流。 图 2-1 硬件设计电路框图 2.3.2. MCS51 系列单片机介绍 1、基本特性 MCS-51 单片机采用的是冯诺伊曼提出的经典计算机体系结构框架,即一 台计算机是由运算器、控制器、存储器、输入设备和输出设备共五个基本部分 组成。MCS-5

24、1 单片机在一块芯片上集成了 CPU、RAM、ROM、定时器/计数器和多 功能 I/O 口等。MCS-51 单片机的系统结构框图如下图 2-2 所示。 由图 1 可以看出,单片机内部主要包含下列几个部件: 一个 8 位 CPU,片内有振荡器和时钟电路,工作频率为 112MHz(Atmel 89Cxx 为 024MHz) ; 一个时钟电路; 4Kbyte 程序存储器 ROM; 128byte 数据存储器 RAM; 两个 16 位定时/计数器; 64Kbyte 扩展总线控制电路; 四个 8-bit 并行 I/O 端口; 一个可编程串行接口; 五个中断源,其中包括两个优先级嵌套中断。 图 2-2 M

25、CS-51 单片机的系统结构框 图 2、引角功能 2. 3/0 PINT 6 . 3/ PWR 3 . 3/1 PINT 0 . 1P 1 . 1P 2 . 1P 3 . 1P 4 . 1P 5 . 1P 6 . 1P 7 . 1P PD VRST / 0 .3/ PRXD 1. 3/ PTXD 4 . 3/0 PT 5 . 3/1 PT 7 . 3/ PRD 2XTAL 1XTAL Vss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Vcc 0 . 0P 1 . 0P 2 . 0P 3 . 0P 4 . 0P 5 . 0P 6 . 0

26、P 7 . 0P VppEA/ PROGALE/ PSEN 7 . 2P 6 . 2P 5 . 2P 4 . 2P 3 . 2P 2 . 2P 1 . 2P 0 . 2P21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 8031 8051 8751 Vcc Vss PD VRST/ 1XTAL 2XTAL VppEA/ PSEN PROGALE/ P3 口 第 二 功 能 P0 口 P1 口 P2 口 地 址 数 据 总 线 地 址 总 线 8031 8051 8751 图 2-4 单片机引脚图 MCS-51 是标准的 40

27、 引脚双列直插式集成电路芯片,引脚分布请参照- 单片机引脚图(图表 2-3): P0.0P0.7 P0 口 8 位双向口线(在引脚的 3932 号端子) 。 P1.0P1.7 P1 口 8 位双向口线(在引脚的 18 号端子) 。 P2.0P2.7 P2 口 8 位双向口线(在引脚的 2128 号端子) 。 P3.0P3.7 P2 口 8 位双向口线(在引脚的 1017 号端子) 。 P0 口有三个功能: 图 2-3 MCS-51 系列单片机的内部结构 1、外部扩展存储器时,当做数据总线(如图 1 中的 D0D7 为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图 1 中的 A0A7

28、为地址总线接口) 3、不扩展时,可做一般的 I/O 使用,但内部无上拉电阻,作为输入或输出 时应在外部接上拉电阻。 P1 口只做 I/O 口使用:其内部有上拉电阻。 P2 口有两个功能: 1、扩展外部存储器时,当作地址总线使用 2、做一般 I/O 口使用,其内部有上拉电阻; P3 口有两个功能: 除了作为 I/O 使用外(其内部有上拉电阻) ,还有一些特殊功能,由特殊寄 存器来设置,具体功能请参考我们后面的引脚说明。 有内部 EPROM 的单片机芯片(例如 8751) ,为写入程序需提供专门的编程 脉冲和编程电源,这些信号也是由信号引脚的形式提供的, 即:编程脉冲:30 脚(ALE/PROG)

29、 编程电压(25V):31 脚(EA/Vpp) ALE/PROG 地址锁存控制信号:在系统扩展时,ALE 用于控制把 P0 口的输 出低 8 位地址送锁存器锁存起来,以实现低位地址和数据的隔离。 (在后面关于 扩展的课程中我们就会看到 8051 扩展 EEPROM 电路,在图中 ALE 与 74LS373 锁 存器的 G 相连接,当 CPU 对外部进行存取时,用以锁住地址的低位地址,即 P0 口输出。ALE 有可能是高电平也有可能是低电平,当 ALE 是高电平时,允许地 址锁存信号,当访问外部存储器时,ALE 信号负跳变(即由正变负)将 P0 口上 低 8 位地址信号送入锁存器。当 ALE 是

30、低电平时,P0 口上的内容和锁存器输出 一致。 在没有访问外部存储器期间,ALE 以 1/6 振荡周期频率输出(即 6 分频) , 当访问外部存储器以 1/12 振荡周期输出(12 分频) 。从这里我们可以看到,当 系统没有进行扩展时 ALE 会以 1/6 振荡周期的固定频率输出,因此可以做为外 部时钟,或者外部定时脉冲使用。 PORG 为编程脉冲的输入端:在第五课 单片机的内部结构及其组成中,我 们已知道,在 8051 单片机内部有一个 4KB 或 8KB 的程序存储器(ROM) ,ROM 的 作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存 入进这个 ROM 中的呢?实

31、际上是通过编程脉冲输入才能写进去的,这个脉冲的 输入端口就是 PROG。 PSEN 外部程序存储器读选通信号:在读外部 ROM 时 PSEN 低电平有效,以 实现外部 ROM 单元的读操作。 1、内部 ROM 读取时,PSEN 不动作; 2、外部 ROM 读取时,在每个机器周期会动作两次; 3、外部 RAM 读取时,两个 PSEN 脉冲被跳过不会输出; 4、外接 ROM 时,与 ROM 的 OE 脚相接。 参见附图(8051 扩展 2KB EEPROM 电路,在图中 PSEN 与扩展 ROM 的 OE 脚 相接) EA/VPP 访问和序存储器控制信号。 1、接高电平时: CPU 读取内部程序存

32、储器(ROM) 扩展外部 ROM:当读取内部程序存储器超过 0FFFH(8051)1FFFH(8052) 时自动读取外部 ROM。 2、接低电平时:CPU 读取外部程序存储器(ROM) 。 在前面的学习中我们 已知道,8031 单片机内部是没有 ROM 的,那么在应用 8031 单片机时,这个脚 是一直接低电平的。 3、8751 烧写内部 EPROM 时,利用此脚输入 21V 的烧写电压。 RST 复位信号:当输入的信号连续 2 个机器周期以上高电平时即为有效, 用以完成单片机的复位初始化操作,当复位后程序计数器 PC=0000H,即复位后 将从程序存储器的 0000H 单元读取第一条指令码。

33、 XTAL1 和 XTAL2 :外接晶振引脚。当使用芯片内部时钟时,此二引脚用于 外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 VCC:电源+5V 输入。 VSS:GND 接地。 2.3.3. 晶振的选择 无源晶振就是我们常说的谐振器,而有源晶振就是振荡器,都是用来产生 时钟信号的,但二者有很大区别。 无源晶振只是个石英晶体片,使用时需匹配相应的电容、电感、电阻等外 围电路才能工作,精度比晶振要低,但它不需要电源供电,有起振电路即可起 振,一般有两个引脚,价格较低。 有源晶振内部含有石英晶体和匹配电容等外围电路,精度高、输出信号稳 定,不需要设计外围电路、使用方便,但需要

34、电源供电,有源晶振一般是四管 脚封状,有电 源、地线、振荡输出和一个空置端。使用有源晶振时要特别注意, 电源必须是稳压的且电源引线尽量短,并尽量与系统中使用晶振信号的芯片共 地。价格很高。 考虑成本故选择无源晶振 XTAL1。 2.3.4. DS1307 介绍 DS1307 是美国 DALLAS 公司推出的I2C总线接口实时时钟芯片,它可独 立于 CPU 工作,不受 CPU 主晶振及其电容的影响,且计时准确,月累积误差 一般小于 10 秒。芯片还具有主电源掉电情况下的时钟保护电路,DS1307 的时 钟靠后备电池维持工作,拒绝 CPU 对其读出和写入访问。同时还具有备用电 源自动切换控制电路,

35、因而可在主电源掉电和其它一些恶劣环境场合中保证系 统时钟的定时准确性。DSL1307 产生秒、分、时、日、月、年等功能,且具有 闰年自动调整功能。同时,DSL1307 成有一定容量、具有掉电保护特性的静态 RAM 用于保存一些关键数据。 2.4.时钟电路的设计 单片机工作的时间基准是由时钟电路提供的。在单片机的 XTAL0 和 XTAL1 两个引角之间,接一只晶振及两只电容就构成了单片机的时钟电路。如图 2-5 所示: 电路中,电容器 C1 和 C2 可以对晶振有微调作用,通常的取值范围是 3010pF;晶振选择 12MHz。 复位电路的设计 单片机的 RST 引脚为主机提供一个外部复位信号输

36、入端口。复位信号是高 电平有效,高电平的持续时间应为 2 个机器周期以上。 复位以后,单片机内各部分恢复到初始状态,单片机从 ROM 的 0000H 开始 执行程序。 单片机的复位方式有上电复位和手工复位两种,图 6 是 51 系列单片机常用 的上电复位和手动复位组合电路,只要 VCC 上升时间不超过 1ms,它们都能很 好的工作。 阻容器件的值如图 2-6 所示,即 R1200,R21k,C3=22uF。 2.6.LED 显示电路设计与器件选择 单片机的应用系统中,通常都要进行人机对话。这包括人对应用系统的 状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。显示 器、键盘电路就

37、是用来完成人机对话的人机通道。 LED 显示器的驱动是一个非常重要的问题,由系统硬件设计框图可知,显 示电路由 LED 显示器、段驱动电路和位驱动电路组成。由于单片机的并行口不 能直接驱动 LED 显示器,必须采用专用的驱动电路芯片,使之产生足够大的电 流,显示器才能够正常工作。如果驱动电路能力差,即负载能力不够时,显示 器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。因此,在实际应用 中必须接入 LED 驱动电路。 LED 的显示方式选择动态显示,要同时考虑位和段的驱动能力,而且段的 驱动能力决定位的驱动能力。 图 2-5时钟电路 图 2-6 复位电路 2.7.1. LED 显示器的选择

38、 在应用系统中,设计要求不同,使用的 LED 显示器的位数也不同,在本系 统中,选择 4 位一体的 LED 显示器,简称“4-LED”.如图所示,是一个共阴极 接法的 4 位 LED 显示器,其中 a、b、c、d、e、f、g 为 4 位 LED 各段的公共引 出端。D1、D2、D3、D4 分别是每一位的共阴极输出端,dp 是小数点引出端。 对于此种结构的 LED 显示器,由于 4 位 LED 阴极的各段民经在内部接在一 起,因此必须采用动态扫描方式。 2.7.2. LED 段驱动芯片的选择 在本设计中,选择 BCD-7 段锁存译码驱动器做为段驱动电路。74LS48 具有锁存、译码、驱动的功能。

39、即在输入端输入要显示的字型的 BCD 码,在输 出端就可以得到具有一定驱动能力的 7 段显示字型码。 图 2-7 给出了 74LS48 的引脚图。引脚图中大写字母 A、B、C、D 为 BCD 码 的输入端,小写字母 A、B、C、D、E、F、G 为字型码输入端,LT 为灯测试输入 端,BI 为消隐输入,RBO 为消隐输出。下表给出了 74LS48BCD7 段锁存译码 驱动器的输入与输出信号的对应关系。在使用时,将该芯片的输入端引脚 A、B、C、D 与单片机的 P1 口或者 P3 口连接,该芯片的输出端 7 个引脚,与 LED 显示器的 7 个段码引脚相连接。74LS48 的作用是接收来自单片机的

40、 BCD 码 型的输入信号,经过锁存、译码和放大后,输出 7 段字型码到 LED 显示器,完 成对 BCD 码到 7 段字型码的锁存、译码和驱动的功能。 表 2-174LS48BCD段译码器输入输出端信号对照表 输入端电平输出端电平 D C B Ag f e d c b a 显示 字型 0 0 0 0011 1111(3FH)0 0 0 0 1000 0110(06H)1 0 0 1 0101 1011(5BH)2 图 2-774LS48 引脚 0 0 1 1100 1111(4FH)3 0 1 0 0110 0110(66H)4 0 1 0 1110 1011(6DH)5 0 1 1 011

41、1 1011(7DH)6 0 1 1 1000 0111(07H)7 1 0 0 0111 1111(7FH)8 1 0 0 1110 1111(6FH)9 2.7.3. LED 位驱动芯片的选择 LED 位驱动较常用的芯片有 ULN2003A 和 ULN2803A。前者是具有 7 个达林 顿电路的集成芯片,后都是具有 8 个达林顿电路的集成芯片.此种芯片集电极可 以收集最在达 500mA 的电流,耐压为 30V,能驱动常规的 LED 显示器。图 2-8 和图 2-9 分别是 ULN2803 芯片的引脚图和电路原理图。2803 芯片的电路原理和 2003 完全相同,只是在结构上 2803 经

42、2003 多一级驱动电路。 图 2-8 ULN2803A 引脚 图 2-9ULN2803A 电路原理图 图 2-8 中的 1B8B 引脚是输入端,1C8C 引脚是输出端。第 10 脚接有续 流二级管。 本设计中选用 ULN2003 作为位驱动电路,将该芯片的输入端引脚 1B、2B、3B、4B、5B、5B、6B、7B、8B 与单片机的 P2 口相连,该芯片的输出 端引脚 1C、2C、3C、4C、5C、6C、7C、8C 分别与两个 LED 显示器的 4 个位码引 脚 D1D4 相连接。UNL2803 的作用是接收来自单片机的位码输入信号,经过反 相放大后输出,送到 LED 显示器的位码引脚,完成对

43、位码信号的反向和驱动的 功能。 2.7.按键电路设计与器件选择 键盘结构的选择 本设计中需要 4 个按键,因此选择独立式键盘。如图所示,电路由按键和 4 个电阻组成,按键分别命名为 SETSET、ALMALM、1 1 和 RETRET 键,按键采用轻触开关, 电阻用阻值为 1K 的。 键盘与单片机的接口电路设计 如图 2-10 所示,将键盘直接与单片机的 P3 口连接。用 P3.2、P3.3 引脚通 过两个按键 SETSET、ALMALM 接入两个外部中断的请求信号 INT0、INT1;P3.4、P3.5 引脚作为 IO 口使用,通过两个按键+1+1、RET 接入两个输入信号。 2.8.蜂鸣器

44、电路的设计 本设计要求定时时间到时要有声音提醒信号产生,可以选择一只蜂鸣器来 实现这一功能。压电式蜂鸣器(HA)工作时约需 10mA 的驱动电流,并设计一个 相应的驱动及控制电路。电路设计如图 2-11 所示,蜂鸣器(HA)作为三极管 VT1 的集电极负载,当 VT1 导通时,蜂鸣器发出鸣叫声音,VT1 截止时,蜂鸣器 不发声。R4 是限流电阻。 蜂鸣器电路与单片机的接口:VT1 的基极接到单片机的 P1 口的 P1.6 引脚, 图 2-11 蜂鸣器电路和继电器电路 图 2-10键盘与单片机的接口电路 P1.6 引脚作为输出口使用。当 P1.60 时,VT1 导通时,使蜂鸣器的两个引脚 间获得

45、将近 5V 的直流电压,蜂鸣器中有电流通过,而产生蜂鸣音。当 P1.61 时,VT1 截止,蜂鸣器的两引脚间的直流电压将近于 0V,蜂鸣器不发声。 蜂鸣器有长声和短声两种,可以根据需要进行选择。本设计选择短声蜂鸣 器,蜂鸣器报警时间的长短,通过软件编程控制。 2.9.继电器电路的设计 在工业控制系统中,需要断开或接通开关量输入/输出通道。当开关接高压 电路时,还需将被控对象加以隔离,以保护主控电路和人身安全。继电器是电 气控制中最常用的控制元件之一。它能同时完成接通和隔离这两项任务;因此, 它在工为控制系统中得到广泛应用。 继电器与单片机的接口连接如图 2-11 所示: 本设计中选择 JZC_

46、23F 型小型中功率电磁继电器,它由控制线圈和触头组 成。线圈由低压直流 5V 控制。 如图 2-11 中 VD1 是作为续流二极管,是为配合继电器线圈放电用的。当继 电器线圈断电时,线圈要放电,用续流二极管 VD1 导流。三极管 VT2 的基极接 到单片机的 P1 口的 P1.7 引脚,P1.7 引脚作为输出口使用。当 P1.70 时, VT2 导通时, 。当 P1.71 时,VT2 截止。 2.10. 硬件的调试 硬件的调试在上电后的工作是不是正常,主要进行不插单片机的调试 无单片机调试主要检查电路工作是否正常,具体步骤如下: A:打开电源,将输出电压调到 5 伏,然后关闭电源。 B:将电

47、路板的火线与电源正极相连,地线与负极相连。 C:打开电源,用万用表检测电路板是否有输出电压,如果有就是好的,没 有就要检测是否有短路。 D:电路检查完后,关闭电源,用一根导线与电源负极相连,然后打开电源, 用导线的另一端逐个与 P0、P2 口的管脚接触,看数码管显示是否正确。 第三章 软件设计 3.1.程序流程图 程序流程图是编写软件的重要前提,它是在图表上直观的体现拟设计的目 的及过程。也是编译的重要依据,按照流程图一步一步编写程序,下面是流程 图: 初始化定时器 初始化变量 继电器 OFF 开中断,启动 T1 型计时 断开继电器,蜂鸣器报警 定时时间到? 主程序 设置中断服务程序的入口地址

48、 设置堆栈指针 图 3-1 程序流程图 3.2.程序设计具体实现 程序的内容包括:主程序的起始地址,中断服务程序的起始地址,有关内 存单元及相关部件的初始化和一些子程序调用等。 1、程序的起始地址 MCS-51 系列单片机复位后,(PC)=0000H,而 0003H 为外部中断 0 的入口地 址,000BH 为计数器 0 中断服务程序入口地址,001BH 为计数器 1 中断服务程序 入口地址,0023H 为串行中断服务程序入口地址。所以编程时应在 0000H 处写一 跳转指令。 当 CPU 接收到中断请求信号并予以响应后,CPU 会把当前的 PC 内容压入堆 栈进行保护,然后转入相应的中断服务

49、程序入口处执行。一般应在相应的中断 服务程序入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序 的起始地址进行编程。 2、主程序的初始化内容 所谓初始化,是对将要用到的 MCS-51 系列单片机内部部件或扩展芯片进行 初始工作状态设定。MCS-51 系列单片机复位后,特殊功能寄存器 IE,IP 的内容 均为 00H,所以应对 IE,IP 进行初始化编程,以开放 CPU 中断,允许某些中断 源中断和设置中断优先级等。 在本程序中,使用了定时器 1 的中断,中断服务程序入口地址为 001BH, 用来产生 40ms 的单位时间。同时还要对一些存储单元进行初始化。 3、T1 中断服务子程序的

50、实现 本设计中所用晶振为 12MHz,计时器 1 的计时初值为 63C0H(十进制为 15536),计时为 40ms。本设计的软件中设定为 40ms 的 255 倍。 程序如下所示: TIMER40ms:;计时中断程序 CLR EA ;关中断 PUSH ACC ;将累加器和缓存器库存入堆栈内 PUSH PSW MOV PSW,#010H;设定缓存器库为第二个,以免改变原来的 RR7 值 MOV TH1,#063H ;设定定时时间 40000us MOV TL1,#0C0H CLR TF1;清除计时溢出位标志,以进行下一次的计时中断 MOV R0,#0FFH MOV A,R0 ;判断定时时间倍数

51、是否为零 JZ LAB3 DEC R0;不是,将定时时间倍数减 LAB3:POP PSW;恢复原来年累加器和缓存器库 POP ACC RETI;中断指令返回 4、程序计时精确度的分析 MCS-51 系列单片机中的定时/计数器是加法计数器,每输入一个脉冲, 计数器加 1,当加到计数器为全 1 时,再输入一个脉冲时,就使计数器发生 溢出,溢出时,计数器回零,并置位 TCON 听 TF0 或 TF1,以表示定时时间 民到或计数值已满,向 CPU 发中断请求。 本软件设计中精确计时可以精确到 1us,也就是一个脉冲产生的计数值。 5、程序源代码 CONTACT BIT P1.7;继电器接 P1.7 口

52、 SPK BIT P1.6 ;蜂鸣器接 P1.6 口 ORG 0000H LJMP MAIN ORG 001BH ;定时器的中断执行程序的向量地址 LJMP TIMER40ms;跳至定时器中断程序的标名 MAIN: MOV SP,#60H;设堆栈指针 SETB TR1 SETB ET0 SETB EA SETB CONTACT;继电器控制脚高为高电平 LJMP Timer40msDelay;调用延时子程序 Timer40msDelay: MOV R0,#0FFH MOV A,R7 MOV R0,A LAB1: MOV R0,#0FFH MOV A,R0 ;判断定时时间倍数是否为零 JNZ LA

53、B1 LCALL TIMER40ms CLR CONTACT CLR SPK LJMP MAIN TIMER40ms:;计时中断程序 PUSH ACC; 将累加器和缓存器库存入堆栈内 PUSH PSW MOV PSW,#010H ; 设定缓存器库为第二个,以免改变原来的 R0R7 值 MOV TH1,#063H ;设定定时时间 40000us MOV TL1,#0C0H CLR TF1 ; 清除计时溢出位标志,以进行下一次的计时中断 MOV R0,#0FFH MOV A,R0 ;判断定时时间倍数是否为零 JZ LAB3 DEC R0;不是,将定时时间倍数减 LAB3: POP PSW;恢复原来

54、年累加器和缓存器库 POP ACC RETI;中断指令返回 END 3.3.编译软件的使用和编译过程 编译软件 KEIL 的使用: A: 编译软件的装载:这个软件不需要安装,只要复制到机子里就行。 B:双击快捷方式,进入编辑界面,进行下一步编辑(如图 3-2) 。 C点击 Project,新建一个工程,选择 CPU 厂商和型号后保存。 D. 新建一个源文件,保存为 ASM 文件。 E. 将其添加到工程中去,编写源程序。 F. 在 Option for Target 中选择生成 Hex 文件,再点击编译,系统自动进 行编译后提示编译中出现的问题,双击提示后系统会自动指出出问题的地 方,进行编辑之

55、后再编译,链接直到运行成功。 3.4.烧片 本设计的电路板没有烧写程序的功能,我是用另一个试验板烧写到单片机 上然后再插到自己的电路板上。烧片用的是广州天河双龙电子有限公司开发的 MCU 在线系统编程软件 SL ISP,它的使用方法如下: (1)先配置软件,选择 LPT1、AT89S51, 。 (2)导入预先编译好的 hex 文件。 (3)擦除芯片,然后烧制。 烧片时应注意的问题: (1)芯片的放置要真确,否则有可能造成芯片烧坏。 (2)配置芯片时要注意选对芯片型号。 (3)在烧片之前,应该先擦除芯片,防止芯片内原有遗留程序的影响。 图 3-2 KEIL 编译软件界 面 结 论 我所做的是基于单片机的精确计时的电

温馨提示

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

评论

0/150

提交评论