《单片机综合实验(基于单片机实现风扇红外遥控电路的设计).docx》由会员分享,可在线阅读,更多相关《单片机综合实验(基于单片机实现风扇红外遥控电路的设计).docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、攀枝花学院专业根底综合试验报告基于单片机实现风扇红外遥控电路的设计2023年六月摘 要电风扇作为一种价格廉价、体积小巧的清热解暑的家用电器,在家庭中的普及率格外高,其技术的进展也越来越成熟。本文介绍了一种利用红外无线遥控来对电风扇调速定时的设计方法。整个系统的核心局部就是红外遥控和单片机掌握。系统以 AT89S51 单片机为掌握器,通过红外接收管接收遥控器信号,单片机解码后进展相应的掌握。掌握方面包括两个方面:自动掌握和手动掌握。自动掌握状态下风扇依据温度自动调档;手动掌握状态下通过遥控器定时和调速。系统的温度测量承受 DS18B20 数字温度传感器,定时承受 DS1307 时钟芯片。当前的时
2、间和温度都可以通过液晶显示器显示。关键词 红外遥控 单片机定时10AbstractInfrared remote control circuit has now become a circuit design fashion, remote electric control fan in the early 90s has set up a file in the pearl river delta of guangdong began the research, development and production ,is simply introduced the infrared rem
3、ote control transmitting and receiving system principle, through the infrared system control fan operation, this design based on the demand of the market combined with infraredsremotecontroldesign,simple,cheap,easy characteristics ,with the dedicated remote control launch receiver chips ,based on th
4、is designa simple intelligent infrared remote control electric fan system ,including receiving and launch of two parts.Key word: infrared; remote control ; fan.名目摘 要2Abstract31 引言52 方案设计52.1 方案比较与选择52.1.1 遥控方式选择52.1.2 定时方案选择62.2 设计方案63 系统硬件设计73.1 硬件设计应用环境简介73.2 红外遥控单元83.2.1 红外简介83.2.2 遥控电路设计93.3 单片机
5、掌握单元103.3.1 单片机简介103.3.2 单片机掌握电路113.4 时钟单元123.4.1DS1307 简介123.4.2 时钟电路设计133.5 测温单元133.5.1DS18B20 简介133.5.2 测温电路设计143.6 液晶显示单元电路153.7 风扇档位掌握单元174 系统软件设计174.1 软件的设计的架构174.1.1 程序设计应用环境174.1.2 软件设计流程图184.2 主控程序的设计194.3 各功能模块程序的设计214.3.1 读取时间数据程序设计214.3.2 读取温度数据程序设计224.3.3 读取红外信号程序设计234.3.4 显示程序设计235 硬件制
6、作245.1 元件清单245.2 制作与调试255.2.1 焊接255.2.2 消灭的问题25附录27电路原理图27PCB 图28实物图29参考文献30程序如下31致谢错误!未定义书签。1 引言电风扇是利用电机驱动扇叶旋转以使空气加速流通来实现完毕凉快的目的 的,它起源于 1830 年,一名叫詹姆斯拜伦的人从钟表的构造中受到启发制造了可以固定在天花板上的机械风扇,这种风扇利用发条驱动,但是要得到凉快的风需要爬到天花板高度上发条,使用很麻烦。1872 年,法国人约瑟夫研制出靠发条涡轮启动、利用齿轮链条转动的机械风扇。到了 1880 年,美国人舒乐将扇叶直接装在电动机上,接上电源,利用电能掌握风扇
7、,这就是真正意义上的电风扇。1908 年,美国的埃克发动机电气公司研制出了齿轮左右摇头的电风扇,防止了电风扇不必要的三百六十度转头送风问题。此后,电风扇的种类开头越来越丰富,台扇、吊扇、地扇、壁扇等,可以依据场合的需求选择种类,而且掌握方式也开头改进,从旋钮、按钮的掌握方式进展为触摸式、遥控式掌握方式,后来又消灭了可以定时、自动换挡的智能型风扇。本文提出了一种可以通过红外遥控器实现定时调速掌握风扇的设计方案,整个系统是以单片机为核心掌握器来实现智能化的。目前,单片机以其高牢靠性、高性能价格比,在工业掌握系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用,处处都可见到单片
8、机的踪影。因此,单片机技术开发和应用水平已逐步成为一个国家工业进展水平的标志之一。由于单片机技术在各个领域正得到越来越广泛的应用,世界上很多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MCS-51 系列单片机以其优越的性能、成熟的技术及高牢靠性和高性能价格比,快速占据了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。目前,可用于MCS-51 系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极便利地利用现有资源,开发出用于不同目的的各类应用系统。2 方案设计2.1 方案比较与选择2.1.1 遥控方式选择1 方案一基
9、于超声波遥控方式。超声波遥控方式中的超声传感器频带窄,所能携带的信息量少,易受干扰而引起误动作,同时,该种方式作用距离短,通用性强, 可互换。假设承受无线电遥控方式。无线电具有绕射和穿透性,不受角度、方向和障碍物的限制。但是由于我们生活的四周布满了电磁波和无线电波,所以无线电遥控很简洁受到干扰,稳定性不够高。还可以承受为红外线遥控方式。2方案二红外线技术消灭较早,本钱低,掌握内容多,抗干扰力量强,不会发生任何误动作,响应速度快,不会对其它电器产生干扰,体积小,本钱低,功耗小, 与其它方式比,可降低消耗功率 90%,而且在日常家庭生活中,几乎家家都有电视遥控器,只需要利用电视遥控器,再用单片机加
10、一个红外接收头就可以读取遥控器的键值,进而依据键值执行相应的操作。所以综上所述,从家具布局和有用性方面考虑,本设计选用红外无线遥控方案。2.1.2 定时方案选择(1) 方案一基于承受数字电路来搭建,利用 555 时基电路构成振荡器产生 100Hz 频率, 再分频得到 1Hz 频率,即产生1 秒计时。这种方案电路简单,敏捷性不高,而且准确度不够准确,不利于系统的扩展。(2) 方案二假设承受单片机作为系统掌握单元,通过时钟芯片来实现计时功能,单片机负责将时间送入显示电路显示。这种方案电路简洁、时间准确,使用便利。所以综上所述,本设计本身必需使用单片机,结合单片机考虑选用其次种时钟设计方案比较恰当。
11、2.2 设计方案本系统以 AT89S51 单片机为掌握器,通过家庭万能红外遥控器实现遥控功能,接收端承受红外接收三极管接收红外信号并将其送至单片机,单片机依据不同编码确定不同按键,进而依据按键功能掌握系统的工作状态。定时方面选用DS1307 时钟芯片来供给时间基准。单片机掌握测温通过 DS18B20 数字温度传感器实现,单片机依据温度的不同掌握风扇的 3 个不同档次的工作状态。系统的温度和时间值都可以通过液晶显示器进展实时显示。3 系统硬件设计3.1 硬件设计应用环境简介本设计硬件电路是在 Protel 电子设计软件环境下进展设计的,系统整体电路原理图见附录。Protel 电子线路设计软件是在
12、 TANGO 根底上改进的电路 CAD 软件,它在原理图文件格式、印制板文件格式、原理图器件库文件格式、印制板封装库文件格式、原理图编译和网络表转换与检查等方面保持了与 TANGO 版本全都或兼容的前提下,对原TANGO 版本做了一些改动。Protel 电子线路设计软件由原理图编辑、印制板设计、原理图输出、印制板输出、原理图器件库编辑和其他应用程序组成。电路原理图的设计是印制电路板设计中的第一步,也是格外重要的一步。电路原理图设计得好坏将直接影响到后面的工作。首先,原理图的正确性是最根本的要求,由于在一个错误的根底上所进展的工作是没有意义的;其次,原理图应当布局合理,这样不仅可以尽量避开出错,
13、也便于读图、便于查找和订正错误; 最终,在满足正确性和布局合理的前提下应力求原理图的美观。电路原理图的设计过程可分为以下几个步骤:1、设置电路图纸参数及相关信息依据电路图的简单程度设置图纸的格式、尺寸、方向等参数以及与设计有关的信息,为以后的设计工作建立一个适宜的工作平面。2、装入所需要的元件库将所需的元件库装入设计系统中,以便从中查找和选定所需的元器件。3、设置元件将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进展调整,对元件的序号、封装形式、显示状态等进展定义和设置,以便为下一步的布线工作打好根底。4、电路图布线利用 Protel 所供给的各种工具、命令进展画图工作,将
14、事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线完毕后,一张完整的电路原理图根本完成。5、调整、检查和修改利用 Protel 所供给的各种工具对前面所绘制的原理图做进一步的调整和修改。6、补充完善对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。7、保存和打印输出这局部工作主要是对设计完成的原理图进展保存,包括存盘、打印输出等, 以供以后的工作中使用。3.2 红外遥控单元3.2.1 红外简介红外线是太阳光线中众多不行见光线中的一种,由英国科学家霍胥尔于 1800 年觉察,又称为红外热辐射,他将太阳光用三棱镜分解开,在各种不同颜色的色带位置上放置了温度计,试图测量各种颜色
15、的光的加热效应。结果觉察,位于红光外侧的那支温度计升温最快。因此得到结论:太阳光谱中,红光的外侧必定存在看不见的光线,这就是红外线。也可以当作传输之媒界。红外通讯,就是通过红外线传输数据。在电脑技术进展早期,数据都是通过线缆传输的,线缆传输连线麻烦,需要特制接口,颇为不便。于是后来就有了红外、蓝牙、 802.11 等无线数据传输技术。在红外通讯技术进展早期,存在好几个红外通讯标准,不同标准之间的红外设备不能进展红外通讯。为了使各种红外设备能够互联互通, 1993 年,由二十多个大厂商发起成立了红外数据协会(IrDA),统一了红外通讯的标准,这就是目前被广泛使用的 IrDA 红外数据通讯协议及标
16、准。生活中红外线的应用有:高温杀菌、红外线夜视仪、监控设备、手机的红外口、宾馆的房门卡、汽车、电视机的遥控器、洗手池的红外感应等。红外对管主要应用于工控和测速领域。红外遥控利用的是红外光。人的眼睛能看到的可见光按波长从长到短依次为红、橙、黄、绿、青、蓝、紫,其中红外的波长范围为0.62-0.76 m,紫光的波长范围为 0.38-0.46 m,比紫光波长还短的交紫外线, 比红光波长还长的光叫红外线,红外遥控就是利用波长为 0.76-1.5 m 之间的近 红外线来传送信号的。3.2.2 遥控电路设计本设计中作为放射局部使用的遥控器为 M5046AP 机芯的电视机遥控器。电视机遥控器应用的是红外收发
17、原理,即遥控器前端侧面的红外放射管放射出红外信号,电路板上红外接收管接收到信号后送到单片机内部,经译码后变成相应的操作指令,以实现定时、遥控风扇的功能。红外遥控器的内部关键电路和接收管电路如图 3-1 所示。图 3-13.3 单片机掌握单元3.3.1 单片机简介单片机是一种集成在电路芯片,是承受超大规模集成电路技术把具有数据处理力量的中心处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路集成到一块硅片上构成的一个小而完善的计算机系统。单片机也被称为微掌握器,它最早是被
18、用在工业掌握领域。单片机由芯片内仅有 CPU 的专用处理器进展而来。早期的单片机都是 8 位或 4 位的。其中最成功的是 INTEL 的 8031,由于简洁牢靠而性能不错获得了很大的好评。此后在 8031 上进展出了 MCS51 系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业掌握领域要求的提高,开头消灭了 16 位单片机,但由于性价比不抱负并未得到很广泛的应用。90 年月后随着消费电子产品大进展, 单片机技术得到了巨大提高。随着 INTELi960 系列特别是后来的 ARM 系列的广泛应用,32 位单片机快速取代 16 位单片机的高端地位,并且进入主流市场。而传统的 8
19、 位单片机的性能也得到了飞速提高,处理力量比起 80 年月提高了数百倍。单片机诞生于 20 世纪 70 年月末,经受了 SCM、MCU、SoC 三大阶段。MCS-51 内核构造单片机的数据存储器分为内部数据存储器和外部数据存储器。MCS-51 单片机的外部数据存储器RAM/IO空间为 64KB地址为 0000H 0FFFFH,一般通过 16 位数据指针 DPTR 来访问,且外部 RAM 和外部 I/O 的地址安排是统一编址的。MCS-51 的内部数据存储器为 128B 或 256BAT89S51 的内部数据存储器为 128B,地址空间为 00H7FH,8032、8052 和 8752 的内部数
20、据存储器为 256B,地址空间为 00H0FFH。AT89S51 将内部数据存储器中的不同区域从功能和用途方面来划分,可以分为 3 个区域,即工作存放器区00H1FH、位寻址区20H2FH、堆栈和数据缓冲器区30H7FH 或 30H0FFH。I/O 口安排:P0 口P0.0P0.7为双向 8 位三态 I/O 口,当作为 I/O 口使用时,可直接连接外部 I/O 设备。它是地址总线低 8 位及数据总线分时服用口,可驱动 8 个 TTL 负载。一般作为扩展时地址/数据总线口使用。P1 口P1.0P1.7的每一位都可以分别定义为输入线和输出线做输入时,锁存器必需置 1,可驱动 4 个 TTL 负载。
21、P1 口常用作通用 I/O 口,它是一个标准的准双向口。P2 口P2.0P2.7为 8 位准双向 I/O 口,当作为 I/O 口使用时,可直接连接外部 I/O 设备。它是地址总线的高 8 位复用,可驱动 4 个 TTL 负载。一般作为扩展地址总线的高 8 为使用。P3 口P3.0P3.7为 8 位准双向 I/O 口,是双功能复用口,可驱动 4 个TTL 负载,能够实现第一功能,可作为通用 I/O 口。3.3.2 单片机掌握电路单片机掌握电路设计如图 3-2 所示。单片机自身需要时钟电路和复位电路才能工作。本设计中单片机的时钟电路通过在 XTAL1 和 XTAL2 之间连接一个 12MHz 的晶
22、振而实现,2 个引脚再分别接一个 22pF 的对地电容。复位电路通过在 RST 引脚和电源之间连接一个 10U 的电解电容来实现的,上电瞬间,电路充电,RST 引脚端消灭正脉冲,只要电源VCC 的上升时间不超过 1us,就可以实现上电自动复位,即接通电源,这样就完成了系统的复位操作。单片机的 P1.2-P1.4 口用于掌握风扇的 3 个档次,设计中用继电器来模拟风扇换挡开关;P1.6 和 P1.7 引脚掌握时钟电路;P2 口作为液晶显示的 8 位数据线; P3.0 和 P3.1 口掌握风扇工作状态指示灯,分为手动和自动 2 个状态;P3.2 中断0 用于接收红外遥控编码信号;P3.4 接收温度
23、数据;P3.5-P3.7 三个引脚分别掌握液晶显示器的掌握端。图 3-2 为单片机掌握电路。图 3-23.4 时钟单元3.4.1 DS1307 简介种低功耗、BCD 码的 8 引脚实时时钟芯片。DS13DS1307 是 I2C 总线接口的日历时钟芯片,片内有 8 个特别存放器和 56 的 BSPAM,是一 07 的主要技术性能如下:具有秒、分、时、日、星期、月、年的计数功能,并具有 12 小时制和 24 小时制计数模式,可自动调整每月天数及闰年; 具有自动掉电保护和上电复位功能;可输出不同频率的方波信号。DS1307 的引脚排列如图 3-3 所示。图 3-3DS1307 引脚图VCC:+5V
24、电源;VBAT:+3V 电源输入;X1、X2:32.768kHz 的晶振输入端;SDA:数据线; SCL:时钟线; SQW/OUT:方波信号输出端。3.4.2 时钟电路设计单片机掌握时钟电路如图 3-4 所示。DS1307 的 X1 与 X2 通过 32.768KHz 的晶振相连,以供给计时基准。SCL 与 SDA 分别连接至单片机的 P1.6 和 P1.7 引脚, 完成单片机读取时间值。图 3-4 单片机掌握时钟电路3.5 测温单元3.5.1 DS18B20 简介DS18B20 是美国 DALLAS 公司生产的一线式数字温度传感器,它具有微型化、低成效、高性能、抗干扰力量强、易配处理器等优点
25、,特别适用于多点测温系统, 可直接将温度转化成串行数字信号给单片机处理,且在同一总线上可以挂接多个传感器芯片。它具有 3 引脚 TO-92 小体积封装形式,温度测量范围为-55+155 摄氏度,可编程为 912 位 A/D 转换精度,测温区分率可达 0.0625 摄氏度,被测温度用符号扩展的 16 位数字量方式串行输出,其工作电源既可在远程引用,也可承受寄生电源方式产生,多个DS18B20 可以并联到三根或两根线上,CPU 只需一根端口线就能与多个 DS18B20 通信,占用微处理器端口较少,可节约大量的引线和规律电路。以上特点使得 DS18B20 成为此次设计的首选。引脚定义: DQ:数字信
26、号输入/输出端; GND:电源地;VCC:外接供电电源输入端寄生供电方式时接地,如图 3-5 所示。图 3-5DS18B20 温度传感器芯片引脚3.5.2 测温电路设计该局部电路设计如图 3-6 所示。DS18B20 有两种方式供电,一种是承受电源供电方式,此时 DS18B20 的 1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的 DS18B20 时钟周期内供给足够的电流,可用一个 MOSFET 管来完成对总线的上拉。寄生供电适合多点测温。鉴于本设计为单片测温,故承受外部电源供电法。DS18B20 是单总线掌握,I/O 引脚与单片机 P
27、3.4 引脚相连即可实现与单片机之间的通信。图 3-6 温度测量电路3.6 液晶显示单元电路本设计的显示器选用 LCD1602 液晶显示器。LCD1602 可显示 162 个字符, 芯片工作电压为 4.5-5.5V,工作电流为 2.0mA(5.0V),模块的最正确工作电压为5.0V。LCD1602 的接口信号说明如表 3-1 所示。表 3-1LCD1602 引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2DataI/O2VDD电源正极10D3DataI/O3VL液晶显示偏压信号11D4DataI/O4RS数据/命令选择端H/L12D5DataI/O5R/W读/写选择端H/L13D6
28、DataI/O6E使能信号14D7DataI/O7D0DataI/O15BLA背光源正极8D1DataI/O16BLK背光源负极液晶显示电路如图 3-7 所示。单片机的 P2 口为液晶显示器的数据线, P3.5-P3.7 引脚分别掌握液晶显示器的复位端 RST、读/写端 R/W、使能端 E。调整 VR1 电位器可以调整液晶显示器的比照度。图 3-7 液晶显示电路3.7 风扇档位掌握单元单片机掌握风扇档位电路如图3-8 所示。3 个继电器分别接至单片机的P1.2、P1.3、P1.4 引脚,当环境温度需要风扇调为一档时,单片机的P1.2 引脚输出高电平,此时三极管Q1 导通,则继电器K1 导通,风
29、扇调为一档。二档与三档的工作掌握原理与一档同理。图 3-8 风扇档位掌握电路4 系统软件设计4.1 软件的设计的架构4.1.1 程序设计应用环境本设计软件的设计是在 KeilC51 的环境下编译的。KeilC51 是美国KeilSoftware 公司出品的 51 系列兼容单片机 C 语言软件开发系统,软件供给丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。C51 允许用户使用 C 语言编写中断效劳程序,快速进、出代码和存放器区的转换功能使 C 语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必需具备可再入功能。C51 供给了敏捷高效的指针。通
30、用指针用 3 个字节来存储存储器类型及目标地址,可以在 8051 的任意存储区内存取任何变量。特别指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需 12 字节,因此,指针存取格外快速。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 KeilC51 生成的目标代码效率格外之高, 多数语句生成的汇编代码很紧凑,简洁理解。在开发大型软件时更能表达高级语言的优势。C 语言有以下特点:1、语言简洁、紧凑、使用便利、敏捷。C 语言一共只有 32 个关键字,9 种掌握语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。2、运算符丰富。C 的运算符包含的范
31、围很广泛,共有 34 种运算符,使得 C 的运算类型极其丰富,表达式类型多样化,敏捷使用各种运算符可以实现在其他高级语言中难以实现的运算。3、数据构造丰富,具有现代化语言的各种数据构造,能用来实现各种简单的数据构造的运算。4、具有构造化的掌握语句,用函数作为程序的模块单位,便于实现程序的模块化。5、语法限制不太严格,程序设计自由度大。6、C 语言能进展位操作,能实现汇编语言的大局部功能,可以直接对硬件进展操作。因此,C 既具有高级语言的功能,又具有低级语言的很多功能,可用来写系统软件。C 语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。7、生成目标代码质量高,程序执行效率
32、高。8、用 C 语言写的程序可移植性好。根本上不用修改就能用于各种型号的计算机和各种操作系统。4.1.2 软件设计流程图本系统软件设计流程图如图 4-1 所示。图 4-1 系统软件设计流程图4.2 主控程序的设计定时器/计数器是单片机内的重要部件,其作用主要包括产生各种时标间隔、记录外部大事的数量等。AT89S51 单片机有 2 个 16 位的定时器/计数器:定时器/计数器 0T0和定时器/计数器 1T1。定时器/计数器的核心是一个 16 位的加 1 计数器:做定时器时,其计数脉冲 来源于时钟振荡器经 12 分频后供给,这个脉冲的周期称为单片机的机器周期, 每一个机器周期定时存放器自动加 1,
33、所以定时器也可看做是计算机器周期的计数器,由于每一个机器周期为 12 个时钟振荡周期,所以定时器的区分率是时钟振荡频率的 1/12,一旦振荡频率选定,则机器周期也确定;作计数器时,其计数脉冲来源于单片机外部引脚 T0或 T1的脉冲。即 TX 端口有从“1”到“0” 的负跳变,计数器就自动加 1,计算机是在每个机器周期采样为 0 时,计数器即加一计数,计算机需用两个机器周期来识别 1 次计数,因而最大计数速率为振荡频率的 1/24。AT89S51 单片机的定时器/计数器 T0 由 TH0、TL0 构成,T1 由 TH1、TL1 构成。TMOD 用于掌握和确定各定时器/计数器的功能和工作模式。TC
34、ON 用于掌握定时器/计数器 T0、T1 的启动和停顿计数,同时包含定时/计数器的状态。T0、T1 的方式存放器 TMOD:方式存放器 TMOD 是一个逐位定义的 8 位存放器,是只能字节寻址的存放器,字节地址为 89H,其格式如表 4-2 所示。表 4-2TMOD 存放器格式其中低 4 位定义定时器/计数器 T0,高 4 位定义定时器/计数器 T1,各位的意义如下:GATE门控位。GATE=1 时,由外部中断/INT0、/INT1 和 TR0、TR1 来启动定时器。当/INT0 引脚为高电寻常,TR0 置位,启动定时器 T0;当/INT1 引脚为高电寻常,TR1 置位,启动定时器 T1。GA
35、TE=0 时,仅由 TR0 和 TR1 置位来启动定时器 T0、T1。C/T功能选择位。C/T=1 时,选择计数功能;C/T=0 时,选择定时功能。M0、M1方式选择位。由于 M1 和 M0 两位,可以有 4 种工作方式,如表4-3 所示。表 4-3T0、T14 种工作方式M1M0工作方式计数器配置00方式 013 位计数器01方式 116 位计数器10方式 2自动再装入的 8 位计数器11方式 3T0 分为两个 8 位计数器、T1 停顿计数T0、T1 掌握存放器 TCON:TCON 是一个逐位定义的 8 位存放器,既可字节寻址也可位寻址,字节地址为 88H,为寻址的地址为 88H8FH。与中
36、断源有关的位如表 4-4 所示。表 4-4TCON 存放器位说明各位的意义如下:TF0:T0 溢出中断标志。T0 被允许计数后,从初值开头加1 计数。当产生溢出时硬件置“1”TF0,向 CPU 恳求中断,始终保持到CPU 响应中断时,才由硬件清“0”也可由查询软件清零。TF1:T1 溢出中断标志。T1 被允许计数后,从初值开头加 1 计数。当产生溢出时硬件置“1”TF1,向CPU 恳求中断,始终保持到 CPU 响应中断时,才由硬件清“0”也可由查询软件清零。IE1:外部中断 1 恳求源标志。IE1=1,外部中断向 CPU 恳求中断,当 CPU响应当中断时由硬件清“0”IE1边沿触发方式。IT1
37、:由软件置位/复位选择外部中断 1/INT1的跳变/电平激活中断恳求。当置位 IT1 为 1 时,则外部中断 1 端口由“1”-“0”跳变前一个机器周期为高电平,后一个机器周期为低电平,即发生负跳变时激活中断恳求标志位 IE1, 向主机恳求中断处理;假设复位 IT1 为 0,则在/INT1端口消灭低电寻常, 激活中断恳求标志 IE1,向主机恳求中断处理。IE0:外部中断 0 恳求源/INT0,P3.2标志。IE0=1 外部中断 0 向 CPU 恳求中断,当 CPU 响应外部中断时,由硬件清“0”IE0边沿触发方式。IT0:外部中断 0 触发方式掌握位,其意义和功能与 IT1 类似。T0、T1
38、的数据存放器:T0、T1 各有一个 16 位的数据存放器,它们都是由高 8 位存放器和低 8 位存放器组成。这些存放器不经缓冲,直接显示当前的计数值。T0、T1 的数据存放器都是读/写存放器,任何时候都可以对它们进展读/写操作。复位后,这些存放器全部清零。4.3 各功能模块程序的设计4.3.1 读取时间数据程序设计DS1307 中的时间存放器地址编码为 00H-07H,而具有掉电保护的 RAM 存放器的地址编码为 08H-3FH。当地址指针指向 RAM 的最终一个地址 3FH 时,假设进展多字节操作,则地址指针将会复位而指向 00H,这样原来存在 00H 的数据将会丧失。DS1307 的各类时
39、间数据均以 BCD 码的格式存储在相应的时间存放器中,具体安排如表 4-1 所示:00H01H02H03H04H05H06H07H秒分小时星期日期月年掌握字表 4-1DS1307 存放器安排DS1307 可运行在 12/24 小时模式下,并由时间掌握器中的相应位来进展掌握。时钟模块设计流程:单片机按如下挨次将数据写入到 DS1307 存放器或内部 RAM 中:1、START 信号;2、写 SLA+W(0xd0)字节,DS1307 应答ACK;3、写 1 字节内存地址在以下第四步写入的第一字节将存入到 DS1307 内该地址处,DS1307 应答;4、写数据可写多个字节,每一字节写入后 DS13
40、07 内部地址计数器加一,DS1307 应答;4.3.2 读取温度数据程序设计DS18B20 有三个主要的数据部件:64 位激光 ROM,温度灵敏元件,非易失性温度告警触发器 TH 和 TL。器件从单线的通信线取得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器中,在单信号线为低电平的时间期内断开此电源,直到信号线变为高电平重接上寄生电容电源为止,作为另一种可供选择的方法,DS18B20 也可用外部 5V 电源供电。与 DS18B20 的通信经过一个单线接口。在单线接口状况下,在 ROM 操作未定建立之前不能使用存储器和掌握操作。主机必需首先供给五种 ROM 操作指令之一:Rea
41、dROM读 ROM;MatchROM(符合 ROM;SearchROM搜寻 ROM;SkipROM跳过 ROM;AlarmSearch告警搜寻。这些命令对每一器件的 64 位激光 ROM局部进展操作。假设在单线上有很多器件,那么可以选择出一个特定的器件,并给总线上的主机指示存在多少器件及其类型。在成功地执行了 ROM 操作序列之后,可使用存储器和掌握操作,然后主机可以供给六种存储器和掌握操作命令之一。一个掌握操作命令指示 DS18B20 完成温度测量。该测量的结果将放入 DS18B20 的高速暂存存储器,通过发出读暂存存储器内容的存储器操作命令可以读出此结果。每一温度告警触发器 TH 和 TL
42、 构成一个字节的 EEPROM。假设不对 DS18B20 施加告警搜寻命令,这些存放器可用作通用用户存储器。使用存储器操作命令可以写TH 和 TL。对这些存放器的读访问通过便笺存储器。全部数据均以最低有效位在前的方式被读写。读时间片:当 DS18B20 读数据时,主机产生读时间片。当主机把数据线从规律高电平拉至低电寻常,产生读时间片,数据线必需保持在低规律电平至少 1us, 来自 DS18B20 的输出数据在读时间片下降沿之后 15 微秒有效。因此,为了读出从读时间片开头算起 15 微秒的状态,主机必需停顿把 I/O 引脚驱动拉至低电平。在读时间片完毕时,I/O 引脚经过外部的上拉电阻拉回至高
43、电平。全部读时间片的最短持续期限为 60us,各个读时间片之间必需由最短为 1us 的恢复时间。温度变换:此命令开头温度变化,不需要另外的数据,温度变化将被执行,接着 DS18B20 便保持在空闲状态,假设总线主机在此命令之后发出读时间片,那么只要 DS18B20 正忙于进展温度变换,它将在总线上输出“0”,当温度变换完成时,它便返回“1”。假设由寄生电源供电,那么总线主机在发出此命令之后马上强制上拉至少 2 秒。DS18B20 的温度变换需要 2 秒钟。在接收到温度变化命令之后,假设期间未从VDD 引脚取得电源,那么DS18B20 的 I/O 引线必需至少保持 2 秒的高电平以供给变换过程所
44、需的电源。这样,在温度变换命令发出之后,至少在此期间内单引线总线上不允许发生任何其他动作。在接收到复制暂存存储器的命令以后,假设期间没有从 VDD 引脚取得电源,那么 DS18B20 的 I/O 引线必需至少维持 10ms 的高电平,以便供给复制过程中所需的电源。这样,在复制暂存存储器命令发出之后至少在此期间内单线上不允许发生任何其他的动作。此命令写至 DS18B20 的暂存存储器,以地址 2 开头,接着写的两个字节被保存在暂存存储器地址 2 和 3 之间中。发出一个复位便可在任何处终止写操作。当 DS18B20 接收到温度转换命令后,开头启动转换。转换完成后的温度值就以 16 位带符号扩展的
45、二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625/LSB 形式表示。当符号位 S=0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。4.3.3 读取红外信号程序设计本设计中单片机解码的关键是如何识别“0”和“1”,本设计以脉冲周期表示传送码中的 0 或 1,脉宽为 0.25ms,间歇时间为 1.75ms,0 或 1 不同的是高电平的宽度,0 为 1ms,1 为 2ms。由于遥控器脉宽时间值是在一个小范围内上下波动的,检测过程中就存在误差,所以,对接收信号的推断上不能实行准确的计时方法,本设计中承受了范围比较法,将 0 设置范围为 0.8ms-1.2ms,1 设置为1.8ms-2.2ms。对于脉宽的计算承受单片机定时器 0 来测量。对于红外信号的检测是通过单片机的中断 0 端口,当红外接收管接收到红外信号时会触发中断 0,此时单片机定时器开头计时。4.3.4 显示程序设计LCD1602 液晶模块内部的指控器共有 11 条掌握指令。液晶显示模块是一个慢显示器件,所以在执行每条指令之前肯定要确认模块