1、1电子定时器的设计Electron timer design学生: xxxx 班级: xxxxx3 学号: 0xxx学部: xxx 专业: xx 指导老师: xxx 指导老师职称: xxxx 工作单位: xxxx 毕业设计(论文)完成时间自 2011 年 2 月至 2011 年 2 月2【摘要】随着时代的进步,电子行业的发展,定时器的应用也越来越广泛。但传统的定时器都是使用发条驱动式、电机传动式或电钟式等机械定时器。电子定时器相对产痛定时器来说,体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。本设计采用 AT89C2051 单片机为核心,阐述了系统工作原理,给出了
2、软件流程。该电子定时器满足对电器的电源进行控制,同时要方便用户对电子定时器的操作。最大时间能达到 30h,切最大精度可以到分钟关键词:定时器;单片机;AT89C2051;动态扫描;继电器3【Abstract】Progress , development of electron industry , the timer application are also more and more broad with the times. But, the tradition timer all is to use spring to drive machinery timers such as sty
3、le , electric motor drive style or electric clock style. Come the electron timer to say volume is small , weight is light , cost of construction is low , accuracy is high , life-span is long, and safety is reliable , adjust to be suitable for being frequently put into use conveniently relatively pai
4、nful timer of product. Have designed that the monolithic machine is core originally adopt AT89C2051 , have set forth system operating principle , have given a software out technological process. The power source go along being the electron timers turn to be satisfied with electrical equipment is con
5、trolled , is wants the convenience of customers operation to electron timer at the same time. Maximal time can reach 30 hs , by all means maximal accuracy can arrive at a minuteKeywords: Timer; Monolithic machine; AT89C2051; Development is scanned; Relay4目 录1 引言 .71.1 课题的来源和意义 .71.2 电子定时器的应用 .81.3 电
6、子定时器的发展前景 .82 51 单片机内部结构及计数原理 .82.1 51 单片机内部机构 .82.2 计数原理 .113 电子定时器的设计 .193.1 总体的设计要求 .193.2 系统硬件电路设计 .193.2.1 芯片的选择 .193.2.2 交流控制接口电路 .193.2.3 显示电路 .193.2.4 报警电路 .193.3 系统程序的设计 .203.3.1 主程序流程图 .204 重要元件及重要电路 .214.1 AT89C2051 的内部结构及功能和引脚说明 .214.1.1 AT89C2051 主要性能 .224.1.2 AT89C2051 的内部结构 .224.1.3 A
7、T89C2051 的引脚说明 .244.2 继电器 .264.2.1、电磁继电器的工作原理和特性 .264.2.2、继电器主要产品技术参数 .264.2.3、继电器的电符号和触点形式 .274.3 数码管 .284.3.1、数 码 管 的 分 类 .284.3.2、数码管的驱动方式 .285 软件设计 .295.1 伪定义 .295.2 中断入口 .305.3 主程序 .315.4 倒计时程序 .345.5 BCD 子程序(加 1 或减 1).355.6 加 1 程序 .365.7 调时快进程序 .375.8 功能菜单程序 .375.9 到点工作程序 .405.10 响铃程序 .425.11
8、显示程序 .435.12 无显示(灭灯)程序 .4555.13 延时程序 .455.14 ERR(出错处理)程序 .47结论 .48参考文献 .49致谢 .50附录 .5161 引言我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。完成这种定时的定时器有多种多样,在家用电器中采用机械定时器就是根据一般上弦钟表原理设计的,这种定时器虽然结构简单,成本低,维修也比较方便,但是它的触头频繁接触和断开,大大的缩减了它的使用寿命,也不利于进一步全自动化。在电子技术突飞猛进的今天,电子定时
9、器一定会逐步取而代之,这是不言而喻的。本文是基于 51 系列单片机设计的一种用于控制家用电器的设计方案。1.1 课题的来源和意义本课题是通过导师筛选提出的,电子设计课题不一定很大,只要通过亲手做一遍全过程,完成一个产品制作,收获是很大的。本课题的意义在于通过设计和制作本课题把在学校学习到的知识融会贯通并应用到实际当中。做到学有所成,学有所用。并且希望通过本设计为节能减排做出贡献。71.2 电子定时器的应用电子定时器在家用电器中经常用于延时自动关机、定时。延时自动关机可用于:收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。定时可用于:照相定时曝
10、光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。例如:空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机。方便节能。定时器除了应用于家用电器外,还广泛地用于工业农业生产和服务设施,甚至军事等。1.3 电子定时器的发展前景传统的定时器绝大多数都是发条驱动式、电机传动式或电钟式等机械定时器,部分电子器械中也有试用时间继电器的。相对于传统的定时器,电子定时器的体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。所以电子定时
11、器的发展必定大有前途。同时随着现代电子技术的发展,电子定时器也在不断的进步,朝向着更多用途、更高精度、更小体积发展着。例如:一个可编程电子定时器,它可以设置 20 组开、关电源设置,可以当时钟使用,还也可以按星期组合让它在一周内的任意一天或几天按设置程序工作。而且它只有长 12.5cm宽 5.5cm厚 5cm 大小。且它的功耗特别小只有3W。可以说是小巧玲珑,节能省电。2 51 单片机内部结构及计数原理2.1 51 单片机内部机构51 单片机内部有一个 8 位的 CPU,同时 CPU 内部包含了运算器,控制器及若干寄存器。8从上图中我们可以看到,在虚线框内的就是 CPU 的内部结构了,8 位的
12、MCS-51 单片机的 CPU 内部有数术逻辑单元 ALU(Arithmetic Logic Unit)、累加器 A(8 位)、寄存器 B(8 位)、程序状态字 PSW(8 位)、程序计数器PC(有时也称为指令指针,即 IP,16 位)、地址寄存器 AR(16 位)、数据寄存器 DR(8 位)、指令寄存器 IR(8 位)、指令译码器 ID、控制器等部件组成。1、运算器(ALU)的主要功能A)算术和逻辑运算,可对半字节(一个字节是 8 位,半个字节就是 4 位)和单字节数据进行操作。B)加、减、乘、除、加 1、减 1、比较等算术运算。C)与、或、异或、求补、循环等逻辑运算。D)位处理功能(即布尔
13、处理器)。由于 ALU 内部没有寄存器,参加运算的操作数,必须放在累加器 A 中。累加器 A 也用于存放运算结果。例如:执行指令 ADD A,B 执行这条指令时,累加器 A 中的内容通过输入口 In_1 输入 ALU,寄存器 B通过内部数据总线经输入口 In_2 输入 ALU,A+B 的结果通过 ALU 的输出口Out、内部数据总线,送回到累加器 A。2、程序计数器 PC9PC 的作用是用来存放将要执行的指令地址,共 16 位,可对 64K ROM 直接寻址,PC 低 8 位经 P0 口输出,高 8 位经 P2 口输出。也就是说,程序执行到什么地方,程序计数器 PC 就指到哪里,它始终是跟蹿着
14、程序的执行。我们知道,用户程序是存放在内部的 ROM 中的,我们要执行程序就要从 ROM 中一个个字节的读出来,然后到 CPU 中去执行,那么 ROM 具体执行到哪一条呢?这就需要我们的程序计数器 PC 来指示。程序计数器 PC 具有自动加 1 的功能,即从存储器中读出一个字节的指令码后,PC 自动加 1(指向下一个存储单元)。3、指令寄存器 IR指令寄存器的作用就是用来存放即将执行的指令代码。在这里我们先简单的了解下 CPU 执行指令的过程,首先由程序存储器(ROM)中读取指令代码送入到指令寄存器,经译码器译码后再由定时与控制电路发出相应的控制信号,从而完成指令的功能。关于指令在单片机内部的
15、执行过程,我们在后面将会以另一节课来进行详细的讲解。4、指令译码器 ID用于对送入指令寄存器中的指令进行译码,所谓译码就是把指令转变成执行此指令所需要的电信号。当指令送入译码器后,由译码器对该指令进行译码,根据译码器输出的信号,CPU 控制电路定时地产生执行该指令所需的各种控制信号,使单片机正确的执行程序所需要的各种操作。5、地址寄存器 AR(16 位)AR 的作用是用来存放将要寻址的外部存储器单元的地址信息,指令码所在存储单元的地址编码,由程序计数器 PC 产生,而指令中操作数所在的存储单元地址码,由指令的操作数给定。从上图中我们可以看到,地址寄存器 AR 通过地址总线 AB 与外部存储器相
16、连。6、数据寄存器 DR用于存放写入外部存储器或 I/O 端口的数据信息。可见,数据寄存器对输出数据具有锁存功能。数据寄存器与外部数据总线 DB 直接相连。7、程序状态字 PSW用于记录运算过程中的状态,如是否溢出、进位等。例如,累加器 A 的内容 83H,执行:ADD A,#8AH ;累加器 A 与立即数 8AH 相加,并把结果存放在 A 中。指令后,将产生和的结果为10DH,而累加器 A 只有 8 位,只能存放低 8位,即 0DH,元法存放结果中的最高位 B8。为些,在 CPU 内设置一个进位标志位 C,当执行加法运算出现进位时,进位标志位 C 为 1。108、时序部件由时钟电路和脉冲分配
17、器组成,用于产生微操作控制部件所需的定时脉冲信号2.2 计数原理80C51 单片机内部设有两个 16 位的可编程定时器/计数器。可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。在定时器/计数器中除了有两个 16 位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 定时器/计数器的结构: 从上面定时器/计数器的结构图中我们可以看出,16 位的定时/计数器分别由两个 8 位专用寄存器组成,即:T0 由 TH0 和 TL0 构成;T1 由 TH1 和 TL1 构成。其访问地址依次为 8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定
18、时或计数初值的。此外,其内部还有一个 8 位的定时器方式寄存器 TMOD 和一个 8 位的定时控制寄存器 TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD 主要是用于选定定时器的工作方式;TCON 主要是用于控制定时器的启动停止,此外 TCON 还可以保存 T0、T1 的溢出和中断标志。当定时器工作在计数方式时,外部事件通过引脚 T0(P3.4)和 T1(P3.5)输入。 定时计数器的原理: 16 位的定时器/计数器实质上就是一个加 1 计数器,其控制电路受软件控制、切换。 当定时器/计数器为定时工作方式时,计数器的加 1 信号由振荡器的 12 分频信号产生,即每过一个
19、机器周期,计数器加 1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。因一个机器周期等于 12 个振荡周期,所以计数频率 fcount=1/12osc。如果晶振为 12MHz,则计数周期为:T=1/(12106)Hz1/12=1s 这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如 8 位、13 位、16 位等)。 当定时器/计数器为计数工作方式时,通过引脚 T0 和 T1 对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的 S5P2 期间采样引脚输入电平。若一个机器周期采样值为 1,下一个机器周期采样值为 0,则计数器加1。此后的机器周期 S3P1 期间,新的计数值装入计数器。所以检测一个由 1 至