《毕业设计基于STC12C5410AD单片机的无线网络时钟设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于STC12C5410AD单片机的无线网络时钟设计.doc(48页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)题 目基于无线的网络时钟设计班 级 生产过程自动化0602 姓 名 潘飞文 指导教师 左希庆 2009年 1月7日目 录引言31.绪论41.1本设计的背景41.2 本设计的内容41.3本设计的目的和意义52.系统控制方案的确定52.1 系统设计的基本步骤52.2 系统控制方案52.3 系统控制流程图63.系统硬件设计73.1微控制器(单片机)的选型73.2 时钟芯片的选型83.3 温湿度芯片的选型93.4 无线模块的选型103.5 语音芯片的选型103.6 显示的选型113.7 红外遥控器的选型124系统软件设计134.1 单片机C语言的概述134.2 系统工作过程分析134.
2、3 控制系统程序设计135.结论15致谢16参考文献16附图17引 言单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。它是一种在线式实时控制计算机,有较强的抗干扰能力,成本较低。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单
3、片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率表,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、
4、洗衣机、电冰箱、空调机、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6.在各种大型电器中的模块化应用某些专用单片机设计用于实
5、现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。1.绪论1.1本设计的背景现阶段国内外对于时钟的研究主要表现在:个性、便捷等功能上。时钟产品多以这几类为主:指针式时钟、数码管显示时钟、点阵时钟,液晶显示时钟。由于现在的时钟多采用电子线路,因此在时间的精确度上有很大的提高,并且随着微电子技术的迅猛发展,无论是时钟的外型还是内部线路都有很大的改进。比如现在的时钟很多都非常有个性,如:概念
6、时钟,时钟的外观做的卡通化,所以它们很受年轻人的喜欢。有一种新型时钟能产生多点信号,它是在时钟上加装集成电路为基础的中央控制电路再分别与键盘控制器,语音录放器和液晶显示器联接组装而成,是一种全新颖的多段提醒点智能闹钟,使用者可以多次设定响闹时间,并提前录好该时间要做的事,到指定时间就会分别按时用语音提醒并在液晶显示器上作出指示。还有一种新型时钟它的作用是“在最佳被唤醒的时候”叫醒,也就是最浅睡眠状态下叫醒。与闹钟配套的有个类似护腕的传感器,使用者只需将其佩戴在手腕处便能监测使用者的身体活动状态,还可以通过测试使用者在睡眠时有多少次翻身来判定熟睡程度,最后传感器将信息通过无线方式发送给闹钟,由闹
7、钟来计算出叫醒使用者的最佳时间。鉴于现在的时钟趋向个性,方便、多功能的特点,本设计将集技术和创新于一体,赋予数字时钟的一个全新的概念。1.2 本设计的内容1) 运用SM311无线模块组建一个无线网络与各个时钟终端进行通讯。2) 应用时钟芯片、温湿度芯片,采集其数据通过时钟显示器进行显示。3) 应用语音芯片来进行语音报时,增加项目的趣味性。4) 通过红外可以对各个时钟终端分别进行时间、闹钟的设定,并可实时修改时间、闹钟时间等参数设置。1.3本设计的目的和意义时钟是显示时间一种器件。它的应用遍及我们周围的每一个角落,应用非常广泛。现阶段家庭广泛应用的时钟大多只具有时间显示功能,无法显示日历、无法定
8、时、也不具有温湿度显示等功能。由于数字时钟采用石英晶体起振,各晶振间由于存在误差而导致了时间差的累积,所以即使同样的数字时钟,经过一段时间后显示的时间也不相同。由于现在大多数时钟存在着这么多的缺点,所以本设计就比较有意义,本设计的重点是无线网络在数字时钟中的具体应用。通过时钟间的无线通讯可以对家庭或办公室所在的任一个时钟进行时间、日期、温度等传输并校正。2.系统控制方案的确定2.1 系统设计的基本结构本设计主要由显示模块、时钟模块、温湿度检测模块、无线通讯模块、红外控制模块、语音模块、闹铃模块。总体框架图如图2.1所示:主控制器(单片机)红外控制128X64液晶显示时钟模块温湿度模块无线通讯模
9、块语音模块闹铃模块从控制器(单片机)128X64液晶显从控制器(单片机)无线通信模块无线通信模块 图2.1 总体框架图2.2 系统控制方案 无线网络时钟系统的控制要求如下:(1)初始时间、闹钟时间的输入:在打开电源,系统初始化开始后,就要对系统进行一些基本参数的设定。如初始时间(即现在的时间)、闹钟的时间。(2)采集温湿度数据并处理:在设定好参数后,系统会定时采集温湿度的数据,并对数据进行处理,转化成温湿度数值,放入指定的地址中。为后面的显示做好准备。(3)通过无线模块传输数据: 控制器(单片机)会定时通过无线模块把时间数据,温湿度数据传送给其它时钟。(4)在线修改时间 因为任何时钟通过一段时
10、间的运行后肯定会出现误差,所以该系统有在线修改时间程序。可通过红外遥控对时间和闹钟时间进行在线修改。(5)语音报时 为了使时钟更人性化,该系统还设计了语音报时程序。用户可以通过红外遥控器,对现在的时间进行报时。(6)闹铃 通过初始设定或在线设定好闹钟时间后,当到达该时间,蜂鸣器会出现闹铃响声。2.3 系统控制流程图开始初始化输入初始时间闹钟时间采集时钟芯片数据采集温湿度数据将以上采集到的数据显示在液晶屏上判断是否到闹钟时间判断是否要语音报时按时通过无线模块与时钟中断通信判断是否要修改时间或闹钟时间语音模块报时NNYYYN报警模块3.系统硬件设计3.1微控制器(单片机)的选型 全世界的单片机品种
11、繁多,有ATMEL公司的AVR单片机、Motorola单片机、MicroChip单片机、MDT20XX系列单片机、EM78系列OTP型单片机、Scenix单片机、EPSON单片机、东芝单片机、8051单片机、LG公司生产的GMS90系列单片机、华邦单片机、Zilog单片机、NS单片机等等。我选用的是由宏晶科技生产的STC12C5410AD单片机。因为该单片机较以往的单片机提高了工作效率,使系统的可靠性、抗干扰能力得到了显著改善,而且进一步小型化和便携化。其内部集成的Flash几乎拥有现代追求个性化的用户所需要的掉电后数据不丢失、快速的数据存取时间、电可擦除、容量大、在线可编程、足够多的擦写次数
12、、价格低廉和高可靠性等所有优点。图3.1为该单片机的管脚引脚图。 图3.1 STC12C5410AD引脚图STC12C5410AD单片机具有以下特点:(1) Flash存储器STC12C5410AD Flash存储器为10KB。 Flash存储器主要用作程序存储,可经计算机串口接口下载程序;程序运行时能对其中的1段或多段进行擦、写操作,因此兼有数据存储器功能。Flash存储器的掉电保护功能可用十程序数据保存,可以按字或字节读写,最小擦除单位为1段,经过擦除的位为“1,写入位为“0。(2)脉宽调节模式(PWM)所有PCA模块都可用作PMW输出。输出频率取决于PCA定时器的时钟源。由十所有模块共用
13、仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器EPCnL,CCAPnL有关。当CL SFR的值小十EPCnL, CCAPnL时,输出为低,当PCA CL SFR的值等于或大于EPCnL, CCAPnL时,输出为高。当CL的值由FF变为00溢出时,EPCnH, CCAPnH的内容装载到EPCnL,CCAPnL中。这样就可实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn不II ECOMn位必须置位。(3) I/O口工作类型设置STC12C5410AD带有24个I/O引脚,它的I/O与传统的I/O不同,每个I/O口均可由软件
14、设置成4种工作类型之一,使得功能口和通用I/O口复用。4种类型分别为:准双向口(标准8051输出模式)、推挽输出、仅为输入(高阻)和开漏输出功能。在对同一个I/O口进行操作前要选择其要实现的功能,这样大大地增强了端口的功能和灵活性。其中一些I/O口还可以与STC12C5410AD中的特殊模块相结合完成更为复杂的工作。如与捕获比较模块相结合可以实现串行通信,与A/D模块结合实现A/D转换等。此外,STC12C5410AD的I/O端口电气特性也十分突出,几乎所有的I/O口都有20mA的驱动能力,对于一般的液晶显示屏、蜂鸣器可以直接驱动而无需辅助电路。许多端口内部都集成了上拉电阻,可以方便地与外围器
15、件相接。(4) A/D模数转换寄存器STC12C5410AD单片机的A。转换口在P1口(P1.7P1.0),有8路10位高速A/D转换器,STC12C5410AD系列是10位精度的A/D,速度均可达到1 OOKHz(10万次/秒)08路电压输入型A/D,可以完成温度检测、电池电压检测、按键扫描、频谱检测等功能。上电复位后P1口是弱上拉型的I/O口,可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。这样,A/D转换和I/O口可以灵活的运用,节省了软件及时间。(5)有配套的仿真开发工具STC12C5410AD的Flash存储器给用户的开发带来方便。用
16、户可以将芯片焊接在线路板上后进行下载程序、调试程序和修改程序。同时,STC12C5410AD的片内已集成了程序断点控制等逻辑功能。因此,它的开发工具较为简单,只需1套PC环境下的调试软件和1个连接十并口的仿真器。仿真器与STC12C5410AD经串口连接。因此,用户只要在设计应用系统时为调试需要预留好STC12C5410AD的串口接口的引出插座,即可实现系统的程序下载调试、系统现场编程硬件仿真或软件升级功能,而且无需外加编程电压。3.2 时钟芯片的选型 我采用的是DALLAS 公司推出的DS1302。该芯片是涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM ,通过简单的串行接口
17、与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息。每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24 或12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:(1)RES( 复位);(2)I/O 数据线;(3)SCLK。串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302 是由DS1202 改进而来,增加了以下的特性:双电源管脚用于主电源和备份电源供应,Vcc1 为可编程涓流充电电源,附加七个字节
18、存储器。它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。如图3.2为它的原理图。 图3.3 DS1302的原理图3.3 温湿度芯片的选型温湿度模块采用的是瑞士Sensirion公司的SHT11温湿度传感器。该芯片具有I2C总线接口的单片全校准数字式相对湿度和温度传感器。该传感器采用独特的CMOSens TM技术,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。传统的模拟式湿度传感器一般都要设计信号调理电路并需要经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性、一致性等方面往往不尽人意。SHT11是基于CMOSensTM技术的新型温湿度传感
19、器。该传感器将CMOS芯片技术与传感器技术结合起来,从而发挥出它们强大的优势互补作用。如图3.4为它的实物图。该芯片能将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图3.5所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准寄存器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还
20、集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5左右,同时功耗也会有所增加。此功能主要为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(95RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。图3。6为它的原理图。图3.4 SHT11实物图图3.5SHT11内部结构图 图3.6SHT11原理图3.4 无线模块的选型无线通讯模块采用的是SM31无线模块。SM31型微功率无线数传模块采用Chipcon公司高接收灵敏度无线集成芯片CC1020 RF芯片,Atmel 公司的微功耗
21、,低噪音,高速8位单片机,也内置多种高纠错信道编码通信技术,用户使用时,无需任何编码,具有更高的抗干扰性强,通信稳定的特点。图3.7为它的实物图。 采用高效前向纠错信道编码技术,提高了数据抗突发干扰和随机干扰能力;采用透明的数据传输,提供透明的数据接口,能适应任何标准或非标准的用户协议;自动过滤掉空中产生的噪音号及假数据,使用方便,采用 双串口,同时提供TTL/RS-232/RS-485共3种接口方式,大的数据缓冲区,接口波特率为1200115200Bit/s,格式为8N1/8E1用户可自定义,可1次传输无限长度的数据,用户可灵活编程设置。可广泛用于各种场合的短距离无线通信领域。 图3.7 S
22、M31无线模块实物图3.5 语音芯片的选型ISD2560是ISD系列单片语音录放集成电路的一种。这是一种永久记忆型语音录放电路,录音时间为60s,可重复录放10万次。该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPROM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,从而避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。该器件的采样频率为8.0kHz,同一系列的产品采样频率越低录放时间越长,但通频带和音质会有所降低。原理图如图3.8。此外,ISD2560还省去了A/D和D/A转换器。其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时
23、钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480字节的EEPROM。SD2560内部EEPROM存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms。此外,ISD2560还具备微控制器所需的控制接口。通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能,如信息的组合、连接、设定固定的信息段和信息管理等。ISD2560可不分段,也可按最小段长为单位来任意组合分段。图3.8 ISD2560原理图3.6 显示的选型128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵
24、图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。实物图如图3.9,图3.10为它的原理图。图3.9 128X64实物图图3.10 128X64原理图3.7 红外遥控器的选型红外控制模块是由红外发射器与红外接收器组成。红外控
25、制模块在设计中所起的作用是输入和在线修改时间、闹钟的数据。可在线开启观看闹钟时间,可开启和关闭时钟报时功能,可关闭闹钟等功能。实物图如图3.12。图 3.12 红外遥控器实物图红外遥控器使用方便,功能多目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。而且红外遥控器发出的是红外线不受阳光的干扰,所以选择红外遥控器。4系统软件设计4.1 单片机C语言的概述c语言是很好用的结构化语言,80年代后,c语言开始在单片机上运用。过去长期困扰人们的所谓“高级语言产生代码太长,运行速度太慢,运行效率不高,所以不适合单片机使用。所以单片机c语言集成开发环境成功的解决
26、了这个难题,使得单片机c语言的效率大大的提高,而且在关键部位还能嵌入汇编语言代码,从而挖掘程序的最高潜力。目前,8051上的C语言的代码长度,已经做到了汇编水平的1.21.5倍。4K字节以上的程度,C语言的优势更能得到发挥。至于运行速度的问题,只要有好的仿真器,找出关键的代码,再进一步做一下人工优化,就可很容易达到美满。单片机c语言是高效的单片机开发语言。4.2 系统工作过程分析1初始化2进入初始化参数设定界面,输入初始时间、闹钟时间。3设定参数后,按开始键进入时钟界面(系统开始全面运行)。4控制器(单片机)定时向温湿度模块读取数据,并进行数据处理。5控制器(单片机)定时到时钟芯片(IS130
27、2)读取时间。6在得到温湿度、时间数据之后,控制器(单片机)把时间,温湿度显示在液晶显示屏上。7控制器(单片机)定时把温湿度数据,时间数据通过无线模块传送给其它时钟。8控制器(单片机)检查闹铃标志位。如果是执行闹铃程序,如果否跳过该程序。9在外部中断中,当检测到要语音报时,系统进入语音报时程序。执行报时功能。10在外部中断中,当检测到要修改时间或修改闹钟时间时,系统进入修改界面,而且系统的时间程序仍在运行,如果没修改数据或是修改数据没保存,当跳出修改界面后,时间将不会该变。4.3控制系统程序设计1. 显示12864液晶显示屏,具有四行显示功能,而且内部含有国标一级,二级简体中文字库的点阵图形液
28、晶显示模;所以可以同时显示时间、日期、温度、湿度等内容。在显示方式上是采用动态的显示方式,所以能实时显示传感器中的数据。2. SHT11温湿度传感器SHT11是利用温湿度传感器分别产生相对温度或湿度的信号,然后经过放大,分别送至A/D转换器进行模/数转换、校准和纠错,最后通过二线串行接口将相对湿度数据送至主控制器进行处理。所以在程序开始时,微处理器先用一组启动传输时序表示数据传输的启动,当SCK时钟为高电平时,DATA翻转为低电平;紧接着SCK变为低电平,随后又变为高电平;在SCK时钟为高电平时,DATA再次翻转为高电平。主机发出启动命令,随后发出一个后续8位命令码,该命令码包含3个地址位(芯
29、片设定地址为000)和5个命令位;发送完该命令码,将DATA总线设为输入状态等待SHT11的响应;SHT11接收到上述地址和命令码后,在第8个时钟下降沿,将DATA下拉为低电平作为从机的ACK;在第9个时钟下降沿之后,从机释放DATA(恢复高电平)总线;释放总线后,从机开始测量当前温度或湿度,测量结束后,再次将DATA总线拉为低电平;主机检测到DATA总线被拉低后,得知温度或湿度测量已经结束,给出SCK时钟信号;从机在第8个时钟下降沿,先输出高字节数据;在第9个时钟下降沿,主机将DATA总线拉低作为ACK信号。然后释放总线DATA;在随后8个SCK周期下降沿,从机发出低字节数据;接下来的SCK
30、下降沿,主机再次将DATA总线拉低作为接收数据的ACK信号;最后8个SCK下降沿从机发出CRC校验数据,主机不予应答(NACK)则表示测量结束。3. 语音语音模块采用的是ISD2560语音芯片。ISD2560虽然提供了地址输入线,但它的内部信息段的地址却无法读出。本系统采用单片机来控制,不需读出信息地址,而直接设置信息段起始地址。其实现方式有两种:一是由于ISD2560的地址分辨率为100 ms,所以可用单片机内部定时器定时100 ms,然后再利用一计数器对单片机定时次数进行计数,则计数器的计数值为语音段所占用的地址单元。该方式能充分利用ISD2560内部的E2PROM,在字段较多时可利用该方
31、法。二是语音字段如果较少,则可根据每一字段的内容多少,直接分配地址单元。一般按每1s说3个字计算,60 s可说180个字,再根据ISD2560的地址分辨率为100 ms,即可计算出语音段所需的时间。本文采用第二种方式。放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。再将P/R端设为高电平,PD端设为低电平,并让/CE端产生一负脉冲启动放音,这时单片机只需等待软计时器结束,即报完这段语音所需的时间。软计时器结束后,如果还要放音就马上重新输入初始地址,在重新启动软计时器。如果要结束就直接输入ISD2560的信息结束信号,即EOM的地址。 信号为一负脉冲,在负脉冲的上升沿,该
32、段语音才播放结束,所以单片机必须要检测到/EOM的上升沿才能播放第二段,否则播放的语音就不连续,而且会产生啪啪声,这一点在编制软件时一定要注意。4. 闹铃当时间走到预定的闹钟时间时,蜂鸣器要发出闹铃声。单片机只需要把现在的时间跟闹钟设定的时间作比较,如果一样就发出闹铃声。为了能关闭闹铃,只需在发出闹铃声的条件上再加一个条件就行。而为了更人性化有两种方法来关闭,一种是直接关闭,即把改变闹铃的条件;另一种是暂时关闭,在过5分种后会继续闹铃。这就需要改变原始闹钟设定的时间,即选择这种关闭后,程序要在原来设定的时间上再加上5分钟,这样5分钟后才会继续发出闹铃声。5.红外控制在本系统中红外控制采用的是中
33、断控制方式。控制器(单片机)的外中断接红外接收器,当有红外接收到,会马上转到中断程序,对红外信息进行解码并执行相应的指令。这样就能实时控制整个系统。所以当要进行语音报时时,只要按下语音报时键,系统会马上作出处理。就能马上执行语音程序了。5.结论本系统主要以单片机为核心,利用单片机的强大的控制功能,实现了无线网络的时钟设计,正真实现了通过时钟间的无线通讯让家庭或办公场所的任一个时钟进行时间、日期、温湿度等校正,还可进行闹钟设定、语音定时、报警等功能。通过本设计,我学习到了很多东西,在工作的细心上也得到了提高。并且,更了解了有关单片机的功能。我选择这个设计,也是为了弥补以前学习上的不足。这次设计,
34、使我了解到老师的用心良苦,并且从老师那学到了很多宝贵的东西。致谢本论文是在湖州职业技术学院左希庆老师的指导下完成的。在做论文的过程中左希庆老师严谨的治学态度和一丝不苟的工作精神给了我深刻的启发,也给了我很大的触动。另外,左希庆老师经常给我讲解不懂的地方,教我怎么入手,使我能尽快的完成论文。还要感谢系里其它的老师的指导,给了我很大的帮助。在此,对老师在工作和生活中给予的指导和关心致以最真诚的谢意。同时在这里还要感谢自动化系给予我们的关心和帮助,感谢机房老师给予我们上机实验方便。感谢系里其它的一些同学在设计中提供大量的支持和帮助。我们即将毕业,在此,再一次向三年中在学习和生活中给予过我帮助的老师和
35、同学致谢。参考文献1 陈立定、吴玉香、苏开才. 电气控制与可编程控制器M.广州:华南理工大学出版社.20012 刘载文、李毫升、钟亚林. 电梯控制技术M.北京:电子工业出版社.19963 秦健. 可编程控制器和变频器载改造在用电梯自动控制系统中的应用M. 应用技术出版社.20064 唐勇奇. 电梯变频器调速PLC控制的设计与实现M. 电机电器技术出版社.20005 王平、崔纳新. PLC在电梯控制中的应用J. 微计算机信息.1999.(2)6 孙忠献. 电机技术与应用M. 福建:福建科学技术出版社.2004.37 李景学、金广业. 可编程控制器应用系统设计方法M. 北京:电子工业出版社.199
36、58 徐惠钢、郭文华. 基于PLC的电梯高精度位置控制的实现J. 微计算机信息.2007,23(5):61-639 金晴川. 电梯与自动扶梯的技术词典M. 第一版,上海:上海交通大学出版社.200510 王玉申. 通用变频器的选择与使用M. 中华纸业出版社.2001附图#include #include#include #include #define uchar unsigned char#define uint unsigned int typedef union uint i; float f; value;enum TEMP,HUMI;#define DATA P3_5 /温湿度数据口
37、#define SCK P3_4 /温湿度时钟口#define noACK 0#define ACK 1 /adr command r/w#define STATUS_REG_W 0x06 /000 0011 0#define STATUS_REG_R 0x07 /000 0011 1#define MEASURE_TEMP 0x03 /000 0001 1#define MEASURE_HUMI 0x05 /000 0010 1#define RESET 0x1e /000 1111 0/*=*/sbit CLK=P20;/移位时钟脉冲SHsbit R1=P21;/输出锁存器控制脉冲STsb
38、it DAT=P22;/串行数据输入DSsbit A8=P13;sbit A9=P14;sbit PR=P15;sbit PD=P16;sbit CE=P17;sbit IR_RE = P32; /红外解码判断标志位,为0则为有效信号,为1则为无效 uchar date4=0,0,0,0; /date数组为存放地址原码,反码,数据原码,反码 uchar hour_date,minute_data,lsxw;bithour_mark_0=0,hour_mark_1=0,hour_mark_2=0,minute_mark_0=0,minute_mark_1=0,minute_mark_2=0;uc
39、har i;uchar code song10=0x05,0x0a,0x15,0x1e,0x29,0x30,0x38,0x40,0x48,0x4f; /*0,1,2,3,4,5,6,7,8,9,10,点,分,*/uchar data speak_data8=0x00,0x58,0x00,0x5e,0x00,0x58,0x00,0x67; /*=*/sbit E_CLK =P11; /clock input 同步时钟输入端 sbit RW_SID=P10; /data input/output串行数据输入、输出端 sbit T_IO=P25; /* 实时时钟的数据线*/sbit T_CLK=P2
40、6; /* 实时时钟的时钟线引脚*/sbit T_RST=P27; /* 实时时钟的复位线引脚*/unsigned char timer_5ms=0,timer_1s=0; /* +1 in T0_INT() 供秒计时用 */bit fig_1s; /* 1 =1秒时间到 标志 */unsigned char delay1_s=0; /* 软秒计器1(延时器) */unsigned char delay2_s=0; /* 软秒计器2(延时器) */unsigned char delay3_s=0; /* 软秒计器3(延时器) */unsigned char delay4_s=0; /* 软秒计
41、器4(延时器) */unsigned int delay2500_s=0; /* 软秒计器5(延时器) */unsigned int delay3000_s=0; /* 软秒计器6(延时器) */unsigned int delay6500_s=0; /* 软秒计器7(延时器) */unsigned char i_p=0,pfw=0; /* 软秒计器1(延时器) */bit pfw_1=1,delay2500_s_s=0,delay3000_s_s=0,delay6500_s_s=0,bed_neb=0,nao=0;uint ucCur7=0x00,0x00,0x00,0x00,0x00,0x
42、01,0x00; /时间寄存器暂放uchar code SEG10=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;/0 1 2 3 4 5 6 7 8 9uchar code week14=0xbb,0xd2,0xfe,0xb6,0xfd,0xc8,0xc4,0xcb,0xe5,0xce,0xf9,0xc1,0xd5,0xc8; /一 二 三 四 五 六 七 八uchar data ucCurtime7=0x00,0x00,0x00,0x00,0x00,0x01,0x00; / 秒 分 时 日 月 星期 年uchar data alarm_
43、clock7=0x00,0x00,0x00,0x00,0x00,0x01,0x00;/闹钟寄存器暂放 uchar data hold8; /显示暂存uchar a_1=100,b_1=100,c_1=100,d_1=100,e_1=100,f_1=100,g_1=100,h_1=100,i_1=100;/*-延时1ms程子程序-*/delay1000() unsigned char i,j; i=11; do j=0; doj-; while(j); i-; while(i);/*-延时882us子程序-*/delay882()uchar i,j;i=9;doj=250; doj-; while(j); i-; while(i);/*-延时2400us程子程序-*/delay2400() unsigned char i,j;i=26;doj=250; doj-; while(j); i-; while(i);/*=