电子定时器讲解
课程设计报告 课程名称课程名称 单片机原理及应用课程设计 设计题目设计题目电子定时器 院院系系通信与控制工程 专专业业电子信息工程 班班级级0902 学生姓名学生姓名 学学号号 起止日期起止日期 指导教师指导教师 教研室主任教研室主任 指导教师评语指导教师评语 指导教师签名年月日 成成 项项目目权重权重 0.2 0.5 0.3 成绩成绩 绩绩 1、设计过程中出勤、学习态度等方面 评评 定定 2、课程设计质量与答辩 3、设计报告书写及图纸规范程度 总成绩 教研室审核意见 教研室主任签字年月日 教学系审核意见 主任签字年月日 摘要 单片机自 1976 年由 Intel 公司推出 MCS-48 开始,迄今已有二十多年了。由于单片 机集成度高、功能强、可靠性高、 体积小、功耗地、使用方便、价格低廉等一系列优点, 目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。随着电子技 术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使 用起来很不方便。根据这种实际情况,本设计基于单片机的多用途定时器。它造价低, 功能全,整体功能价格比高,配以小键盘,8255 芯片和 LED 显示器,有可适应各种场 合的定时预警之用的特点。 关键词电子定时器;单片机;LED 显示器;小键盘;8255 芯片;继电器 目录 设计要求 1 1 方案论证与对比 1 1.1 方案一 1 1.2 方案二 1 1.3 方案对比与选择 1 2 系统硬件电路的设计 2 2.1 芯片的选择 2 2.2 STC89C52 引脚功能 3 2.3 8255 芯片 3 2.4 8255 芯片引脚功能 4 2.5 复位电路 5 2.6 数码管显示电路 6 2.7 继电器 6 3 系统软件的程序设计 7 3.1 软件程序内容 7 3.2 主程序流程图 7 3.3 定时程序设计 7 3.4 实时时钟程序设计步骤 8 3.5 程序说明 8 4 详细仪器清单 9 6 参考文献 9 5 总结与思考及致谢 10 附录一原理图 12 附录二程序 13 电子定时器 设计要求 本课题以单片机为核心,设计并制作电子定时器,具有以下功能 1、电子定时器能定时给电器供电或断电; 2、给电最大时间可以长达 2min; 3、四位数码管显示时间; 4、继电器作电器电源输出控制。 1 方案论证与对比 1.1 方案一 为了实现 LED 数码管的数字显示,采用静态扫描实现,此方法操作复杂,并且一 个端口只能对应一个数码管。 1.2 方案二 采用动态扫描实现 LED 数码管的数字显示,能有效的节省端口资源,并且操作也 相对简单。系统总体设计框图如图 1 所示 STC89C52 8 2 5 5 芯 片 按键开关 继电器 单片机 控制器 6位LED显 示器 图 1 系统总体设计框图 1.3 方案对比与选择 根据以上方案的介绍与对比,显然选择方案二。 1 2 系统硬件电路的设计 2.1 芯片的选择 STC89C52RC 是一个低功耗,高性能 CMOS 8位单片机,片内含4k Bytes ISPIn-system programmable的可反复擦写1000次的 Flash 只读程序存储器,器件采用 STC 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51指令系统及80C51引脚 结构。 STC89C52RC 具有如下特点40个引脚(引脚图如图2所示) ,4k Bytes Flash 片内程 序存储器,128 bytes 的随机存取数据存储器(RAM) ,32个外部双向输入/输出(I/O) 口, 5个中断优先级2层中断嵌套中断, 2个16位可编程定时计数器,2个全双工串行通信口, 看门狗(WDT)电路,片内时钟振荡器。 此外,STC89C52RC 设计和配置了振荡频率可为0Hz 并可通过软件设置省电模式。 空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作, 掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复 位。同时该芯片还具有 PDIP、TQFP 和 PLC 等三种封装形式,以适应不同产品的需求。 图 2 芯片引脚图 2 2.2 STC89C52 引脚功能 VCC(40) +5V; GND(20) 接地; P0口(39-32) P0口为8位漏极开路双向 I/O 口,每引脚可吸收8个 TTL 门电流; P1口(1-8) P1口是从内部提供上拉电阻器的8位双向 I/O 口,P1口缓冲器能接收 和输出4个 TTL 门电流; P2口(21-28) P2口为内部上拉电阻器的8位双向 I/O 口,P2口缓冲器可接收和输 出4个 TTL 门电流; P3口 (10-17) P3口是8个带内部上拉电阻器的双向 I/O 口, 可接收和输出4个 TTL 门电流,P3口也可作为 AT89C51的特殊功能口; RST(9) 复位输入。当振荡器复位时,要保持 RST 引脚2个机器周期的高电平时 间; ALE/PROG(30) 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的低位字节,在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变 的频率周期输出正脉冲信号, 此频率为振荡器频率的1/6, 它可用作对外部输出的脉冲或 用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个 ALE 脉冲; PSEN(29) 外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机 器周期2次 PSEN 有效, 但在访问外部数据存储器时, 这2次有效的 PSEN 信号将不出现; EA/VPP(31) 当 EA 保持低电平时,外部程序存储器地址为(0000H-FFFFH) 不管是否有内部程序存储器。 FLASH 编程期间, 此引脚也用于施加12V 编程电源 (VPP) ; XTAL1(19) 反向振荡器放大器的输入及内部时钟工作电路的输入; XTAL2(18) 来自反向振荡器的输出; 2.3 8255 芯片 单片机系统里常用的8255芯片是一个典型的可编程通用并行接口芯片, 用来扩展单 片机的端口,它具有三个8位的并行口,有三种工作方式,可作为单片机与各种外部设 备连接的接口电路。 3 图 3 芯片引脚图 2.4 8255 芯片引脚功能 RESET复位输入线, 当该输入端处于高电平时, 所有内部寄存器 (包括控制寄存器) 均被清除,所有 I/O 口均被置成输入方式。 CS芯片选择信号线,当这个输入引脚为低电平时,即/CS0时,表示芯片被选中,允 许8255与 CPU 进行通讯;/CS1时,8255无法与 CPU 做数据传输. RD读信号线,当这个输入引脚为低电平时,即/RD0且/CS0时,允许8255通过数据 总线向 CPU 发送数据或状态信息,即 CPU 从8255读取信息或数据。 WR写入信号,当这个输入引脚为低电平时,即/WR0且/CS0时,允许 CPU 将数据 或控制字写入8255。 D0~D7三态双向数据总线,8255与 CPU 数据传送的通道,当 CPU