logo资料库

单片机课程设计——定时闹钟的设计(汇编).doc

第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
资料共29页,剩余部分请下载后查看
1 概述
1.1设计目的
1.2设计任务
1.3设计系统的主要功能
2 系统总体方案及硬件设计
2.1 系统总体方案
2.2系统设计方框图
2.3硬件设计
2.3.1芯片:AT89C51
2.3.2喇叭:SPEAKER
2.3.3时钟电路
2.3.4显示器模块的设计
3 软件设计
3.1划分模块
3.2程序流程图
3.3模块程序
3.3.1时间的设置程序
3.3.2闹钟时间的设置程序
3.3.3喇叭响应程序
3.4数码显示
4 proteus软件仿真
5 课程设计体会
参考文献
附1:源程序代码
附2:系统原理图
摘要 本设计是基于单片机的定时闹钟设计。单片机是在一块半导体芯片上集成了 CPU、存储器以及输入和输出接口电路的微型计算机;其集成度高、功能强、通 用性好,特别是它具有体积小、重量轻、能耗低、价格便宜、抗扰、能力强和使 用方便等特点。它不仅仅是一项技术性上的突破,同时也是对能源方面的有效节 约与有效利用,因此深受国家有关技术部门和能源部门的重视和支持。其组合而 成的配件产品在日常生活的使用过程中非常方便、简单且实用,深受着广大消费 者的喜爱,从而使单片机技术在社会中得到了广泛的发展和应用。目前,已成为 测量控制应用系统中的优选机种和新电子产品的关键部件。特别是 20 世纪 70 年 代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展 很快,推广率高,市场利润率高。而 51 单片机是各单片机中最为典型和最有代 表性的一种。 本次设计的定时闹钟在硬件方面就采用了 AT89C51 芯片,用 6 位 LED 数码管 来进行显示。LED 用 P0 口进行驱动,采用的是动态扫描显示,能够比较准确显 示时时—分分—秒秒。通过 S1、S2、S3、和 S4 四个功能按键可以实现对时间的 修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。 整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系 统仿真后得到了正确的结果。
目录 1 概述........................................................................................................................... 1 1.1 设计意义...........................................................................................................1 1.2 设计任务...........................................................................................................1 1.3 设计系统的主要功能.......................................................................................1 2 系统总体方案及硬件设计....................................................................................... 2 2.1 系统总体方案...................................................................................................2 2.2 系统设计方框图.................................................................................................2 2.3 硬件设计.............................................................................................................2 2.3.1 芯片:AT89C51........................................................................................... 2 2.3.2 喇叭:SPEAKER............................................................................................. 5 2.3.3 时钟电路..................................................................................................... 5 2.3.4 显示器模块的设计..................................................................................... 5 3 软件设计................................................................................................................... 7 3.1 划分模块.............................................................................................................7 3.2 程序流程图.........................................................................................................7 3.3 模块程序.............................................................................................................8 3.3.1 时间的设置程序......................................................................................... 8 3.3.2 闹钟时间的设置程序............................................................................... 10 3.3.3 喇叭响应程序........................................................................................... 12 3.4 数码显示...........................................................................................................13 PROTEUS 软件仿真................................................................................................ 14 5 课程设计体会......................................................................................................... 16 参考文献..................................................................................................................... 16 附 1:源程序代码...................................................................................................... 17 附 2:系统原理图...................................................................................................... 26 4
1.1 设计目的 1 概述 本设计是一个定时闹钟,它仅使用单片的 20 引脚单片机完成闹钟的全部功 能。设计目的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入 的理解,学会独立思考、独立思考、独立工作,以及提高对所学应用基本理论分 析和解决实际问题的能力。 1.2 设计任务 本文设计的定时闹钟采用 AT89C51 芯片,用汇编语言进行编程,时、分、秒 用 6 位 LED 数码管显示。在电路中通过四个按键 S1、S2、S3 和 S4 来进行定时和 调时,定时时间到通过喇叭发出报警声。 1.3 设计系统的主要功能 · 能显示 时时-分分-秒秒。 · 能够设置定时时间、 修改定时时间。 · 到定时时间能发出报警声。 1
2 系统总体方案及硬件设计 2.1 系统总体方案 1)由于要显示数字时间,所以需要 6 位数码管。 2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过 喇叭发出。 3)AT89C51 单 片 机 加 上 外 围 器 件 ( 数 字 显 示 器 7SEG-MPX6-CC-BLUE , RESPACK-8 排阻和 SPEAKER 喇叭)和应用程序(ISIS 6 Professional 软件和 WAVE6000 编译软件),构成相应的应用系统。 2.2 系统设计方框图 如图 1 所示 晶振 及复位 键盘 (按钮) 2.3 硬件设计 2.3.1 芯片:AT89C51 单片机 AT89C51 RESPACK-8 7SEG-MPX6 -CC-BLUE 数码管显示 SPEAKER 喇叭 图 1 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,可稳定地工作于 5V 的电源下.该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准 的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合 在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器. AT89C51管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1 2
口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口, 当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输 出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部 下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校 验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出 4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的 缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位 地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门 电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电 平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 3
的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端 以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作 对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信 号将不出现。 /EA/VPP : 当 /EA 保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器 (0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部 锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期 间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 如图 2 所示 图 2 4
2.3.2 喇叭:SPEAKER 由 P3.7 口控制喇叭,使其定时时间到能发出报警声。 2.3.3 时钟电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中 AT 89C51 单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容 组成的并联谐振回路。振荡晶体可在 1.2MHz~12MHz 之间。电容值无严格要求, 但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一 般可在 20pF~100pF 之间取值。AT98C51 单片机的时钟电路。如图 3 所示 XTAL2 AT89C51 XTAL1 C1 30PF C2 30PF JZ 12M 图 3 上拉电阻:RESPACK-8 控制按键:BUTTON ACTIVE SPST PushButton 本系统要进行时间的调整和定时,因此用 4 个手动按键对其进行控制。 2.3.4 显示器模块的设计 利用7SEG-MPX6-CC-BLUE数字显示器的1-6引脚连接AT89C51单片机 P2.0 –P2.5接口,其他8个引脚分别与AT89C51单片机的P0.0 - P0.7和共阳极管 RESPACK-8排阻的 2 - 9 引脚分别连接。 数码管:7SEG-MPX6-CC-BLUE 单片机中通常使用 7 段 LED,LED 是发光二极管显示器的缩写。LED 显示器 由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应 速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED 显示器 5
分享到:
收藏