单片机倒计时器设计说明书.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机倒计时器设计说明书 1.设计方案简介 (1)4个按键组成2*2矩阵形式,接到P3口。其中SW4接P3.6口,SW5接P3.7。 (2)通过T0定时器与P2.3引脚配合构成音频发生器,在P2.3引脚输出音频频率。 2.设计流程图 3.设计原理 3.1 AT89C51 3.1.1 AT89C51单片机简介 图(a) 89C51内部结构图 AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。 与EEPROM相比较,FPEROM大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。它还有128*8Bit的片内RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz—24MHz。 3.1.2 管脚功能 AT89C51单片机为40引脚芯片如图(b)所示。 (1)I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读?写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P口也可以作为用户I/O口线使用, P2口也是准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。作为第一功能使用时操作同P1口。 P3口的第二功能如图(c)。 图(b) 89C51引脚图 (2)控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ; (3)电源及时钟: CCC、VSS; XTAL 1, XTAL 2 图(c) 引脚功能表 3.2 实验原理图 图(1) 主控制电路 图(2) LED数码管控制电路 图(3) 蜂鸣器控制电路 4.软件流程图 4.1倒计时器主程序框图 4.2显示子程序框图 5.带详细注释的源程序清单 ;************************************************ ; 设计选题: 倒计时器系统设计 ; 描述: 4位LED数码显示倒计时器,显示时间为99秒, ; 一个开始键,一个复位键,一个暂停键。 ; 调用子程序: 计时子程序,显示子程序,定时子程序 ; 所用特殊寄存器:寄存器A,寄存器C ; 所用中断:外部中断INT0,定时器T0 ; 实验作者: 肖延文--47号,高穹誉--10号 ;************************************************ ORG 0000H LJMP START ;主程序必须避开地址000BH ORG 000BH ;定时器0的中段服务程序,起始地 ;址为000BH LJMP IT00 ORG 0030H START: MOV TH0,#0D8H ;装入初始值,定时10ms MOV TL0,#0F0H MOV TMOD,#01H ;工作方式1 MOV 33H,#09 ;显示初值为99s MOV 32H,#09 MOV 31H,#00 MOV 30H,#00 SETB ET0 ;打开定时0 SETB EA ;开总中断 LOOP1: JB P3.6,LOOP ;判断高低位,即按键KEY0是否按下 LCALL DISPLAY ;为低,即按键按下,延时消抖

文档评论(0)

你好世界 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档