张杰文 李敬一
长沙格力暖通制冷设备有限公司 410600
摘 要:现如今,由于单片机技术种类越来越繁多,单片机的软件电路和硬件电路设计方法灵活性越来越高,而且完善程度越来越高等原因,因此单片机除了在单一的电子产品领域有较广的应用之外,在一些大型的产业界应用十分普遍。数字钟属于单片机中最为普遍的装置,由于具有灵敏的数字电路,进而达到计时目的;同时由于具备机械式手表无法比拟的精准度,而且直观性强以及寿命长等特点,所以应用比较广泛。
关键词:单片机;数字电子钟;硬件设计;软件设计
1 单片机的原理
MCS-51单片机作为一个有限的集成电路芯片,会对控制应用所需的基本内容进行整合。按功能划分时,MCS-51单片机的核心部件是CPU(微处理器),此外,除包含一些数据寄存器外,如RAM(数据存储)、ROM/EPROM(程序存储器)、SFR(特殊功能寄存器)等,其还包括一些列的数字控制系统,如串并行I/O端口、计时器/计数器以及中断系统等。它们都是一个单线总线,基本结构仍然是CPU和周边设备芯片的传统布局模式。但多种功能组件的控制是使用特殊功能寄存器(SFR)的中央控制方法。
1.2控制器
若想单片机执行相应的操作,则需要控制器对其进行控制。其主要作用如下:在接收到一些包含不同信息同时性质也不尽相同的指令时,控制器需首先对这些指令进行识别,然后识别程序操作完成之后,按照指令上的信息发出指令,控制单片机运转,对其中的每个部件都进行调节,使其运转井然有序。
单片机完成指令的各个过程都需要在控制器的监督下完成。最主要的内容是,将寄存的指令进行识别,然后拷贝这个指令,将其发送给寄存器,再将其发送到指令译码器译码,结果被发送到定时控制逻辑电路,控制信号和定时信号产生,然后发送到每个组成部分产生响应。以上即为一条指令的整个执行过程,而程序执行必须连续地重复此过程。控制器的组成部件主要包括两个逻辑电路,如时序控制和条件转移两种电路,此外,还需要一个编码器件,即指令译码器,两个寄存器,对程序地址和指令进行存储,最后,一个程序计数器也是必须的。
1.3 存储器
对于MCS-51单片机来说,其存储器上具有两个截然不同的区域,一为存储数据,二为存储程序,各自的控制系统、寻址空间和寻址方式不同,形成了哈佛结构。
此结构非常方便,有利于单片机控制方向的实际应用。8051/8751单片机除包含容量一定的特殊功能寄存器、数据及程序存储器,还包含一个扩展性非常强的外部存储器,有利于后续的寻址(最高64KB)和接下来的操作。下面是MCS-51存储器的简单分类:
(1)程序存储器
正是由于一些固定常数,如应用程序和调试表等已经在程序储存器中有所显示,单片机的运行才能够有条不紊。归根结底,二进制代码是程序的本质,因此对于存储程序来说,也包括片外和片内两个区域。因为8031没有内部存储器,它存放程序时只能对程序存储器进行进一步扩展操作。
单片机进行复位以后,0000H 代表程序存储器,进而若想使得程序继续执行下去,来自0000H单元的指令是不可或缺的。所以,基于此,就可认为该地址是起始地址。通常情况下,绝对跳转这一指令的存放地址为指令单元,以切换到用户设计的主程序起始地址。
(2)数据存储器
该单片机包含数据存储器,即一个128字节的RAM,可对规定任务进行完成,可以作为数据缓冲器来解决问题。
对于MCS-51单片机来说,00H-7FH为其片内存储器字节地址。为使用户界面更为简洁,MCS-51单片机RAM包含颇多操作指令。其包含四组通用寄存器,每组包含八个8位器,地址为R7~R0,共32单元,主要位于00H~1FH。在接收到相应的指令后,可随意转换RS0和RS1,二者均位于PSW中,然后更改区域,该功能使得软件设计变得极为简单,尤其是中断嵌套的时候,保证了工作寄存器字段内容的保护。
(3)特殊功能寄存器
特殊功能寄存器又称SFR,具有综合性和完整性,是包括功能部件以及控制寄存器在内的单片机系统运行方式和状态的一个缩影。其字节地址处于80H-FFH的范围,属功能特殊的RAM。对于一个单片机来说,其一共包含一百二十八个字节,其中有二十一个SFR,互相分离,不不干涉,而在这之中的某些SFR还具有按位寻址的功能。但是对于那些剩下的未定义的字节来说,其地址单元不可用做寄存器。若对其访问,输出是无序的。
1.4时序和时钟电路
时钟信号由时钟电路产生。MCS-51本质上属于同步的时序电路,其过程并不简单,若想使运行是同步的,在运行的时候,就需对信号进行严格遵守。在这个过程中,时序是执行指令中不同信号之间的关系。
指令执行过程中,第一步,CPU接受操作码并对其进行解码,时钟电路发出信号,执行完毕。处理器的同步信号包含如下两类,第一类主管片内,包含丰富的信号。第二类主管I/O口和片外,对硬件接口电路的设计和分析具有重要意义。同时也是单片机应用系统设计者共同关注的方向。
第3章 数字钟的硬件设计
3.1 外接晶体引脚
晶振器包含XTAL2和XTAL1两个端口在内的反相放大器输出和输入端,在晶振器外部工作时,架空XTAL2,信号施加于XTAL1上。在晶振器内部时,振荡频率需对半减掉,举例来说,时钟频率为6MHz时,相应的晶振器为12MHz。晶体振荡器的频率可选择在1兆赫至24兆赫之间。电容约为30 PF。时钟电路属于片内设计。AT89包含高增益反相器放大器,其输出和输入分别为XTAL2和XTAL1,其产生一个自激振荡器,以芯片外部的晶体外谐振器作为反馈元件。该外部器件再加上C1~C2两个电容器,就是并联谐振电路,然后将其反馈给放大器。外电容的值并非确切值,但其值会决定振荡器的起振速度、稳定程度和频率大小。进而,在晶振器频率为12兆赫的情况下,需要尽力去选择电容为22μF左右的陶瓷电容器。当对电路板进行焊接时,为使寄生电容减少,电容器和晶体振荡器应尽量靠近单晶片,从而使振荡器的可靠性和稳定性得到保证。
3.2复位RST9
振荡器运行过程中,此段中出现高于24个振荡周期(两个机器周期)的电平,从而重置单片机,51芯片将在此引脚电平一直为高位状态的情况下循环复位,此后,所有P0~P3端口电平被定义为高, SFR和程序计数器上的数据被格式化。复位引脚变为低位,执行地址为ROM的00H。通过外部复位电路完成复位。对于内部复位来说,一个可降低噪声的斯密特触发器作为中间媒介,沟通了引脚和复位电路,在输出过程中,依靠各周期S5P2复位电路进行信号采集。其包含按钮和自动上电复位两大类。本系统亦如此。当时钟频率为6MHz时,Rk在1K左右,Rs在200Ω 左右,此时C为22μF 。复位操作不影响内部RAM。
第4章 数字钟的软件设计
内部软件开发其实亦是工具模块有关技术的开发。单片机的开发通常涉及实施功能(实现不同实用技术操作)的开发及监控模块的开发。一般,单片机的开发需结合下述几个角度去开展:
(1)结合软件实际技术需求,把内部组成分成几个单一的模块,开发科学的整体架构,保证软件逻辑明确、开发步骤便捷、科学;
(2)塑造健康的编程环境,包括分区化程序开发、版块调整及附属程序开发等。如此在方便测试、关联的同时,易于调整及完善;
(3)形成合理的数学方程,借助仿真技术强化内部功能,同时使用恰当的指标数值;
(4)形成步骤技术路线图;
(5)科学配置内部资源;
(6)给相关步骤添加备注描述,便于用户理解和软件安装使用;
(7)考虑软件的防入侵功能开发,强化内部耐用性;
参考文献
[1]商屹.单片机原理及接口技术[M].北京:清华大学出版社,2019
[2]赵娟.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,2018
[3]孙宝民.单片微型机原理、应用与实践[M].上海:复旦大学出版社,2016
[4]翟志华.单片机原理及接口技术[M].北京:清华大学出版社,2015