最新田源基于单片机的电子闹钟设计.doc

上传人:可****阿 文档编号:48836508 上传时间:2022-10-07 格式:DOC 页数:30 大小:1.47MB
返回 下载 相关 举报
最新田源基于单片机的电子闹钟设计.doc_第1页
第1页 / 共30页
最新田源基于单片机的电子闹钟设计.doc_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《最新田源基于单片机的电子闹钟设计.doc》由会员分享,可在线阅读,更多相关《最新田源基于单片机的电子闹钟设计.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、空军工程大学本科毕业论文(设计)题目 数据采集系统中的海量存储院 (系) 工程学院 专 业 计算机科学技术与应用年 级 2004 级 学生姓名 肖强 学 号 048T30219 指导教师 景小宁 二00 八 年 六 月 摘 要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本文设计以AT89S51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用六个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS1

2、4芯片进行驱动。通过LED能够比较准确显示时、分。两个简单的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子钟系统能完成时间的显示、调时、定时闹钟和复位等功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil单片机模拟调试软件,测试程序的可行性。关键词:单片机技术,AT89S51,液晶驱动,电子闹钟ABSTRACTBecause of its extremely high performance-price ratio, the single-chip computer (SCC)

3、has been paid great attention to ever since it came out in 1970s of 20th Century, and has gained an extensive applicable field and fast development. Among all kinds of SCCs, 51 SCC is the most typical and representative one. This design, adopting AT89S51 chip as the core part with some necessary per

4、ipheral circuits, is a simple electronic clock which uses 5V DC as the power supply. In hardware aspect, besides the CPU, six seven-segment LED digi-tubes are used for display, which work in a dynamically scanning display mode and driven by 74SL14 chip. The LEDs can accurately indicate hour and minu

5、te and two buttons can be used to adjust the time. While in the software aspect, the programming language is assembly language. The whole electronic clock system has functions of time display, adjustment, bell-setting and reset, etc. Choose the smallest SCM system applications,add Comparison procedu

6、res, time to adjust procedures and faint buzzing procedures, Through relatively faint buzzing trigger procedures to achieve alarm clock function, Completed the design needs of the software environment. Keil introduced and the use of SCM software simulation debugging, testing the feasibility. Keyword

7、s: technology of the one-chip computer,AT89S51,the liquid crystal is driven,Electronic alarm clock目 录第1章 绪 论11.1 单片机简介11.2 电子闹钟的重要意义11.3 本文的主要工作2第2章AT89S51单片机的硬件系统32.1 AT89S51单片机的特性32.2 AT89S51 单片机的封装32.3 存储空间32.3.1 程序存储空间42.3.2 数据存储空间52.4 单片机最小应用系统电路82.4.1供电电路82.4.2程序存储器选择电路82.4.3时钟电路92.4.4复位电路9第3章

8、 电子闹钟的硬件设计113.1系统要求113.2 系统组成113.3系统设计113.3.1控制器113.3.2计数器123.3.3寄存器123.3.4分频器123.3.5显示电路123.3.6输入电路133.3.7计时器133.3.8 振荡器133.3.9 整体系统143.4 硬件选择14第4章 电子闹钟的软件设计164.1 子程序及其功能简介164.2 程序设计164.3 调试软件及其环境174.3.1 Keil单片机模拟仿真调试软件的安装和启动184.3.2 工程的建立204.3.3 源文件的输入22结 论24参考文献25第1章 绪 论1.1 单片机简介单片机的全称是单片微型计算机(Sin

9、gle Chip Microcomputer)。为了使用方便,它把组成计算机的主要功能部件:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、E2PROM或FLASH)、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器(Microcontroller)。MCS51系列1单片机是美国Intel公司于1980年推出的一种8位单片机系列。该系列的基本型产品是8051、8031和8751。这3种产品之间的区别只是在片内程序存储器方面。8051的片内程

10、序存储器(ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;8031片内没有程序存储器;8751内部包含有用作程序存储器4KB的EPROM。由于8051的编程需要制造商的支持,而8751的价格昂贵,因此8031获得了更为广泛的使用。MCS51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。Intel公司把这种单片机的内核,即8051内核,以出售或互换专利的方式授权给一些公司,如Atmel、Philips、ADI等。这些公司的这类产品也被称为8051兼容芯片,这些8051兼容芯片在原来的基础上增加了许多特性。本文应用电路中采用了Atmel公司的AT89S51芯片,它与MCS5

11、1单片机指令兼容,同时它的内部包含用作程序存储器4KB的基于FLASH技术的只读存储器。采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。1.2 电子闹钟的重要意义20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的

12、耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。尤其在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。注射后,一般等待5分钟,一旦超时,所作的皮试试验就会无效。手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。所以,要制作一个定时系统。随时提醒这些容易忘记时间的人。 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此

13、,研究数字钟及扩大其应用,有着非常现实的意义。1.3 本文的主要工作首先介绍设计电子闹钟所涉及的主要硬件和特性,然后说明软件设计的思路,程序结构及流程,并在测试软件上进行调试修改,以完成电子闹钟的基本要求,即可随意设定起始时间,有秒显示功能,有12/24时制选择,可设定闹钟,停电时由电池供电等功能。第2章AT89S51单片机的硬件系统2.1 AT89S51单片机的特性Atmel公司的AT89S51芯片具有以下特性:(1) 指令集和芯片引脚与Intel公司的8051兼容;(2) 4KB片内在系统可编程Flash程序存储器;(3) 时钟频率为033MHz;(4) 128字节片内随机读写存储器(RA

14、M);(5) 32个可编程输入/输出引脚;(6) 2个16位定时/计数器;(7) 6个中断源,2级优先级;(8) 全双工串行通信接口;(9) 监视定时器;(10) 2个数据指针。2.2 AT89S51 单片机的封装AT89S51单片机2具有多种封装形式,包括PDIP40、PDIP42、PLCC44和TQFP44。最适合学校实验室使用的是PDIP40封装形式,它的外形如图2.1所示。PDIP40封装形式的单片机芯片可以很方便地使用面包板来组成应用电路。2.3 存储空间AT89S51单片机3的程序存储空间和数据存储空间是分离的,每种存储空间的寻址范围都是64KB。上述存储空间在物理上可以被映射到4

15、个区域:片内程序存储器和片外程序存储器,片内数据存储器和片外数据存储器。存储空间的映射图如图2.2所示。当存储空间映射为外部存储器时,包括程序空间和数据空间,AT89S51单片机P0口的8个引脚,从P0.0(AD0)到P0.7(AD7)(引脚从39到32),以时分方式被用作数据总线和地址总线的低8位;P2口的8个引脚,从P2.0(A8)到P2.7(A15)(引脚从21到28),被用作地址总线的高8位。由于对外部程序存储器和外部数据存储器的访问都是通过P0口和P2口实现,为了区分它们,外部程序存储器由引脚(引脚29)的输出信号控制;外部数据存储器的写或读操作分别由引脚P3.6(,引脚16)和引脚

16、P3.7(,引脚17)输出信号控制。图2.1 AT89S51单片机PDIP40封装外形图图2.2 AT89S51单片机的存储器映射图2.3.1 程序存储空间程序存储空间可以被映射为内部程序存储器或者外部程序存储器4。AT89S51单片机内部具有的4KB程序存储器被映射到程序存储空间的0000H0FFFH区间,如图2.2所示。这部分程序存储空间也可以被映射为外部程序存储器,它具体被映射为哪一种程序存储器取决于引脚(引脚31)所接的电平。当引脚为高电平,内部程序存储器被映射到这部分程序存储空间;当引脚为低电平,外部程序存储器被映射到这部分程序存储空间。高于0FFFH的程序存储空间只能被映射为外部程

17、序存储器。目前Atmel公司生产的8051兼容芯片具有多种容量的内部程序存储器的型号,例如AT89S52单片机具有8KB内部程序存储器;T89C51RD2单片机具有64KB内部程序存储器。鉴于通常可以采用具有足够内部程序存储器容量的单片机芯片,用户在使用中不需要再扩展外部程序存储器,这样在单片机应用电路中引脚(引脚31)可以总是接高电平。2.3.2 数据存储空间如图2.3所示,数据存储空间5也可以被映射为内部数据存储器和外部数据存储器。进入不同的数据存储器是通过不同的指令来实现的,这点与程序存储器不一样。AT89S51的内部数据存储器有256字节,它们被分为两部分:高128字节和低128字节。

18、低128字节的内部数据存储器是真正的RAM区,可以被用来写入或读出数据。这一部分存储容量不是很大,但有很大的作用。它可以进一步被分为3部分,如图2.3所示。图2.3 内部数据存储器在内部数据存储器低128字节中,地址从00H1FH的最低32个字节组成4组工作寄存器,每组有8个工作寄存器。每组中的8个工作寄存器都被命名为从R0到R7。在一个具体时刻,CPU只能使用其中的一组工作寄存器。当前正在使用的工作寄存器组由位于高128字节的程序状态字寄存器(PSW)中第3位(RS0)和第4位(RS1)的数据决定。程序状态字寄存器中的数据可以通过编程来改变,这种功能为保护工作寄存器的内容提供了很大的方便6。

19、如果用户程序中不需要全部使用4组工作寄存器,那么剩下的工作寄存器所对应的内部数据存储器也可以作为通用数据存储器使用。工作寄存器在内部数据存储器中的地址映射如表2.1所示。表2.1 工作寄存器地址映射表0组(RS1=0,RS0=0)1组(RS1=0,RS0=1)2组(RS1=1,RS0=0)3组(RS1=1,RS0=1)地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR5

20、06HR60EHR616HR61EHR607HR70FHR717HR71FHR7表2.2 字节地址与位地址的关系位 地 址字节地址D7D6D5D4D3D2D1D02FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H2726252

21、42322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H0706050403020100在工作寄存器区上面,内部数据存储器的地址从20H2FH的16个字节范围内,既可以通过字节寻址的方式进入,也可以通过位寻址的方式进入,位地址范围从00H到7FH。字节地址与位地址的对应关系如表2.2所示。内部数据存储器地址从30H7FH部分仅可以用作通用数据存储器。内部数据存储器的高128字节被称为特殊功能寄存器(SFR)区。特殊功能寄存器被用作CPU和在片外围器件之间的接口,它们之间的联系方框图如图2.4所示。图2.4 特殊功

22、能寄存器(SFR)工作框图表2.3 AT89S51单片机特殊功能存储器地址映射表F8HFFHF0HBF7HE8HEFHE0HACCE7HD8HDFHD0HPSWD7HC8HCFHC0HC7HB8HIPBFHB0HP3B7HA8HIEAFHA0HP2AUXR1WDERSTA7H98HSCONSBUF9FH90HP197H88HTCONTMODTL0TL1TH0TH1AUXR8FH80HP0SPDP0LDP0HDP1LDP1HPCON87HCPU通过向相应的特殊功能存储器写入数据实现控制对应的在片外围器件的工作,从相应的特殊功能存储器读出数据实现读取对应的在片外围器件7的工作结果。在AT89S51

23、单片机中,包括前面提到的程序状态字寄存器(PSW)的特殊功能存储器共有26个,它们离散地分布在80HFFH的内部数据存储器地址空间范围内,如表2.3所示。在表2.3中,对于没有定义的存储单元用户不能使用。如果向这些存储单元写入数据将产生不确定的效果,从它们读取数据将得到一个随机数。对于字节地址低位为8H或者FH的特殊功能存储器,既可以进行字节操作,也可以进行位操作。例如前面提到的用来确定当前工作寄存器组的程序状态字寄存器(PSW),它的地址为D0H,因此对它可以进行字节操作,也可以进行位操作。采用位操作可以直接控制程序状态字寄存器中的第3位(RS0)或第4位(RS1)数据而不影响其他位的数据。

24、低位地址不为8H或FH的特殊功能存储器只可以进行字节操作,当需要修改这些特殊功能存储器中的某些位时,对其他的位应注意保护。片外数据存储空间8可以被映射为数据存储器、扩展的输入/输出接口、模拟/数字转换器和数字/模拟转换器等。这些外围器件统一编址。所有外围器件的地址都占用数据存储空间的地址资源,因此CPU与片外外围器件进行数据交换时可以使用与访问外部数据存储器相同的指令。CPU通过向相应的外部数据存储器地址单元写入数据实现控制对应的片外外围器件的工作,从相应的外部数据存储器地址单元读出数据实现读取对应的片外外围器件的工作结果。2.4 单片机最小应用系统电路单片机的最小应用系统电路指的是它可以正常

25、工作的最简单电路组成。AT89S51单片机的最小应用系统电路如图2.5所示,该系统中包含4个电路部分。2.4.1供电电路引脚VCC(引脚40)接+5V电源,引脚GND(引脚20)接地线。为提高电路的抗干扰能力,一个0.1F(器件标注为104)的瓷片电容和一个10F的电解电容通常被接在引脚VCC和接地线之间。2.4.2程序存储器选择电路如前所述,Atmel公司生产的8051兼容芯片具有多种容量的内部程序存储器的型号,因此在使用中不需要再扩展外部程序存储器,这样在单片机应用电路中引脚(引脚31)可以总是接高电平。图2.5 AT89S51单片机最小应用系统电路2.4.3时钟电路AT89S51芯片的时

26、钟频率可以在033MHz范围。单片机内部有一个可以构成振荡器的放大电路。在这个放大电路的对外引脚XTAL2(引脚18)和XTAL1(引脚19)接上晶体和电容就可以构成单片机的时钟电路。图2.5所示的时钟电路由晶体CRY和电容C2与C3组成。单片机的时钟频率取决于晶体CRY的频率,如果采用面包板来组装单片机应用电路,晶体CRY的推荐值为12MHz以下,电容C2与C3的取值范围为30pF50pF。时钟电路采用晶体的目的是提高时钟频率的稳定性。2.4.4复位电路对于AT89S51芯片,如果引脚RST(引脚9)保持24个时钟周期的高电平,单片机就可以完成复位。通常为了保证应用系统可靠地复位,复位电路应

27、使引脚RST保持10ms以上的高电平。只要引脚RST保持高电平,单片机就循环复位。当引脚RST从高电平变为低电平时,单片机退出复位状态,从程序空间的0000H地址开始执行用户程序。图2.5所示复位电路由C1和R1组成。当系统加电时,由于C1两端的电压不能突变,因此引脚RST为高电平,单片机进入复位状态。随着C1充电,它两端的电压上升,使得引脚RST上电压下降,最终使单片机退出复位状态。合理地选择C1和R1的取值,系统就能可靠地复位。C1的推荐值是10F,R1的推荐值是10k。完成复位后,单片机不仅从程序空间的0000H地址开始执行用户程序,而且还影响一些特殊功能存储器的初始状态。相应的特殊功能

28、存储器的复位值如表2.4所示。DPTR称为数据指针,它由两个特殊功能寄存器DP0H和DP0L组成。表2.4 特殊功能存储器的复位值特殊功能寄存器复 位 值特殊功能寄存器复 位 值PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXXX0 0000BSBUFXXXX XXXXBIE0XX0 0000BPCON0XXX 0000B注:PC称为程序指针,它被用来存储下一条要执行的指令地址,PC的位置并不在特殊功能存储器区域。第3章 电子闹钟的硬件设计3.1系统要求本课题

29、设计的电子闹钟系统要求为:(1) 能随意设定走时起始时间;(2) 能设定闹铃时间;(3) 能指示秒节奏,即秒指示;(4) 12小时/24小时两种制式可选;(5) 采用交直流供电电源;(7) 具有走时误差修正能力;(7) 具有温度显示的功能;(8) 停电时单片机由电池供电,计时不会停止。3.2 系统组成该数字闹钟包括以下几个组成部分:(1) 显示屏:由6个七段数码管组成,用于显示当前时间(时 分 秒)或设置的闹钟时间;(2) KEY键:用于输入新的时间或新的闹钟时间时,对每位输入数字的确认;(3) TIME(时间)键:用于确定新的时间设置; (4)闹钟键:用于确定新的闹钟时间设置,或显示已设置的

30、闹钟时间;(5) 扬声器:在当前时钟时间与闹钟时间相同时,发出蜂鸣声。3.3系统设计3.3.1控制器控制器是电子闹钟设计的核心部分,按设计要求产生相应的控制逻辑,以控制其他各部分的工作。由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。控制器主要功能如下:从内存中取出一条指令,并指出下一条指令在内存中位置对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。3.3.2计数器计数器ALARM-COUNTER实际上是一个异步复位、异步置位的累加器

31、。在中央处理器 CPU 中,累加器 (ACCUMULATOR) 是一种暂存器,用来储存计算所产生的中间结果。没有像累加器这样的暂存器,那么在每次计算 (加法,乘法,移位等等) 后就必须要把结果写回到内存,也许然后再读回来。然而存取主内存的速度是比从数学逻辑单元(ALU) 到有直接路径的累加器存取更慢。计数器的作用是:通常情况下进行时钟累加计数,必要时可以置入新的时钟值,然后从该值开始新的计数。3.3.3寄存器寄存器ALARM-REG用于保存用户设置的闹钟时间,是一个异步复位寄存器。寄存器是中央处理器内的组成部份,是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部

32、件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。3.3.4分频器分频器DIVIDER将高速的外部时钟频率分频成每一分钟一次的时钟频率,以便进行时钟计数。由于石英晶体振荡器产生的频率很高,要得到秒脉冲,需要用分频电路。例如,振荡器输出4MHZ信号,通过D触发器(74LS74)进行4分频变成1MHZ,然后送到10分频计数器(74LS90,该计数器可以用8421码制,也可以用5421码制),经过6次10分频而获得1HZ方波信号作为秒脉冲信号。3.3.5显示电路显示器DRIVER根据需要显示当前时间、用户设置的闹钟时间或用户通

33、过键盘输入的新时间,同时判断当前时间是否已到了闹钟时间,实际上是一个多路选择比较器。多路选择器是数据选择器的别称。在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。3.3.6输入电路键盘缓冲器KEY-BUFFER是一个移位寄存器,暂存用户键入的数字,并且实现用户键入数字在显示器上从右到左是依次显示。寄存器的用途:(1)可将寄存器内的数据执行算术及逻辑运算。(2)存于寄存器内的地址可用来指向内存的某个位置,即寻址。(3)可以用来读写数据到电脑的周边设备。AT89S51有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器: AH&ALAX

34、:累加寄存器,常用于运算; BH&BLBX:基址寄存器,常用于地址索引; CH&CLCX:计数寄存器,常用于计数; DH&DLDX:数据寄存器,常用于数据传递。为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(CODE SEGMENT):代码段寄存器;DS(DATA SEGMENT):数据段寄存器;SS(STACK SEGMENT):堆栈段寄存器;ES(EXTRA SEGMENT):附加段寄存器。当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过设定段寄存器 CS,DS,SS 来指向这些起始位置。通常是将DS固定,而根据需要修改CS。所以,

35、程序可以在可寻址空间小于64K的情况下被写成任意大小。所以,程序和其数据组合起来的大小,限制在DS 所指的64K内,这就是COM文件不得大于64K的原因。3.3.7计时器在计时过程中,系统利用89S51自身的计时器T0作为时钟基准,计时器中断的准确度直接关系到整个系统的精度,因此获取精确的定时时钟信号成为该系统的关键。AT89S51单片机内有2个可编程的16位定时器计数器,并工作在方式l下,晶振频率为12MHz。3.3.8 振荡器石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。它被广泛应用于彩电、计算机、遥控器等各类振荡电路中。它还具有压电效应:在晶体某一方向加一电场,晶体就会产

36、生机械变形;反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效应。在这里,我们在晶体某一方向加一电场,从而在与此垂直的方向产生机械振动,有了机械振动,就会在相应的垂直面上产生电场,从而使机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限制时,才达到最后稳定,这种压电谐振的频率即为晶体振荡器的固有频率。3.3.9 整体系统电子闹钟的系统硬件电路如图3.1所示,由控制器、记数器、寄存器、分频器、记时器、振荡器、显示电路及输入电路组成。3.4 硬件选择单片机选用AT89S51型,它是一种带4K字节闪烁可编程可擦除只读储存的低电压、高性能CMOS8位微

37、处理器,该器件采用ATMEL高密度非易失性存储器制造技术与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT8951是一种高效微控制器,为很多嵌入控制系统提供了一种灵活性高且廉价的方案。整体系统选用 AT89S51单片机,时钟芯片DS1302,数码管显示驱动芯片MAX7219。共阴极数码管8个,4511七段译码芯片1片, 24M晶振1个。图3.1 系统硬件电路图第4章 电子闹钟的软件设计AT89S5l内部定时/计数器T0和Tl设置为定时器模式l工作方式作为电子时钟及电子秒表的计时基准。定时器T0产生10 ms的中断信号,每经过1t

38、30次中断,时钟秒位加一,秒位经60次加一后向时位进位,当时问为23时59分59秒时,秒位再加一后变为00时00分00秒当按键切换为电子秒表功能时,T0每产生一次中断,十毫秒单元加一,十毫秒单元经过l0次加一后,百毫秒单元加一。依次进位可实现最长为9小时59分59秒990毫秒的秒表计时,可达到分辩10 ms的计时精度。利用K1K4按键可对时钟进行对时当首次按下K1按键时,显示数码管第一位闪烁,继续按键时,下一位闪烁。当某一位闪烁时,按下K2按键可使闪烁位加一。在正常时钟显示方式下按下K2键时,转为年、月、日显示按下K3键,可进入秒表状态,按下K4键可显示闹钟定时时间。软件设计分为主程序、定时器

39、T0和定时器T1中断服务程序及相应的子程序。4.1 子程序及其功能简介(1) 比较程序每当秒存储单元的内容为0时,系统通过调用比较子程序可判断当前时间是否符合闹铃条件,若符合,则调用发音子程序使蜂鸣器发出闹铃声音。(2) 检测按键程序当系统检测到某个案件被按下时,转到相应子程序处理,可实现校时、设定闹铃时间的功能(3) 显示程序系统通过调用显示子程序,可将显示缓冲区里的内容通过动态扫描方式输出到数码管显示器。(4) 时间设置程序系统通过按键检测,更改显示数值,从而实现对当前时间修改的功能4.2 程序设计子程序设计框图4.1所示,具体程序见附录1图4.1 比较程序框图4.3 调试软件及其环境单片

40、机本身不具备自主开发能力,即使在单片机应用系统的设计完成以后用户也不能直接对程序进行修改。单片机应用系统的开发必须借助一套开发工具和软件环境才能进行。本节介绍一种单片机模拟调试软件的使用。模拟调试软件不仅可以在程序下载到单片机芯片之前验证它的正确性,而且模拟调试软件也可以用来辅助学习单片机的基本知识。图4.2 中断程序框图4.3.1 Keil单片机模拟仿真调试软件的安装和启动Keil单片机模拟调试软件是目前获得广泛应用的一种开发MCS51系列兼容单片机的软件。该软件可以从Keil公司中国代理处购买,也可以从Keil公司的网站(http:/www. )上下载它的免费评估(Eval)版本。下载获得

41、的Keil单片机模拟调试软件是一个压缩包,解压后执行其中的Setup.exe程序就可以安装这个软件。软件的安装过程与一般的Windows应用软件类似,只要按照安装提示操作即可,这里不作详细介绍,仅需要注意的是,安装方式要选择Eval Vision安装。图4.3 时间设置程序框图Keil单片机模拟调试软件安装完成以后,计算机桌面上将产生一个标注有“Keil Vision2”的图标,双击这个图标就可以进入Keil单片机模拟调试软件的集成开发环境。集成开发环境的界面如图5.1所示,初次进入的集成开发环境界面中只包括空的工程管理窗口和输出窗口。图5.1 Keil单片机模拟调试软件的集成开发环境4.3.

42、2 工程的建立Keil单片机模拟调试软件对MCS51单片机应用系统的软件开发过程采用工程(Project)管理。工程保存着程序编辑的信息和程序调试的环境。在开始编写程序之前首先应该建立一个工程。新建一个工程之前通常还需要建立一个文件夹,后面产生的工程文件和源程序文件等都将存储在这个文件夹之中。在如图5.2所示的集成开发环境的窗口中选择Project New Project命令将打开建立新工程的对话框,如图5.2所示。图5.2 建立新工程的对话框在“保存在”下拉列表框中选择新建工程将要存储的文件夹名,在 “文件名”文本框中输入工程的名称,注意对于工程不要添加扩展名,单击“保存”按钮即可完成一个工

43、程的创建。单击“保存”按钮在完成一个工程创建的同时也打开了单片机芯片型号选择对话框。如图5.3所示的对话框已经完成了芯片型号的选择。图5.3 单片机芯片型号选择对话框Keil单片机模拟调试软件支持许多公司生产的MCS51单片机兼容产品。如前所述,本书应用电路中采用Atmel公司的AT89S51芯片,下面以这款芯片为例介绍如何实现选择。在图5.3所示的对话框中的Data base列表框中首先选择生产芯片的公司名称Atmel,双击这个公司名称即可打开Atmel公司目前生产的所有芯片型号。接着在列出的产品清单中选择将使用的AT89S51芯片,如图5.3所示。最后单击“确定”按钮即可完成芯片的选择。完

44、成芯片的选择后又回到如图5.3所示的集成开发环境的窗口,但是这时该窗口中的工程管理窗口不再是空白,在它的文件选项卡中出现目录列表Target 1和它的子目录Source Group 1。集成开发环境中的菜单Project内还包含Open Project和Close Project等选项。Open Project选项用来以后再次进入已经建立的工程,选择ProjectOpen Project命令将打开选择工程的对话框,该对话框与图5.3类似。在 “查找范围”下拉列表框中选择欲打开的工程所在的文件夹,列表框中将出现该文件夹中的所有工程,选择将要打开的工程,单击“打开”按钮即可打开一个工程。选择ProjectClose Project命令将关闭当前的工程。4.3.3 源文件的输入Keil单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。在如图5.4所示的集成开发环境中选择File New命令

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁