一个基于单片机精确计时的电源开关程序的设计与实现.docx
- 文档编号:8393514
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:24
- 大小:161.67KB
一个基于单片机精确计时的电源开关程序的设计与实现.docx
《一个基于单片机精确计时的电源开关程序的设计与实现.docx》由会员分享,可在线阅读,更多相关《一个基于单片机精确计时的电源开关程序的设计与实现.docx(24页珍藏版)》请在冰豆网上搜索。
一个基于单片机精确计时的电源开关程序的设计与实现
一个基于单片机精确计时的电源开关控制程序的设计与实现
摘要
由于精确计时在当前工业控制,日常生活等领域有广泛应用,本设计采用MCS-51系列单片机为核心器件,辅以相应的外围电路,设计制作出了基于单片机的精确计时控制硬件系统,并通过继电器外接被控制端,可以实现用较小的电流去控制较大电流的目的。
在硬件系统的基础之上进行软件的设计,以进行精确延时。
在硬件方面,除了单片机外,使用四个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS14芯片进行驱动。
软件方面采用汇编语言编程,使用SLISP软件进行在线的程序烧写,涉及了单片机的定时和中断的使用。
关键词:
单片机;精确计时;继电器;电路
TheDesignandImplementationofaPowerSwitchControlProcedureBasedonaPreciseTimeControlofMCU
Abstract
Precisetimecontroliswidelyappliedintheindustrialcontrol,andsomeotherareasofourdailylifeatpresent.ThisdesignutilizestheMCS-51microcontrollerasthecorecomponents,andsomeexternalperipheralcircuits.Themicrocontrollerhasbeendesignedbasedontheprecisetimecontrolhardwaresystem,andcontactedthecontrolleddevicewithaRelay.Itcanbeachievedthatrelativelysmallcurrentcouldcontrolalargercurrent.Thesoftwareisdesignedbasedonthehardwaresystemtoimplementprecisedelay,andfourLEDdigitaltubeseachofwhichhassevensectionsareusedtodisplaytimeinformation.TheLEDequipmentisprogrammedbydynamicscanningandusesthe74LS14ICchipasthedriver.Thesystemisdevelopedintheassemblelanguage;theprocedureisprogrammedwiththeSLISPsoftwareandisconcernedwiththetimingfunctionofMCUandtheuseofinterrupt.
Keywords:
MCU;precisetimecontrol;Relay;circuit
目录
1.引言1
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
1.2.MCS-51系列单片机介绍3
1.2.1. 基本特性3
1.2.2. 引角功能5
1.2.3. 汇编语言简介7
2.系统硬件设计8
2.1.设计方案8
2.2.硬件设计电路框图8
2.3.机型及器件选择9
2.3.1 单片机的选择9
2.3.2 时钟电路的设计9
2.3.3 复位电路的设计10
2.3.4 LED显示电路设计与器件选择10
2.3.5 按键电路设计与器件选择12
2.3.6 蜂鸣器电路的设计13
2.3.7 继电器电路的设计14
2.4.硬件设计电路原理图14
2.5.硬件的调试15
3.软件设计15
3.1.程序流程图15
3.2.程序设计具体实现16
3.3.编译软件的使用和编译过程18
3.4.烧片18
3.5.系统测试19
结论19
参考文献20
致谢21
声明22
1.引言
1.1.课题背景
1.1.1.单片机概述
单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。
单片机一词最初是源于“SingleChipMicrocomputer”,简称SCM。
随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。
国际上逐渐采用“MCU”(MicroControllerUnit)来代替,形成了单片机界公认的、最终统一的名词。
为了与国际接轨,以后应将中文“单片机”一词和“MCU”唯一对应解释。
在国内因为“单片机”一词已约定俗成,故而可继续沿用。
1.1.2.单片机的产生和发展历史
单片微型计算机是随着微型计算机的发展而产生和发展的。
自从1975年美国德克萨斯仪器公司的第一台单片微型计算机(简称单片机)TMS-1000问世以来,迄今为止,单片机技术已成为计算机技术的一个独特分支,单片机的应用领域也越来越广泛,特别是在工业控制中经常遇到对某些物理量进行定时采样与控制的问题,在仪器仪表智能化中也扮演着极其重要的角色。
如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:
第一阶段(1976—1978):
单片机的探索阶段。
以Intel公司的MCS-48为代表。
MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。
都取得了满意的效果。
这就是SCM的诞生年代,“单片机”一词即由此而来。
第二阶段(1978—1982):
单片机的完善阶段。
Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。
它在以下几个方面奠定了典型的通用总线型单片机体系结构。
1.完善的外部总线。
MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。
2.CPU外围功能单元的集中管理模式。
3.体现工控特性的地址空间及位操作方式。
4.指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
第三阶段(1982—1990):
8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。
Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。
第四阶段(1990—):
微控制器的全面发展阶段。
随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
1.1.3.单片机的发展趋势
目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。
随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。
1.1.4.单片机的主要特点
单片机主要有如下特点:
1.有优异的性能价格比。
2.集成度高、体积小、有很高的可靠性。
单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。
另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
3.控制功能强。
为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。
单片机的逻辑控制功能及运行速度均高于同一档次的微机。
4.低功耗、低电压,便于生产便携式产品。
5.外部总线增加了I2C(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式,进一步缩小了体积,简化了结构。
6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。
1.1.5.单片机的应用
由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。
它的应用遍及各个领域,主要表现在以下几个方面:
1.单片机在智能仪表中的应用
2.单片机在机电一体化中的应用
3.单片机在实时控制中的应用
4.单片机在分布式多机系统中的应用
5.单片机在人类生活中的应用
单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。
这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。
A:
由单片机组成控制器的结构和特点:
单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型计算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM)和各种功能I/O接口集成在一块芯片上的单芯片微型计算机(SingleChipMicroComputer),简称单片机.由于它的结构与指令功能都是按工业控制要求设计的,且近年来单片机着力扩展了各种控制功能如A/D、PWM等,因此我们更多时候称其为一个单片形态的微控制器(SingleChipMicroController),或直接称其为微控制器(MicroController)。
B:
用单片机组成的微机控制系统具有以下特点:
1.受集成度限制,片内存储器容量较小,一般片内ROM小于4—8K字节,片内RAM小于256字节;但可在外部进行扩展,如MCS—51系列单片机的片外可擦可编程只读存储器(EPROM)、静态随机存储器(SRAM)可分别扩展至64K字节。
2.可靠性高。
单片机芯片本身是按工业控制环境要求设计的,其抗工业噪声的能力优于一般通用CPU;程序指令及其常数、表格固化在ROM中不易被破坏、常用信号通道均在一个芯片内,故可靠性高。
3.易扩展。
片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展用的总线及并行、串行输入/输出端口,很容易构成各种规模的微机控制系统。
4.控制功能强。
为了满足工业控制要求,单片机的指令系统中有极丰富的条件分支转移指令、I/O口的逻辑操作以及位处理功能。
一般来说,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。
5.一般的单片机内无监控程序或系统管理软件,软件开发工作量大。
但近年来已开始出现了片内固化有BASIC解释程序及FROTH操作系统的单片机,使单片机系统的开发提高了一个新水平。
此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。
特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。
如数控机床就是典型实例。
近年来,单片机发展极快,其产量占微机产量的70%以上。
目前,至少有50个系列400余种机型,性能和结构各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列单片微型计算机。
国内普及的几乎都是INTEL公司的产品。
1.1.6.单片机的主要生产厂家和机型
(1)美国INTEL公司MCS-48、MCS-51、MCS-96系列及其增强型、扩展型系列产品;
(2)美国ATMEL公司AT89系列产品,如89C51、89C52、89C55等;
(3)荷兰PHILIPS(飞利浦)公司8×C552系列;
(4)美国MOTOROLA公司的6801、6802、6803、6805、68HC11系列产品;
(5)美国Zilog公司的Z8、Super8系列产品;
上述产品既有很多共性,又各具有一定的特色,因而在国际市场上都占一席之地。
根据近年来国外实地考察,INTEL公司的单片机在市场上占有量为67%,其中MCS-51系列产品又占54%。
在我国虽然上述公司的产品均有引进,但由于各种原因,至今我国所应用的单片机仍然是以MCS-48、MCS-51、MCS-96系列为主流。
1.2.MCS-51系列单片机介绍
1.2.1.基本特性
MCS-51单片机采用的是冯·诺伊曼提出的经典计算机体系结构框架,即一台计算机是由运算器、控制器、存储器、输入设备和输出设备共五个基本部分组成。
MCS-51单片机在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等。
MCS-51单片机的系统结构框图如下图所示。
图1MCS-51单片机的系统结构框图
由图1可以看出,单片机内部主要包含下列几个部件:
一个8位CPU,片内有振荡器和时钟电路,工作频率为1~12MHz(Atmel89Cxx为0~24MHz);
一个时钟电路;
4Kbyte程序存储器ROM;
128byte数据存储器RAM;
两个16位定时/计数器;
64Kbyte扩展总线控制电路;
四个8-bit并行I/O端口;
一个可编程串行接口;
五个中断源,其中包括两个优先级嵌套中断。
图2MCS-51系列单片机的内部结构
1.2.2.引角功能
图3单片机引脚图
MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图(图表3):
P0.0~P0.7P0口8位双向口线(在引脚的39~32号端子)。
P1.0~P1.7P1口8位双向口线(在引脚的1~8号端子)。
P2.0~P2.7P2口8位双向口线(在引脚的21~28号端子)。
P3.0~P3.7P2口8位双向口线(在引脚的10~17号端子)。
P0口有三个功能:
1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)
2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)
3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:
其内部有上拉电阻。
P2口有两个功能:
1、扩展外部存储器时,当作地址总线使用
2、做一般I/O口使用,其内部有上拉电阻;
P3口有两个功能:
除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,
即:
编程脉冲:
30脚(ALE/PROG)
编程电压(25V):
31脚(EA/Vpp)
ALE/PROG地址锁存控制信号:
在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。
(在后面关于扩展的课程中我们就会看到8051扩展EEPROM电路,在图中ALE与74LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。
ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器。
当ALE是低电平时,P0口上的内容和锁存器输出一致。
在没有访问外部存储器期间,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。
从这里我们可以看到,当系统没有进行扩展时ALE会以1/6振荡周期的固定频率输出,因此可以做为外部时钟,或者外部定时脉冲使用。
PORG为编程脉冲的输入端:
在第五课单片机的内部结构及其组成中,我们已知道,在8051单片机内部有一个4KB或8KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?
实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。
PSEN外部程序存储器读选通信号:
在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。
1、内部ROM读取时,PSEN不动作;
2、外部ROM读取时,在每个机器周期会动作两次;
3、外部RAM读取时,两个PSEN脉冲被跳过不会输出;
4、外接ROM时,与ROM的OE脚相接。
参见图2—(8051扩展2KBEEPROM电路,在图中PSEN与扩展ROM的OE脚相接)
EA/VPP访问和序存储器控制信号
1、接高电平时:
CPU读取内部程序存储器(ROM)
扩展外部ROM:
当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。
2、接低电平时:
CPU读取外部程序存储器(ROM)。
在前面的学习中我们已知道,8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。
3、8751烧写内部EPROM时,利用此脚输入21V的烧写电压。
RST复位信号:
当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。
XTAL1和XTAL2:
外接晶振引脚。
当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
VCC:
电源+5V输入
VSS:
GND接地。
1.2.3.汇编语言简介
汇编语言是计算机提供给用户的最快最有效的语言,也是利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而在对于程序的空间和时间要求很高的场合,汇编语言是必不可少的。
至于对于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可。
采用高级语言编写的程序,机器是不能直接执行的,需要由编译程序或解释程序将它翻译成对应的机器语言程序,机器才能接受。
而这种机器语言程序往往比较冗长,占用存贮空间较大,执行起来速度慢,且无法直接利用机器硬件系统的许多特性,如寄存器,标志位等。
汇编语言是介于计算机能直接理解的机器语言与使用者容易理解的高级语言之间的一种语言。
它除有与代码指令一一对应的符号指令外,还增加了专用于定义变量、常量、符号、过程、分配存贮空间、定位程序起始地址等一系列称之为伪指令的符号指令。
2.
系统硬件设计
2.1.设计方案
1、选择DS1307芯片作为系统的时钟/日历,当前时间可从DS1307芯片中读出
2、系统显示采用8位LED数码管。
LED数码管的段码输入由P0产生、位码输入由P2产生
3、时间调整与定时时间的输入通过接入键盘电路实现。
设计4个键,分别定义为:
(1)SET键(时间调整设置键):
其功能是当该键按下时,进入时间调整功能
(2)ALM键(定时时间设置键):
其功能是当该键按下时,进入定时时间输入功能
(3)+1键:
其功能是当该键按下时,被调整位加一
(4)RET键:
其功能是当该键按下时,指向下一个要调整的位
4、按键的接入方式:
(1)SET键:
通过P3口INT0引角接入,中断工作方式
(2)ALM键:
通过P3口INT1引角接入,中断工作方式
(3)+1键:
通过P3口P3.0引角接入,查询工作方式
(4)RET键:
通过P3品P3.1引角接入,查询工作方式
5、报警声响用蜂鸣器产生,蜂鸣器接入P1口的P1.6脚
6、外部电源的通断用小型中功率电磁继电器JZC_23F来完成这个功能,继电器触点的断开与接通,通过P1口的P1.7脚控制
2.2.硬件设计电路框图
根据设计方案,硬件电路设计框图如下图所示:
硬件电路结构由8个部分组成:
按键输入电路、时钟与复位电路、蜂鸣器电路、LED显示器及驱动电路、继电器电路和时钟/日历电路组成。
图4硬件设计电路框图
2.3.机型及器件选择
2.3.1单片机的选择
在此选择ATMEL公司生产的型号为AT89S51的单片机。
该单片机与MCS-51系列单片机完全兼容,是ATMEL公司最新推出的替代AT89C51系列的新款机型,比AT89C51系列又增加了WTD、ISP等功能,物美价廉,经济实用,并且使用起来更加方便。
2.3.2时钟电路的设计
单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL0和XTAL1两个引角之间,接一只晶振及两只电容就构成了单片机的时钟电路。
如图5所示:
图5 时钟电路
电路中,电容器C1和C2可以对晶振有微调作用,通常的取值范围是30±10pF;晶振选择12MHz。
2.3.3复位电路的设计
单片机的RST引脚为主机提供一个外部复位信号输入端口。
复位信号是高电平有效,
高电平的持续时间应为2个机器周期以上。
复位以后,单片机内各部分恢复到初始状态,单片机从ROM的0000H开始执行程序。
单片机的复位方式有上电复位和手工复位两种,图6是51系列单片机常用的上电复位和手动复位组合电路,只要VCC上升时间不超过1ms,它们都能很好的工作。
阻容器件的值如图表6所示,即R1=200Ω,R2=1kΩ,C3=22uF。
图6复位电路
2.3.4LED显示电路设计与器件选择
单片机的应用系统中,通常都要进行人-机对话。
这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。
显示器、键盘电路就是用来完成人—机对话的人-机通道。
LED显示器的驱动是一个非常重要的问题,由系统硬件设计框图可知,显示电路由LED显示器、段驱动电路和位驱动电路组成。
由于单片机的并行口不能直接驱动LED显示器,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能够正常工作。
如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。
因此,在实际应用中必须接入LED驱动电路。
LED的显示方式选择动态显示,要同时考虑位和段的驱动能力,而且段的驱动能力决定位的驱动能力。
1、LED显示器的选择
在应用系统中,设计要求不同,使用的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、LED段驱动芯片的选择
在本设计中,选择BCD-7段锁存/译码/驱动器做为段驱动电路。
74LS48具有锁存、译码、驱动的功能。
即在输入端输入要显示的字型的BCD码,在输出端就可以得到具有一定驱动能力的7段显示字型码。
图7 74LS48引脚
图7给出了74LS48的引脚图。
引脚图中大写字母A、B、C、D为BCD码的输入端,小写字母a、b、c、d、e、f、g为字型码输入端,LT为灯测试输入端,BI为消隐输入,RBO为消隐输出。
下表给出了74LS48BCD-7段锁存/译码/驱动器的输入与输出信号的对应关系。
在使用时,将该芯片的输入端引脚A、B、C、D与单片机的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 基于 单片机 精确 计时 电源开关 程序 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)