电子定时器讲解
课程设计报告 课程名称课程名称: :单片机原理及应用课程设计 设计题目设计题目:电子定时器 院院系:系:通信与控制工程 专专业:业:电子信息工程 班班级:级: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 ISP(In-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:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允 许8255与 CPU 进行通讯;/CS=1时,8255无法与 CPU 做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据 总线向 CPU 发送数据或状态信息,即 CPU 从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许 CPU 将数据 或控制字写入8255。 D0~D7:三态双向数据总线,8255与 CPU 数据传送的通道,当 CPU