《电气工程系电子课程设计报告单片机时钟的设计.doc》由会员分享,可在线阅读,更多相关《电气工程系电子课程设计报告单片机时钟的设计.doc(30页珍藏版)》请在三一办公上搜索。
1、河南科技学院新科学院电气工程系电子课程设计报告单片机时钟的设计学生姓名: 时 间: 2014.12.8-2014.12.2所在班级: 129班指导老师: 2014年12月23号基于单片机控制的时钟控制器一 设计要求(一)基本功能1. 显示: 可以显示时、分和秒2. 调时功能:时(0-24)、分和秒(0-60)可以连续可调(二)性能:时间日误差 2秒(三)扩展功能1增加整点报时功能2增加闹钟任意设定功能二计划完成时间 三周1第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。2第二周完成软件的具体设计和硬件的制作。3第三周完成软件和硬件的联合调试。目录ABSTRACTIV1. 引言12.
2、关于单片机22.1单片机的发展22.2 AT89S52单片机32.2.1 AT89S52单片机引脚功能42.2.2 AT89S52单片机硬件结构的特点52.2.3 AT89S52单片机的硬件原理73. 系统的硬件设计93.1 控制部分电路的设计93.1.1 时钟模块93.1.2 音乐模块93.1.3 复位模块94. 系统电路的制作与调试104.1 电路硬件焊接制作104.2 调试的主要方法104.3 系统调试114.3.1 硬件调试114.3.2 软件调试114.3.3 联机调试114.3.4调试中遇到的问题及解决方法11结 论13参考文献14附录1 数字钟电路图16致 谢25单片机时钟设计M
3、CU clock design摘 要基于单片机的定时和控制装置在许多行业有着广泛的应用,而数字钟是其中最基本的,也是最具有代表性的一个例子。在基于单片机系统的数字钟电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。本电路主要以单片机AT89S52为核心而设计的,通过单片机对信息的分析与处理,控制外围设备。系统由复位模块、时钟模块、及显示模块共三个模块组成。 本设计以单片机AT89S52为切入点,通过使用AT89S52的内部的可编程定时器/计数器,结合对外接晶振的调节来确定一个合适的振荡周期,从而确定出内部的机器周期。再通过对内部中断程序的设置来设计出时钟程序,即设计出了电子
4、时钟的核心。然后在核心电路的基础上设计出了相应的扩展电路,使本设计更加实用。关键词:单片机;数码显示ABSTRACTBased on single-chip timing and control device has been widely used in many industries, and digital clock is one of the most basic, an example is also the most representative.In the digital clock circuit based on single chip microcomputer sys
5、tem, in addition to the basic single chip microcomputer system and peripheral circuit, also need external control and display unit. This circuit is designed with single-chip microcomputer AT89S52 as the core, through the single chip microcomputer to the analysis and processing of information, contro
6、l the peripheral equipment. System by the reset module, clock module, and display module, a total of three modules.This design with MCU AT89S52 as the breakthrough point, through the use of AT89S52 internal programmable timer/counter, combined with the regulation of foreign pick crystals to determin
7、e an appropriate period of oscillation, so as to determine the internal machine cycle. Travel through the set of internal interrupt program to design a clock procedures, the core of the design out of the electronic clock. Then on the basis of the core circuit designed the corresponding extension cir
8、cuit, make the design more practical.Key Words:Micro control unit; LED shows1. 引言20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充
9、电时间。尤其在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。注射后,一般等待5分钟,一旦超时,所作的皮试试验就会无效。手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。所以,要制作一个定时系统。随时提醒这些容易忘记时间的人。 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。基于单片机的定时和控制装置
10、在许多行业有着广泛的应用,数字钟作为其中最基本的一个应用实例,具有结构简单应用广泛的特点。数字钟中使用了单片机中最为常用的输入输出设备按键开关和数码管;数字钟程序主要应用单片机的定时器和中断实现计时和显示功能。当今数字种作为一个单元电路被广泛应用于电子表、电子万年历等产品中,带来广泛的经济效益。 目前的单片机产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。所以C8051为核心的单片
11、机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。单片机的可靠性及应用水平越来越高和互联网连接已是一种明显的走向。单片机从功能上讲可以说是万用机。目前,单片机正朝着高性能和多品种方向发展,趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展
12、。当今,单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。单片机也广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。单片机已成为计算机发展和应用的一个重要方面。单片机应用的重
13、要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步。在不久的将来,最终单片机与微机系统之间的距离越来越小,甚至难以辨认。 2.关于单片机2.1单片机的发展单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理
14、、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视。特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。而现在单片机在液晶显示上也有了很多的应用。随着科技不断进步,各种显示技术如雨后春笋般诞生,由于液晶显示器(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,在近年来价格不断下跌的吸引下,逐渐取代CRT之主流地位,显示器明日之星架势十足。液晶显示器件从初期的实验室到现在
15、的生产厂家,已形成较大规模的生产能力,使液晶显示形成了独立的产业部门。而今,液晶显示已经应用于人们生产、生活中的各个领域,人们时时处处都要与这一神奇而又普通的产品打交道。液晶显示技术以它跨越多学科的工作原理,高技术、专业化的制造工艺使它披上了一层神秘的面纱,而它轻巧薄形的体态,独特而理想的性能以及广泛的应用价值,又使它充满魅力,深深地吸引着人们。在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学
16、习和研究是对微机系统学习和研究的简捷途径。在目前,用户对单片机的需要越来越多,但是,要求也越来越高,因此,单片机也在不断的发展和进步。单片机的技术进步主要反映在内部结构、功率消耗、外部电压等级以及制造工艺上。在这几方面,较为典型地说明了数字单片机的水平。2.2 AT89S52单片机AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编程存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash ,使得AT89
17、S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 具有以下标准功能:8k 字节Flash,256 字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6 向量2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM 、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图2-1AT89S52的引脚2.2.1 AT89S52单片机引
18、脚功能 P0 口:P0 口是一个8 位漏极开路的双向I/O 口。作为输出口,每位能驱动8 个TTL 逻辑电平。对P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和P1.2 分别作定时器/计数器2 的外部计数输入(P1.0/T2
19、)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash 编程和校验时,P1 口接收低8 位地址字节。P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16 位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8 位地址(如MOVX RI )访问外部数据存储器时
20、,P2 口输出P2 锁存器的内容。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。RST: 复位输入。晶振工作时,RST 脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR( 地址8EH) 上的DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部
21、程序存储器时,锁存低8 位地址的输出脉冲。在flash 编程时,此引脚(PROG )也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通过将地址为8EH 的SFR 的第0 位置“1”,ALE 操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC 指令时有效。PSEN: 外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN 将
22、不被激活。EA/VPP: 访问外部程序存储器控制信号。为使能从0000H 到FFFFH 的外部程序存储器读取指令,EA 必须接GND。为了执行内部程序指令,EA 应该接VCC。在flash 编程期间,EA 也接收12 伏VPP 电压。2.2.2 AT89S52单片机硬件结构的特点MCS-51单片机硬件结构有如下一些主要特点: 内部程序存储器(ROM)和内部数据存储器(RAM)容量MCS-51单片机的内部ROM和内部RAM的容量如表-1所示:表-1 MCS-51单片机存储器容量存储器类型单片机类型掩模ROMEPROMRAMMCS-5151子系列8031/128B80514KB/128B8751/
23、4KB128B52子系列8032/256B80528KB/256B 输入/输出(I/O)口 MCS-51单片机内的I/O口的数量和种类较多且齐全,尤其是它有一个全双工的串行口。该串口是利用两根I/O口线构成的,有四种工作方式,可通过编程选定,MCS-51有32根I/O口线,而MCS-48只有27根。 外部程序存储器和外部数据存储器寻址空间 MCS-51可对64KB的外部数据存储器寻址且不受该系列中各种芯片型号的影响,而对程序存储器是内外总空间为64KB,故根据表-1不同的芯片型号,MCS-51外部程序存储器最大寻址范围为64KB。 中断与堆栈 MCS-51有5个中断源(对8032/8052为6
24、个),分为2个优先级,每个中断源的优先级是可编程的。它的堆栈位置也是可编程的,堆栈深度可达128字节。而MCS-48只有不分优先级的2个中断源,且堆栈设置在片内RAM的16个字节的固定单元内。 定时/计数器与寄存器区MCS-51子系列有2个16位定时/计数器,通过编程可以实现四种工作模式。MCS-52子系列则有3个16位定时/计数器。而MCS-48只有一个8位定时/计数器。MCS-51在内部RAM中开设了四个通用工作寄存器区,共32个通用寄存器,以适应多种中断或子程序嵌套的要求。而MCS-48的内部RAM中只有两个通用工作寄存器区,每个寄存器区包含8个8位寄存器。2.2.3 AT89S52单片
25、机的硬件原理 如图所示,图为单片机的基本外围电路。20管脚接地,40管脚接+5V电源,为单片机工作提供电源。18及19管脚接晶振,为单片机提供时钟信号,晶振为12MHz。晶振的振荡频率越高,系统的时钟频率越高,单片机工作的速度也越高。对于液晶显示电路的设计,需要单片机有较高的工作效率,所以选择比较高频率的晶振,从而提高液晶屏幕的刷新速率,获得更加连贯、流畅的图像显示。根据需要还可以加上复位电路,复位是单片机的初始化操作。或者当单片机程序运行出错导致死锁状态的时候,为摆脱困境,也需要按复位键以重新启动。 图2-2 AT89S52单片机基本外围电路图 2-3 单片机和液晶模块连接电路AT89S52
26、LCM 如图2-3所示,左边为单片机模块,右边为液晶模块。单片机的P0口与液晶模块的8个数据端口相连,作为数据传送端口。 P2.4、5、7、8与液晶模块的片选CS1、CS2和R/W、D/I相连,作为控制字的写入。液晶模块的E端为使能端,由单片机的P2.3和P3.7、8三个口送信号至与非门驱动液晶模块,同时给使能端提供高低电平,控制液晶模块工作。液晶模块的VSS接地,VCC和V0接滑动变阻器,VCC接正5V电源,通过滑动变阻器分压,从而为液晶模块更好的工作提供电源,也作为液晶显示屏的亮度控制端。此图即为单片机控制液晶显示的基本电路。其中的与非门组合可以用74LS00芯片,74LS00可以提供3个
27、与非门。本设计电路成本低,元件比较普通,市场上可以轻易买到,为整个毕业设计提供方便。电路简单易于焊接,调试中也能减少很多麻烦。3. 系统的硬件设计电路是由控制部分和显示部分两大部分组成。利用单片机程序进行控制,并通过数码管进行显示。3.1 控制部分电路的设计3.1.1 时钟模块利用芯片内部的振荡器,然后在引脚XTAL1和引脚XTAL2两端接晶体谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图外接晶振时,C1和C2的值通常选择30pF; C1、C2对频率有微调作用,晶体谐振器的频率12MHz。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得
28、与单片机芯片靠近。设置了1224两种显示状态,调整计时的按键、设置定时的按键且定时设置了3次定时、还另加载了星期、年、月、日的调整及闰年的自动调整。3.1.2 音乐模块通过LM386N-1给扬声器信号来发出音乐,这个模块主要是为时钟定时到时发出音乐闹铃,而在软件部分设置了可以一次设置3次定时,每次定时到时,音乐程序中编了6种音乐,它可以自动选择6种音乐中的任一音乐响1分钟,如果中间不想让闹铃响可以按一按键,闹铃就立刻停止。3.1.3 复位模块单片机复位电路是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从该状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。无论是
29、在单片机刚接上电源时,还是断电后或者发生故障后都要复位。 电路图为:图5-24. 系统电路的制作与调试4.1 电路硬件焊接制作电路硬件焊接是毕业设计的重要内容之一,其焊接工艺的好坏直接关系到系统的整体性能。本设计的样品制作采用手工焊接,在焊接制作中应遵守手工焊接的工艺流程和技术要求。4.2 调试的主要方法 测试单片机软件功能的完善性。这是针对整个单片机系统功能的测试,测试软件是否写的正确完整。单片机是否能正常工作。 上电、掉电测试。在使用中用户必然会遇到上电和掉电的情况,可以进行多次开关电源,测试单片机系统的可靠性。 老化测试。测试长时间工作情况下,单片机系统的可靠性。必要的话可以放置在高温,
30、高压以及强电磁干扰的环境下测试。 D和EFT等测试。可以使用各种干扰模拟器来测试单片机系统的可靠性。例如使用静电模拟器测试单片机系统的抗静电ESD能力;使用突波杂讯模拟器进行快速脉冲抗干扰EFT测试等等。 整个显示系统的测试。这是针对整个单片机显示系统功能的测试,单片机正常工作后,加上负载液晶整个系统共同测试。 整个显示系统的调试。编写不同的程序写入单片机,用单片机控制液晶显示不同的画面,如字符、图形。 4.3 系统调试4.3.1 硬件调试 静态测试。在电路板制作好以后,先不要急着加电,首先进行静态测试。检查线路:通过目测和使用万用表,检查线路连接的正确性,有无断路和短路,无虚焊的存在等。核对
31、元件:检查元件是否安装正确,有无损坏等。4.3.2 软件调试本程序采用单片机汇编语言编写。4.3.3 联机调试在硬件无故障和软件模块调试完成的情况下,还要对系统进行联机调试。在系统调试时,应将全部硬件电路都接上,应用程序模块也都组合好,进行全系统软硬件调试。系统调试的任务是排除软硬件中的残留错误。使整个系统能够完成预定的工作任务,达到要求的技术性能指标。系统联机调试到能正确显示时间,并且闹铃功能正常。4.3.4调试中遇到的问题及解决方法 调试中反复检查,仍没有错误,这时候看是否要排除元器件失效了。造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取
32、检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。 还有可能是电源故障,所以排除电源故障这项必不可少。在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。 当判断单片机不工作时候,需要进行联机仿真调试。联机仿真必须借助仿真开发装置、示波器、万用表等工具。这些工具是单片机开发的最基本工具。信号线是联络单片机和外部器件的纽带,信号线连结错误或时序不对,都会造成对外围电路读写错
33、误。单片机的信号线大体分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号(PSEN)、地址锁存信号(ALE)、复位信号等几类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器(这里指通用示波器)用常规方法很难观测到,必须采取一定措施才能观测到。应该利用软件编程的方法来实现。例如对片选信号,运行下面的小程序就可以检测出译码片选信号是否正常。MAIN:MOVDPTR,DPTR ;将地址送入DPTR MOVXA,DPTR ;将译码地址外RAM中的内容送入ACC NOP ;适当延时SJMP MAIN ;循环执行程序后,就可以利用示波器观察芯片的片选信号引出脚(用示波器扫描时间为1s每格
34、档),这时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。对于电平类信号,观测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到单片机的复位引脚将变为高电平;一旦松开,电平将变低。总而言之,对于脉冲触发类的信号我们要用软件来配合,并要把程序编为死循环,再利用示波器观察;对于电平类触发信号,可以直接用示波器观察。 结 论 经过调试,和多次改进,本设计达到了预期的效果。数字钟可以正常显示时间, 总之,本设计提供了一套行之有效的数字钟的设计方案,并且成本较低,具有较高的实用性。参考文献1 卢坤,奚大顺电子设计技术M.成都电子科技大学出版社,1997.P10
35、3-2102 唐竞新.数字电子电路M.第1版.北京:清华大学出版社,2003.P99-1203 康华光.电子技术基础M.数字部分.第4版.北京:高等教育出版社,1998.P47-794 电子工程手册编委会等中外集成电路简明速查手册M-TTL,CMOS.北京:电子工业出版社,1991.P245-3405 杨长春.论数字技术J.电子报合订本.第0113期.成都:四川科学技术出版社,2002.12.P13-306 彭国贤.数码显示 M.北京:电子工业出版社,1993.P21-507 康华光主编,邹寿彬副主编电子技术基础(数字技术)高等教育出版,2004.P129-1808 康华光主编,陈大钦副主编电
36、子技术基础(模拟技术)高等教育出版社,2003.P269-3079 袁俊泉,孙敏琪,曹瑞编著 数字系统设计及其应用J.数字电子第9908期. 西安电子科技大学出版社,2002.P13-2610 李光飞、楼然苗等 单片机课程设计实例指导北京航空航天大学出版社,2004.P5-3711 余永权.ATMEL 系列Flash单片机原理及应用北京:电子工业出版社,1997年第一版,P8812112 沙占友. 智能化集成温度传感器原理与应用北京:机械工业出版社,2002年第一版,P8410613 李广弟,朱月秀,王秀山单片机基础修订版北京:北京航空航天大学出版社,2001年第二版,P117714 蔡明生电
37、子设计北京:高等教育出版社,2004年第一版,P4810115 孙安青AT89S51单片机实验及实践教程wwwsupermcucom.P17918616 刘云,成后发,尹波温度无线传输技术的研究电脑与信息技术,2004年第 4期,P475017 陈跃东DS18B20集成温度传感器原理及其应用 安徽机电学院学报,2002年第4期,P343818 刘楚浩. 用单片机实现温度远程显示单片机与嵌入式系统应用2002年第9期19 William StallingsData and Computer Communications北京:高等教育出版社,2001年第一版20 CHEE-YEE CHONG,SR
38、IKANTA PKUMAR Sensor Networks:Evolution,Opportunities and ChallengesA PROCEEDINGS OF THE IEEEC 2003,91(8):1247-1256.21 Altera Corporation.2002. Altera Digital Library.Altera.P99-10122 Xilinx Inc.2001.Data Book 2001.Xilinx.P31-54附录1 数字钟电路图 附录2 汇编#include unsigned int zhixingma10 = 0x3f, 0x06, 0x5b, 0
39、x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,0x6f; unsigned int zhixingma_z10 =0xbf, 0x06, 0xdb, 0x4f, 0xe6, 0x6d, 0xfd, 0x07,0xff,0x6f ; unsigned int zhixingma_lao10 =0xbf, 0x86, 0xdb, 0xcf,0xe6, 0xed, 0xfd, 0x87,0xff,0xef; unsigned int weixuanma10 = 0xfe, 0xfd,0xfb , 0xf7,0xef ,0xdf,;unsigned char time=0;uns
40、igned char second=57; unsigned char minute=59;unsigned char hour=23;unsigned char second_set=0;unsigned char minute_set=0;unsigned char hour_set=0;bit flag_flash1; /闪烁标志1bit flag_flash2; /闪烁标志2bit flag_sound=0; bit flag_zd=0; bit flag_lao=0;sbit key0=P30; sbit key1=P31; sbit key2=P32; sbit key3=P33;
41、sbit ST=P37; unsigned char time_sound=0;code unsigned char music_soundlong35= 6,6,9,3,6,6,12, 6,6,6,6,6,6,12, 6,6,9,3,6,6,9,3, 6,3,3,6,3,3,6,6,9, 0, ;code unsigned char music_soundtone35= 239,239,212,189,159,159,189, 159,159,142,126,120,120,159, 120,120,142,159,189,142,159,189, 239,212,189,159,142,1
42、59,189,212,239, 0, ;void Delay_x10ms(unsigned char CNT) unsigned char i,j,k; for(i=0;iCNT;i+) for(j=0;j10;j+) for(k=0;k120;k+) ; void Delay_x50us(unsigned char Num) unsigned char i,j; for(i=0;iNum;i+) for(j=0;j6;j+) ; void delay(unsigned char x) unsigned char i; for (i=0;ix;i+); void sound() unsigne
43、d char i,j,k,m; unsigned char soundlong,soundtone; for(i=0;i15;i+) soundlong=music_soundlong; soundtone=music_soundtone; for(j=0;jsoundlong;j+) for(k=0;k8;k+) for(m=0;msoundtone/3;m+) ST=0; for(m=0;m0;i-);void setlao() unsigned char i; unsigned char j; j=1; while(!key3);while(j) for(i=1;i=2;i+) switch(i) case 1:P2=0xef ; P1= zhixingmahour_set%10;delay(20);P1=0; break; case 2:P2=0xdf; P1= zhixingmahour_set/10;delay(20);P1=0; break; default: break; if(!key1) while(!key1); if(hour_set24) hour_set+;