[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc

上传人:laozhun 文档编号:3932544 上传时间:2023-03-28 格式:DOC 页数:66 大小:574.50KB
返回 下载 相关 举报
[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc_第1页
第1页 / 共66页
[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc_第2页
第2页 / 共66页
[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc_第3页
第3页 / 共66页
[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc_第4页
第4页 / 共66页
[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc》由会员分享,可在线阅读,更多相关《[优秀毕业设计精品] 多功能电子钟的设计与实现—硬件部分.doc(66页珍藏版)》请在三一办公上搜索。

1、 本科生毕业设计说明书(毕业论文)题 目:多功能电子钟的设计学生姓名:学 号: 专 业:电子信息工程班 级:10电信专升本指导教师:多功能电子钟的设计与实现硬件部分摘 要电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。本设计主要为实现一款可正常显示时钟/日历、测量环境温度、带有定时闹铃的多功能电子时钟。本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。本设计应用AT89C52芯片作为核心,1602LCD液晶

2、显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能,同时利用DS18B20温度传感器测量环境温度。这种实现方法的优点是电路简单,性能可靠,实时性好,时间和温度精度高,操作简单,编程容易。该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。关键词:电子时钟;多功能;AT89C51;时钟日历芯片;温度传感器The Design with Investigation of the Multi-function Electron Clock The Design of the Hardware AbstractThe elect

3、ronic clock mainly uses the electronic technology make the clock computerization, the digitization, with the clock precision, small size, friendly interface, scalable performance and other characteristics, was widely used in life and work. Measuring temperature, in life, industry and agricultural pr

4、oduction, so electronic clock need multi-function.The design for the main implementing a clock/calendar can be displayed normal, collecting personal ambient temperature, with the timing alarm of the multi-function electronic clock.Comparing and analysising the development technology of the electron

5、clock, the design determines to use the MCU technology to realize the multi-functional electron clock. This design application AT89C52 as a core chips, 1602 LCD digital displaying, using DS1302 real-time clock chip to complete the basic function of the clock/calendar. At the same time the design use

6、 of DS18B20 temperature sensors to collect the environmental temperature. The method has the advantage of being simple circuit, reliable performance, good real-time, high precision of the time and temperature , simply operation, easy programming.The electronic clock can be applied to the general liv

7、ing and working ,can also be modified to improve performance, add new functions, and brings more convenient to peoples life and work.Key words: Electronic clock; Multi-function; AT89C51; DS1302; Temperature pickup 目 录摘 要IAbstractII第一章 引 言51.1 多功能电子时钟研究的背景和意义51.2 电子时钟的功能6第二章 电子时钟设计方案分析72.1 FPGA设计方案72

8、.2 单片机设计方案7第三章 系统设计93.1 总体设计93.2 电子时钟硬件电路设计93.2.1 单片机最小系统电路设计93.2.2 时钟芯片电路设计103.2.2.1 DS1302芯片介绍103.2.2.2 DS1302引脚说明113.2.2.3 时钟电路123.2.3 温度采集电路设计123.2.4 电源供电电路133.2.5 1602LCD液晶屏133.2.6 蜂鸣器闹铃电路143.2.7 按键电路调整14第四章164.1 主程序流程164.2 时间设置子程序流程174.3 闹钟设置子程序流程18第五章 系统调试195.1硬件调试195.1.1单片机基础电路调试195.1.2显示电路调

9、试215.1.3 DS1302电路调试225.1.4按键电路调试235.2软件调试235.2.1环境温度采集子程序调试245.2.2键盘子程序调试24结论25参考文献26致 谢1附录A 2附录 B34第四章35第一章 引 言时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。1.1 多功能电子时钟研究的背景和意义20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域

10、,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的1。想知道时间,手表当然是一个很好的选择,但是,在忙碌当中,我们还需要一个“助理” 及时的给我们提醒时间。所以,计时器最好能够拥有一个定时系统

11、,随时提醒容易忘记时间的人。 最早能够定时、报时的时钟属于机械式钟表,但这种时钟受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以

12、钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。另外,温度实时显示系统应用同样越来越广泛,比如空调遥控器上当前室温的显示、热水器温度的显示等等。医药卫生、工农业生产上也有很多场合需要测量环境温度。如果能够在电子时钟上附加温度采集功能,将使电子时钟的应用更加广泛。1.2 电子时钟的功能电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。也有体型较大的,诸如公共场所的大型电子报时器等。电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合

13、的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,USB扩展口功能等。本设计电子时钟主要功能为:1. 具有时间显示和手动校对功能,24小时制;2. 具有年、月、日显示和手动校对功能;3. 具有闹铃功能;4.5. 具有贪睡功能;6. 具有环境温度采集和显示功能;7. 掉电后无需重新设置时间和日期;8. 采用交直流供电电源。交流供电为主,直流电源为后备辅助电源,并能自动切换。第二章 电子时钟设计方案分析电子闹钟既可以通过纯硬件实现,也可以通过软硬件结合实现,根据电子时钟里的核心部件秒信号的产生原理,通常有以下三种形式:2.1 FPGA设计方案现场可编程门阵列

14、(Field Programmable Gate Array,FPGA),是20世纪70年代发展起来的一种可编程逻辑器件,是目前数字系统设计的主要硬件基础。FPGA在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。可编程逻辑器件的设计过程是利用EDA开发软件和编程工具对器件进行开发的过程。由于EDA技术拥有系统的模拟和仿真功能,可读性、可重复性、可测性非常好,所以利用EDA开发FPGA是目前比较流行的方式。当然,有时根据需要,也会应用MAX+plus开发集成环境进行设计。正因为FPGA在设计过程中方便、快捷,而且FPGA技术功能强大,能够应用其制作诸如基

15、代码发生器、数字频率计、电子琴、电梯控制器、自动售货机控制系统、多功能波形发生器、步进电机定位控制系统、电子时钟等。应用FPGA能够将时钟设计为为四种类型:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。多时钟系统能够包括上述四种时钟类型的任意组合234。2.2 单片机设计方案单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。单片机具有如下特点:有优异的性能价格比;1 集成度高、体积小、有很高的可靠性;2 控制功能强;3 低功耗、低电压,便于生产便携式产品;4 外

16、部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;5 单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统。所以单片机的应用非常广泛,在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思路和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种用软件代替硬件的控制技术,是对生产控制技术的一次革命。利用单片机的智能性,可方便地实现具有智能的电子钟设计。单片机均具有时钟振荡系统,利用系统时钟借助微处理器的定时器/计数器可实现电子钟

17、功能。然而系统时钟误差较大,电子钟的积累误差也可能较大,所以可以通过误差修正软件加以修正,或者在设计中加入高精度时钟日历芯片,以精确时间。另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。第三章 系统设计在比较了第二章的三种实现方案之后,考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。3.1 总体设计 图1 系统设计总体框图3.2 电子时钟硬件电路设计3.2.1 单片机最小系统电路设计 本系统以AT89S52单片机为核心,本系统选用12MHZ的晶振,使得单片机有合理的运行速度。起振电容30PF对振荡器的频率高低、振

18、荡器的稳定性和起振的快速性影响较合适,复位电路为按键高电平复位。AT89S52单片机最小系统电路设计如图2所示。 图2 AT89S52单片机最小系统3.2.2 时钟芯片电路设计 3.2.2.1 DS1302芯片介绍 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提

19、供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(1F)来替代。需要强调的是,DS1302需要使用32.768KHz的晶振。3.2.2.2 DS1302引脚说明 DS1302引脚说明DS1302引脚图参照图3 图3 DS1302芯片引脚图其的引脚功能参照表1。表1 DS1302引脚功能说明引脚号名称功能1VCC1备份电源输入2X132.768KHz晶振输入3X232.768KHz晶振输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入 3.2.2.3 时钟电路 图4 时钟电路 3.2.3 温度采集电路设

20、计 系统采用DS18B20温度传感器,它的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。电压范围:+3.0+5.5V。其测温范围为:-55+125,固有测温分辨率为0.5,通过变成可实现912未得数字读数方式。其电路如图5所示。 图5 温度采集电路3.2.4 电源供电电路我们采用外接USB端口的方式为单片机供电,LPOW1为电源显示灯,当按键S2按下,显示灯亮,表示给单片机供电+5V电压。其电路图如图6所示。 图6 电源供电电路3.2.5 1602LCD液晶屏 1602LCD液晶屏为5V电压驱动,带背光,可现实两行,每行16个字符,不能显示汉字。液晶1, 2端为电源;15,16

21、为背光电源;为防止直接加5V而烧坏背光灯,在15脚串联一个1K阻用于限流。液晶3端为液晶调节端,通过一个10K的变位器来调节液晶显示对比度。液晶4端为想液晶控制器写数据/写命令选择短,接单片机的P3.5口。液晶5端为读/写选择端,因为我们不从液晶中读取数据,只向其写如命令和显示数据,因此此端始终选择为写状态,即低电平接地。液晶6端为是能信号,是操作时必须的信号。其电路如图7所示: 图7 LCD液晶屏电路3.2.6 蜂鸣器闹铃电路 当单片机给蜂鸣器一个低电平时,三极管导通,蜂鸣器发出声音作为闹铃。其电路如图8所示: 图8 蜂鸣器电路3.2.7 按键电路调整 系统四个独立键盘均采用查询方式,S3用

22、于设置年、月、日、时、分、秒、星期的数值加。以及闹钟开,S4用于设置年、月、日、时。分。秒。星期的数值减以及闹钟关,S5用于具体设置时钟位的切换,S6键用于设置闹钟。其电路图如图9所示: 图9 按键调整电路 第四章 软件设计本系统主要包括5个子模块编程: 蜂鸣器闹铃编程,时钟芯片DS1302的编程,液晶显示屏1602的编程。按键编程,DS18B20温度采集编程。 4.1 主程序流程主程序开始初始化,并打开中断,然后执行扫描闹钟、键盘及读取18B20值。当有S5键按下时,执行时钟设置,当有S6键按下时,则进入脑中设置,无论是始终还是闹钟,设置完后退出,温度、时钟恢复实时显示。主程序流程图如图10

23、所示: 图10 主程序流程图4.2 时间设置子程序流程通过单片机判断S5键按下的次数来设置,由S5-num标志位来记录次数,用if语句判断执行命令。系统程序不断扫描键盘,当S5键按下后产生一个低电平,即S5-num加一。在调节时间之前首先进行各个变量初始化,以及设置起始时间,同时为读取数据作准备。当S5=1时进入秒的设置,地址指针指向miao显示位置处,通过两个if、语句分辨循环控制显示秒数的加和减。当S5=2时,地址指针指向fen显示位置处,变量最大值为60。当S5=3时, 指针指向shi显示位置处,变量最大值设为24。当S5=5时,地址指针指向xingqi现实的位置处,最大值设为7,1至7

24、分别为Mon、Tue、Wen、Thu、Fri、Sta、Sun字符串显示。随着S3值的不同程序变化雷同。 时间设置子程序流程图如图11所示: 图11 时间设置流程图4.3 闹钟设置子程序流程闹钟的设置时通过S6键的按下次数来判断的。当单片机检测到S6键按下一次时则进入脑中设置界面,光标并自动跳到秒设置位置,一对苗进行设置,当S6键依次按下2、3、 4次时,则分别进入闹钟的时、分、开关的设置。具体内容如图12所示: 图12 时间设置程序图第五章 系统调试调试工作分硬件调试和软件调试两部分,调试方法介绍如下:首先,硬件调试主要是先搭建硬件平台,然后利用万用表等工具对电路检查,最后应用程序进行功能调试

25、。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。然后,可以直接应用一些编辑或仿真软件进行软件调试,比如单片机C51编辑软件Keil。该软件提供了一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。通过编译、运行,可以检查程序错误。但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。在软件调试过程中要仔细耐心,即便是多写或少些一两个字符,都无法编译成功。而有时往往在Keil中编译、运行无错,但烧录到单片机中运行起来就会出错,很可能是编程时管脚或时序编辑得不对。还有一种方式,即应用仿真软件搭建电路的软件平台,再导入程序进行仿

26、真调试。如果电路出错,可以在计算机上方便的修改电路,程序出错可以重新编辑程序,这种方法节时、省力,经济、方便。笔者应用的仿真软件为Proteus。总之,调试过程是一个软硬件相结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其功能的关键13。在调试过程中,首先必须明确调试顺序。例如:本设计是在单片机系统基础上建立起来的,所以必须先确定单片机基础电路能否正常工作。为了正确显示时间,接下来还要确定显示电路能否正常工作。硬件调试的过程,也是软件调试的过程。然后,要准备好调试的工具。硬件调试需要万用表、示波器等,软件调试一般需要诸如Keil等仿真编辑器。笔者根据自己实际制作该多功能电子时钟的经验

27、,将调试过程介绍如下:5.1硬件调试5.1.1单片机基础电路调试单片机基础电路包括电源、单片机、外部时钟震荡电路、复位电路和外部接口电路。调试过程需要注意以下几点:1. 检查电源是否完好。2. 单片机电源要连接正确,并且保证AT89C51的31号引脚接高电平。AT89C51的31号引脚是外部程序存储器选择信号端,当该引脚为高电平时,单片机会一直从片内程序存储器内取指令。3. 如果使用P0口做I/O口,要接上拉电阻。4. 使用万用表排查电路中是否存在断路或者短路情况。笔者在制作外部接口电路时使用的是排针,焊接时容易出现管脚之间短路,所以在上电以前必须先排查电路。5. 编辑一个使一组发光二极管循环

28、点亮的程序并烧录到单片机内,上电运行,检查单片机是否正常工作,复位电路是否正确。笔者编辑了使一组P1口点亮8个发光二极管循环点亮的程序,程序代码如下:#include void delay(void) /延时子程序 Unsigned char i, j,k; /延时时间根据变量i,j,k不同而改变 for(i=50;i0;i-)for(j=50;j0;j-)for(k=250;k0;i-);void main() unsigned int n; unsigned char code ledp8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; while(1)

29、P1=0xFFH; /初始化P1口 for(n=0;n0;t-) for(j=6245;j0;j-) ; void dis() /显示子程序,06 unsigned char gsb,led,led1,jj; disp_buffer0=tab0; disp_buffer1=tab1; disp_buffer2=tab2; disp_buffer3=tab3; disp_buffer4=tab4; disp_buffer5=tab5; disp_buffer6=tab6;for(gsb=0;gsb7;gsb+) led=disp_buffergsb; for(jj=0;jj1; void mai

30、n() /主程序 while(1) dis(); delay_50ms(10); 5.1.3 DS1302电路调试该电路包含DS1302芯片、主电源、备用电源、晶振等部分。在与单片机连接的过程中需要注意以下几点:1. 清楚DS1302与单片机连接的管脚。本设计定义为:DS1302的SCLK连接P1.5,I/O连接P1.6,RST连接P1.7。2. 注意电源正负极连接。3. DS1302接32.768KHz的晶振。该晶振体型比较小,在焊接时要小心,注意不要将晶振引脚弄断。同时也要尽量使晶振离DS1302的X1、X2引脚近距离焊接。4. 编写DS1302的时钟/日历程序,只要求能够正确显示时间。烧

31、录进单片机,检查电路电源正负极连接是否正确,检查P1.0和P1.1引脚接线是否正确。检查无误后可以上电检查。笔者编写了一段时钟/日历显示程序,设置初始时间为14:28:00,初始日期为2008年5月12日。上电后LED数码管显示“142800”,之后开始走时。观察32分钟之后,数码管显示“150000”,证明DS1302电路正确。源程序见附录A5.1.4按键电路调试按键电路比较简单,故调试起来也很容易。如果确保按键焊接正确,只需在DS1302的调试程序上加上一段日历显示子程序,并在主程序中写入:If(P_7=0)dis_calendar;日历显示子程序原理与时钟显示子程序原理相同,源程序见附录

32、A该程序的功能是:当按下K7时,第16位LED数码管马上由时间显示日期。当K7弹出后,数码管16位有显示日期转为显示实时时间20。5.2软件调试在硬件调试完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。在本设计中,软件调试主要分三大部分:实时时钟日历子程序调试、环境温度采集子程序调试、按键子程序调试。将这三部分调试成功,那么整个设计的软件部分也就基本完成了。在硬件调试部分,已经将实时时钟日历子程序调试完毕了,只需在主程序中调用按键子程序即可,源程序见附录A,这里不再赘述。5.2.1环境温度采集子程序调试DS18B20温度传感器使用起来非常方便,不但接线少,而且编程容易。该温度传感器在

33、读写数据时需要严格的时序,为了方便编写对应的延时程序,此时单片机一般都选用11.0592MHz的晶振 13。为了能正常显示温度,需要将读取到的TL和TH组合成一个字节,再转换成十进制数。本设计使用DS18B20时采用了温度传感器出厂默认设置12位分辨率,所以定义温度值temp等于TH,左移8位,再与TL进行“或”运算,即可得到温度值。由于条件限制,笔者无法做出温度采集部分,所以应用了Proteus软件进行仿真。仿真过程见附录D。温度显示子程序与时间显示子程序原理相同,源程序见附录A5.2.2键盘子程序调试依据设计要求,键盘子程序需要完成对时间/日历的校对、日期/温度的显示和闹铃的开关。为了便于

34、显示子程序和闹铃子程序的调用,除了K1、K2键以外,其余按键都定义功能标志位。例如:If(K7=0)alarm_flag= true;在调用闹铃子程序时,闹铃标志位为“1”,则开启闹铃,否则关闭闹铃。源程序见附录A。 结论过去人们应用时钟仅仅是为了明确当前时间。随着生产力的发展,社会的进步,生产生活对时钟的需求越来越大,对时钟的体型、功能的要求也各有不同。所以多功能电子时钟在今后的应用也会越来越广泛。基于单片机实现电子时钟,仅仅是众多方法之一。并且市场上的实时时钟日历芯片品类繁多,IC化的传感器各种各样,显示方式也愈趋于人性化。所以多功能电子时钟有多种实现方案,能够实现的功能也很多,笔者已经通

35、过仿真和调试,实现了时间日历显示和校对、闹铃等功能。本文采用51单片机C语言进行编程,当然也可以应用汇编语言编程。由于笔者能力有限,提供的程序还可以进一步优化,并且还可以根据需求为电子时钟增设新功能。参考文献1 赵德安 等.单片机原理及应用.北京:机械工业出版社,2009.2 谭浩强.C程序设计(第二版).北京:清华大学出版社,1999.3 杨志忠.数字电子技术.北京:高等教育出版社,2000.4 马家辰 等.MCS-51单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,1997.5 吕能元 等.MCS-51 单片微型计算机原理接口技术应用举例.北京:科学出版社,1993.6 陈杰,黄鸿.传

36、感器与检测技术.北京:高等教育出版社,2002.7 王庆.Protel 99SE&DSP 电路设计教程.北京:电子工业出版社,1999.8 徐爱钧.单片机原理使用教程基于Proteus虚拟仿真.北京:电子工业出版社.2009.致 谢在论文完成之际,我要特别感谢我的指导老师老师的热情关怀和悉心指导。在我撰写论文的过程中,老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了李文涛教授悉心细致的教诲和无私的帮助,特别是她广博的学识、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢和深深的谢意。 在论文

37、的写作过程中,也得到了许多同学的支持和帮助,给予了我很多宝贵的意见,在此一并致以诚挚的谢意。 感谢所有关心、支持、帮助过我的良师益友。 最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!附录A 程序程序A.1 主程序/主程序的功能是对子程序进行调用,并设定显示延时时间#include reg51.h /头文件;#include typedef.h#include lcd.h#include key.h#include alarm_clock.h#include ds1302.hsbit DAT=P10; /74LS164的A、B脚接单片机P1.0;sbit CLK=

38、P11; /74LS164的CLOCK脚接单片机P1.1;sbit Calendar=P27; /定义日历显示按键K7接单片机P2.7;sbit WDZ=P26; /定义温度显示按键K6接单片机P2.6;sbit FUN=P25; /定义功能选择键K5接单片机P2.5;sbit UP=P24; /定义加1键K4接单片机P2.4;sbit DOWN=P23; /定义减1键K3接单片机P2.3;sbit Ente_Snooze=P22; /定义确认/贪睡键K2接单片机P2.2;sbit Alarm=P21; /定义闹铃开关键K1接单片机P2.1;sbit beeper=P20; /定义闹铃接口P2

39、.0;#define uint unsigned int#define uchar unsigned char#define true 1 /定义true=1;#define false 0 /定义false=0;#define FUNCTION 0xDF /定义FUN键值为DFH;#define UP 0xEF /定义UP键值为EFH;#define DOWN 0xF7 /定义DOWN键值为F7H;#define ALARM 0xFB /定义ALARM键值为FBH;#define Ente_Snooze 0xFB /定义E/S键值为BFH;void key_task(void);void p

40、rocess(uchar current_key);extern bit flash_flag; /定义全局变量(标志位);extern uchar function_count; extern bit alarm_flag;extern bit key_enable;void dis(); void sendbyte();voidreset_3w();voidwbyte_3w(uchar);ucharrbyte_3w();voidwrite_byte(uchar Clock_Add,uchar Clock_Data);uchar read_byte(uchar);void write_clock_burst();void ds1302_init();void ds1302_task();void lcd_disp_time1();void dis_WD();void ds18b20();void alarm_clock(void);void delay(unsigned int time) /10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号