电子毕业论文-红外遥控LED定时控制器的毕业设计_第1页
电子毕业论文-红外遥控LED定时控制器的毕业设计_第2页
电子毕业论文-红外遥控LED定时控制器的毕业设计_第3页
电子毕业论文-红外遥控LED定时控制器的毕业设计_第4页
电子毕业论文-红外遥控LED定时控制器的毕业设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2013 届 本 科 毕 业 设 计 ( 论 文 )绪论本文介绍了美国 DALLAS 公司推出的具有涓细电流充电能力的低功耗实时时钟电路 DS1302 的结构、工作原理及其在实时显示时间中的应用。它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。本文介绍的 LED 定时控制器克服了以往的弊端,而且采用了家电通用的红外遥控器进行控制,方便使用。有一路闹铃输出,可以通过遥控器设置闹铃时间及允许与否。自制 LED 很多电子类报刊杂志上都可以见到,但多数在断电后要重新设置时间等参数,给使用带来不便。也有用电池作为备用电源的,但往往体积较大。这次所设计的 LED 电子钟克服了上述弊端,加上采用家电通用的红外遥控器进行控制,使用方便。该电子钟有一路闹铃输出,可以通过遥控器设置闹铃时间及闹铃允许。红外遥控 LED 定时控制器用 AT89C2051 单片机做处理器,选用了ATMEL 的 AT89C2051 单片机,该器件与 89C51 兼容,具有 2KB 的可重复编程闪存2.7V-6V 的工作电压范围,128Byte 的内部 RAM 以及两个 I/O 口(P1,P3) 、2 个16 位的计数器/定时器和 6 个中断源,并可直接驱动 LED 输出,同时带有可编程的串行通讯口。该单片机具有体积小,成本低廉、性能可靠等特点,它的 I/O 吸入电流可以达到 20mA,可以直接驱动 LED 数码管和蜂鸣器;具有 2 个硬件定时器,非常适合制作电子钟,并采用家电通用的红外遥控器进行控制,使用方便,从而能使本设计的制作成本相对较低情况下保持相当好的稳定性。且操作简单。所以它非常适合在家庭中使用,符合广大普通消费者的需求,从而大大方便了人们的生活。我所设计的这个定时控制器正是从这点出发,所设计的性能大部分符合人们的生活的基本要求。目前国内外此类设计的种类很多,并且功能齐全,但是它们操作起来往往很不方便,且许多功能一般人们并用不到,所以我所设计的课题中要求操作简单,性能稳定,价格低廉,其中采用了 AT89C2051 单片机做处理器,并采用家电通用的红外遥控器进行控制定时器这就解决了以上的问题。随着微处理器的发展,单片机的普及,以及单片机本身具有的高性能和高集成度特性,使这些东西的应用越来越贴近人们的的生活,在社会的发展中所起的作用越来越显著,使人们对其越来越依赖。而本次设计的内容正是迎合了这个潮流。具体有操作简单,结构简单,价格低廉等优点。2013 届 本 科 毕 业 设 计 ( 论 文 )第 1 章 设计要求与设计方案确定1.1 引言 红外遥控 LED 定时控制器是以时钟芯片和 MCS51 系列单片机为核心器件组成的。由遥控器通过红外信号对定时器进行有效的控制。以下对红外遥控 LED 定时控制器的设计要求和设计思路进行说明。1.1.1 设计要求(1)以时钟芯片和 MCS51 系列单片机为核心器件,组成一个红外遥控 LED定时器。(2)系统显示器是由 4 位数字型数码管组成的,分别显示小时和分钟的高位与低位。(3)能实现用遥控器随时进入与退出设置当前的时间,时间显示的开与关,闹铃的开与关及显示初始化等功能。(4)当定时时间到时,显示位出现闪烁,蜂鸣器同时发出报警信号。(5)闹钟提醒信号的声音为断续形式,最长不超过 1min。(6)能实现有红外接收信号的能力。1.1.2 设计思路(1) 读当前时间及判断闹铃时间到否由单片机内部定时器/计数器 T0 实现。(2) LED 显示设置小时、分及闹时、闹分,动态扫描定时时间等,都由单片机内部定时器/计数器 T1 来实现。(3) 时间显示设置,闹铃的开与关,显示的开与关,菜单设置,初始化输入等都通过红外遥控器来实现,由单片机的外部中断/INT0 来实现。(4) LED 数码管的段码输入,由单片机的 P1 段口产生。(5) LED 数码管的位码输入,由 PNP 三极管控制产生。(6) 在红外遥控接收的电路中,有一个一体化红外线接收器来实现接收红外信号。(7) 报警器的音响由蜂鸣器产生,蜂鸣器接入单片机 P3 口的 P3.1 引脚。2013 届 本 科 毕 业 设 计 ( 论 文 )(8) 遥控器可采用四川长虹彩电 K11F 型遥控器来实现。1.2 硬件电路的设计方案与框图根据设计要求与设计思路,确定该系统的设计方案。图 1-1 为该系统设计方案的硬件电路设计框图。硬件电路由 9 个部分组成,电路,AT89C2051 单片机及时钟、复位电路,红外遥控接收信号电路,蜂鸣器音响电路,LED 显示器电路,LED 显示的段码与位码信号驱动电路。图 1-1 硬件电路设计框图2013 届 本 科 毕 业 设 计 ( 论 文 )第 2 章 硬件电路设计与器件选择2.1 芯片 AT89C2051 控制电路与实现功能 2.1.1AT89C2051 芯片AT89C2051 是由 ATMEL 公司推出的一种小型单片机。其主要特点为采用Flash 存贮器技术,降低了制造成本,其软件、硬件与 MCS-51 完全兼容,它是一个 2k 字节可编程 EPROM 的高性能微控制器。它与工业标准 MCS-51 的指令和引脚兼容,因而是一种功能强大的微控制器。它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。AT89C2051 是 2kbytes 的可反复擦写的只读 Flash 程序存储器和 128 bytes的随机存取数据存储器(RAM)器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统的单片机。AT89C2051 有以下特点:2k 字节EPROM、128 字节 RAM、15 根 I/O 线、2 个 16 位定时 /计数器、5 个向量二级中断结构、1 个全双向的串行口、并且内含精密模拟比较器和片内振荡器,具有4.25V 至 5.5V 的电压工作范围和 12MHz/24MHz 工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。此外,AT89C2051 还支持二种软件可选的电源节电方式。空闲时,CPU 停止,而让 RAM、定时/计数器、串行口和中断系统继续工作。可掉电保存 RAM 的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。其程序的电可擦写特性,使得开发与试验比较容易。其引脚如下面紧接的图 2-1 所示。2.1.2 MCS-51 系列单片机的主要特性:(1) 8 位字节的 CPU (2) 32 条 I/O(即 4 个 8 位 I/O) 2013 届 本 科 毕 业 设 计 ( 论 文 )(3) 具有逻辑运算能力(即是位运算) (4) 具有一组全双工的 UART (5) 有二组 16 位元之计时/计数器 (6) 片内有时钟振荡器 (7) 具有两层优先权顺序之中断结构,5 个中断源 (8) 片内有 128 位的数据存储器 (9) 片内有 4K 位的程序存储器 (10) 程序存储器可扩展至 64K (11) 外部可扩充数据存储器 64K (12) 最快执行速度为 1us图 2-1 AT89C2051 单片机2.1.3 AT89C2051 芯片实现的功能AT89C2051 作为主控芯片,一是对接收到的红外遥控编码进行判断识别,并执行相应的处理;第二就是定期的读取时钟芯片 DS1302 中的时间并把小时和分钟显示在 4 位 LED 中;第三就是对设置的闹铃时间与实时时间进行比较,如果时间相同且闹铃允许,那么蜂鸣器就会以 1 秒的周期鸣响一分钟,提醒使用者。如果要停止鸣闹,只要按遥控器相应键就可以关闭闹铃。闹铃时间保存在 DS1302自带的 RAM 中,不需要单独的 EEPROM。 2013 届 本 科 毕 业 设 计 ( 论 文 )2.2 时钟与复位电路2.2.1 复位电路 单片机应用系统工作时,会经常要求进入复位工作状态,所以系统的复位电路必须保证能正确、可靠地工作。单片机的复位是靠外部电路实现的,在时钟电路工作后,只要在单片机的 RST 引脚上出现 24 个时钟振荡脉冲(2 个机器周期)以上的高电平,单片机便可实现初始化状态复位。2.2.2 时钟电路 AT89C2051 单片机有一个片内的振荡器电路,由一个单级反相器组成,可用来作为 CPU 的时钟源。如果采用内部的振荡电路,则要在单片机的引脚 XTAL1 和XTAL2 之间连一个石英晶体谐振器,并接 2 个电容到地,即可组成完整的并联谐振电路输出时钟信号。 当采用外部振荡器时,XTALl 端直接与外部振荡器的信号相连,XTAL2 端悬空不用。AT89C2051 所用的晶振 Y1 如果没有 10MHz 也可以用其他 12M 以内的代替,只要修改程序中 YS1 和 YS2 的延时参数,让其保持延时长度不变就行。2.3 LED 显示电路与器件选择LED 数码有共阳和共阴两种,把这些 LED 发光二极管的正极接到一块(一般是拼成一个 8 字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接 VCC 和 GND。再把多个这样的 8 字装在一起就成了多位的数码管了。首先,找公共共阴和公共共阳,找个电源(3 到 5 伏)和 1 个 1K(几百的也欧的也行)的电阻,VCC 串接个电阻后和 GND 接在任意 2 个脚上,组合有很多,但总有一个 LED 会发光的找到一个就够了,然后用 GND 不动,VCC(串电阻)逐个碰剩下的脚,如果有多个 LED(一般是 8 个) ,他就是共阴的了。相反用 VCC 不动,GND 逐个碰剩下的脚,如果有多个 LED(一般是 8 个) ,那它就是共阳的了。LED1-4 为高亮度共阳数码管。调整 R2 可以改变数码管亮度。P1 口接数码管的八字段。数码管左两位显示小时,右两位显示分,当显示的是闹铃时间时闪动。第二位和第三位的小数点作为秒闪动,注意第三位数码管按图一布好印制版后安2013 届 本 科 毕 业 设 计 ( 论 文 )装时要旋转 180,以便让时和分之间出现“:” ,最后一位小数点作为闹铃开关标志,亮表示闹铃开启。这里的 4 位 LED 数码管采用了共阳型,共阳型数码管的笔段(即对应abcdefgh7 段)引脚是二极管的负极,所有二极管的正极连在一起,构成公共端,即片选端。对于这种数码管的驱动,要求在片选端提供电流,为此,使用了 PNP型三极管作为片选端的驱动,共使用 4 只三极管 Q1-Q4。所有三极管的发射极连在一起,接到+5V 电源端,它们的集电极则分别连到公共段,这样,当公共段中某引脚输出是高电平时,三极管不导通,不能给相位信号。 共阳型 LED 数码管的管脚排列方式如图 2-2 所示。(a) (b) (c)(a)管脚排列( 俯视图) (b)共阳级结构 (c)共阴级结构图 2-2 共阳型 LED 数码管2.4 红外接收电路与器件选择电路图中的 IC3 为三脚的塑封一体化红外接收头。红外遥控接收电路中有一个一体化红外线接收器,其电路如图 2-3 所示。一体化红外线接收头内部有放大与解调电路,可以接收红外线调制信号,解调后输出编码信号。共三个引脚,1脚为电源地,2 脚为 5V 正电源,3 脚为解调后的信号输出端,通过跳线 JP2 与S2(/INT0)相连接。2013 届 本 科 毕 业 设 计 ( 论 文 )图 2-3 红外线接收器2.5 蜂鸣器电路设计蜂鸣器 B2 采用小型自带音源。音响接口电路中的+5V 电压接一个蜂鸣器,构成一个简单的音响电路,该电路接单片机的 P3.1 引脚。由于采用了无源蜂鸣器,所以 P3.1 输出高电平时,并不会发声,需要输出一个脉冲信号,蜂鸣器才会发声,脉冲信号的频率决定了蜂鸣器发出的声音的音调。2.6 遥控器的选用及红外遥控系统遥控器采用长虹彩电 K11F 型遥控器,遥控器按照 16 位地址码,8 位数据码以及 8 位数据码的反码发送。各按键的编码操作如表 2-1 所示。表 2-1 按键编码操作表遥控器按键 遥控器编码 电子钟动作 操作方法菜单 40 BF 0C F3 进入/退出设置状态 任意40 BF 19 E6 所显数字增加 进入设置状态后有效40 BF 1D E2 所显数字减少 进入设置状态后有效40 BF 46 B9 显示左移 进入设置状态后有效40 BF 47 B8 显示右移 进入设置状态后有效显示 40 BF 16 E9 LED 显示关闭/开启 任意静音 40 BF 10 EF 闹铃关闭/开启 任意2013 届 本 科 毕 业 设 计 ( 论 文 )日历 40 BF 44 BB 初始化 DS1302 进入设置状态后有效操作方法中,任意是指该键第一次按后,进入该状态,再次按后退出该状态。时间设置:按“菜单”键进入设置状态,LED 只显示正常时间的小时,按“”键调整数值,按“、”键可在闹铃与正常时间之间移动。任意时刻再次按“菜单”键就退出设置。闹铃设置:闹铃时间在时间设置中进行。铃的开闭可在任意时刻按“静音”键。 显示开关:可在任意时刻按“显示”键开启和关闭显示器。2.7 实时时钟电路 DS1302实时时钟电路 DS1302 主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通 32.768kHz 晶振。第 3 章 实时时钟芯片 DS1302 及其应用3.1 DS1302 的结构及工作原理 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于临时性存放数据的 RAM 寄存器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。3.2 DS1302 的引脚功能结构及 DS1302 的控制字节 下面紧接的图 3-1 表示出 DS1302 的引脚排列,其中 Vcc1 为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由 Vcc1或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc10.2V 时,Vcc2 给 DS1302 供电。2013 届 本 科 毕 业 设 计 ( 论 文 )当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供电。X1 和 X2 是振荡源,外接 32.768kHz晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST置为高电平。I/O 为串行数据输入输出端(双向),后面有详细说明。SCLK 始终是输入端。 图 3-1 DS1302 引脚DS1302 的控制字如表 3-1 所示。控制字节的最高有效位必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。表 3-1 DS1302 控制表1 A4 A3 A2 A1 A03.3 DS1302 芯片的 数据输入输出(I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。3.4 DS1302 的寄存器 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据RAMCK RAMCK2013 届 本 科 毕 业 设 计 ( 论 文 )位为 BCD 码形式,其日历、时间寄存器及其控制字见下面紧接的表 3-2 所示。 表 3-2 时间寄存器表命令字 各位内容寄存器名称 写操作 读操作取值范围7 6 5 4 3 2 1 0秒寄存器 80H 81H 00-59 CH 10SEC SEC分寄存器 82H 83H 00-59 0 10MIN MIN时寄存器 84H 85H 00-12 或 00-23 12/24 0 10HRHRHR日寄存器 86H 87H 01-28,29,30,31 0 0 10DATE DATE月寄存器 88H 89H 01-12 0 0 0 10MMONTH局寄存器 8AH 8BH 01-07 0 0 0 0 0 DAY年寄存器 8CH 8DH 00-99 10 YEAR YEAR此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0HFDH,其中奇数为读操作,偶数为写操作;一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写)、FFH(读)。3.5 DS1302 芯片实时显示时间的软硬件 举例说明如下:下面紧接的图 3-2 示出 DS1302 与 89C2051 的连接图,其中,时钟的显示用可以用 LED 或 LCD。DS1302 与 CPU 的连接需要三条线,即 SCLK(7)、I/O(6)、RST(5)。DS1302 与 CPU 的连接,实际上,在调试程序时可以不加电容器,只加一个 32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入 DS18B20,同时显示实时温度。只要占用 CPU一个口线即可。 LCD 可以换成 LED。2013 届 本 科 毕 业 设 计 ( 论 文 )图 3-2 DS1302 与 89C2051 连接图第 4 章 红外遥控 LED 定时器控制系统软件设计方案进行应用软件设计时可采取模块化程序设计方法,其优点是:(1)每个模块的程序结构简单,任务明确,易于编写、调试和修改。(2)程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能扩充和版本升级。2013 届 本 科 毕 业 设 计 ( 论 文 )(3)对于使用频繁的子程序可以建立子程序库,便于多个模块调用。(4)便于分工合作,多个程序员在同时进行程序的编写和调试工作时,可以加快软件研制进度。4.1 软件设计方案及框图序的设计根据设计要求,首先确定软件设计方案。其次是规划为了完成这些功能需要分成多少个功能模块,以及每一个程序模块的具体任务是什么。划分模块时应遵循下列原则:(1)每个模块应具有什么功能,能产生一个明确的结果。(2)模块之间的控制参数应尽量简单,数据参数应尽量少。控制参数是指模块进入和退出的条件与方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频繁程度。(3)模块长度适中。模块语句的长度通常在 20-100 条较合适(4)根据模块的划分原则,将该程序分为 7 个模块,如图 4-1 所示。4.2 内存空间地址及分配内存空间分配如表 4-1 所示。表 4-1 空间分配图图 4-1 程序模块图开 始数码管动态扫描显示模块读取当前时间与计时模块输入闹钟时间模块当前时间随意调整蜂鸣器音响模块数制程序转换模块红外接受信号程序模块2013 届 本 科 毕 业 设 计 ( 论 文 )60H 秒 6AH 闹分 11H 显示闹分61H 分 6BH 闹时 0CH 显示的设置标志62H 时 05H 数码管显示关与闭 0DH 全显示标志63H 日 06H 闹铃开 /关 0EH 显示设置小时64H 月 07H 显示闪烁标志 0FH 显示设置分65H DAY 08H 定时到时标志66H 年 10H 显示闹时第 5 章 红外遥控 LED 定时器控制系统的软件设计2013 届 本 科 毕 业 设 计 ( 论 文 )5.1 主程序的设计初始化各地址的值及/INT0、T0、T1 的中断设置R2、R3 的值赋 0 ,T0 模式2,T1 模式 1设置定时器的值,允许T0、 T1 的中断,但 T0 不具备写保护设置 T0 与 T1 定时器设置/INT0 采用输入信号中断,高电平中断但不具备写保护调用 SET1302 的终止程序调用 T-6061 中的RAM 地址,A 的值写入 6AH 地址中调用 T-6061 程序,A 的值输入 6BH 地址中61H、62H 赋初值 0,允许总中断进入死循环T-6061设的 R&T 值0,LEIBCLK 值低电平时,则 R&T 内置高电平,R1的值为 A调用复位一次的加密子程序调用读数据子程序LED3CLK 置为高电平,RST 置为 0,终止数据的传递返回开始图 5-1 主程序流程图主程序内容一般包括:主程序起始地址,中断服务程序起始地址,有关内存单元及相关部件的初始化和一些子程序调用等。主程序见附录中一。2013 届 本 科 毕 业 设 计 ( 论 文 )5.1.1 程序的起始地址MCS-51 系列单片机复位后, (PC)=0000H,而 0003H002BH 分别为各中断源的入口地址。所以编程时应在 0000H 处写一些跳转指令。当 CPU 接受中断请求信号并予以响应后,CPU 把当前的 PC 内容压入栈中进行保护,然后转入相应的中断服务程序入口中执行。一般应在相应的中断服务程序入口处写一条跳转指令,并以跳转指令的目的地址作为中断服务程序的起始地址进行编程。以/INT0 为例,中断矢量地址为 0003H,中断服务程序从 SINT 标号地址开始。5.1.2 主程序的初始化内容所谓初始化,是对将要用到的 MCS-51 系列单片机内部部件或扩展芯片进行初始化工作状态设定。MCS-51 系列单片机复位后,特殊功能寄存器 IE、IP 的内容均为 00H,所以对 IE、IP 进行初始化编程,以开放 CPU 中断,允许某些中断源中断和设置中断优先级等。本例中,使用了三个中断,即 T0、T1、/INT0。其中:(1)T0 中断:采用 T0 定时中断工作方式,完成定时读取 DS1302 时间及判断闹铃时间到否。(2)T1 中断:采用 T1 定时中断工作方式,完成 LED 显示设置。(3)/INT0 中断:采用外部中工作方式,完成时间调整及闹钟时间输入的遥控控制功能。同时还要对一些存储单元进行初始化,这些内容都需要在初始化程序中完成。初始化程序见附录中二。5.2 LED 动态显示设置模块程序的设计在采用动态扫描显示方式时,要使 LED 显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率。当扫描频率在 70Hz 左右时,能够产生足够的图形和较好的显示效果。本例中采用间隔 20ms 对 LED 进行动态扫描一次,每一位 LED的显示时间为 1ms。本文中采用硬件定时和软件定时并用的方式,即用定时器 T1 溢出中断功能2013 届 本 科 毕 业 设 计 ( 论 文 )实现 20ms 定时,通过软件 2ms 的定时。LED 动态显示设置模块程序见附录中三。5.3 定时读取时间及判断闹铃时间到否模块程序的设计LED 定时器主要任务是:采用单片机为核心器件产生 24h 时间,并用 LED 显示器将它显示出来,采用单片机的定时器 T0 定时从 DS1302 中读取时间并判断当前的时间是否到定闹铃的时间,若闹铃时间一到,蜂鸣器就报警起来。定时读取时间及判断闹铃时间到否模块程序见附录中四。5.4 红外遥控接收信号模块程序的设计/INT0 外部中断程序的功能:采用对遥控器程序的编码与解码,实现时间与定闹铃时间的设置,显示的开与关,初始化设置等功能,有接收遥控信号子程序,按键处理程序,延时程序,代码转换程序,向 DS1302 芯片写入数据的子程序等。红外遥控接收信号模块程序见附录中五。2013 届 本 科 毕 业 设 计 ( 论 文 )图 5-2 程序判断流程图S-INT关闭总中断,保护现场及初始化调用 YS1、YS2 延时程序P3.2=1?N(R6-1)=0?YP3.2=0?N调用 YS2 延时程序P3.2=1?1AH 传给 R1,4D 传 给 R2,8D 传给 R3P3.2=0?调用 UUU 程序N(R3-1)=0?判断遥控器地址,调用按键处理程序调用 YS1 延时程序,P3.2 传给 CC=0?P3.2=1?打开总中断返回YNNYYNYY2013 届 本 科 毕 业 设 计 ( 论 文 )结论/展望经过了两个多月的学习和工作,我终于完成了红外遥控 LED 定时控制器的论文。从开始接到论文题目到系统的实现,再到论文的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,从对我这个设计的一知半解,到我开始了独立的学习和思考,查看相关的资料和书籍 自己头脑中模糊的概念逐渐清晰起来,使自己作品一步步完善起来,每一次改进都是我学习的收获。从中我也得到收获中的许多快乐。虽然我的论文作品不是很成熟,也有很多不足之处,但我可以自豪的说,这里面的每一段代码,都有我的劳动。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。这次做毕业设计的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,这也提醒了自己在以后做每件事都要用心去做,用脑去想。我希望这次的经历能让我在以后学习中激励我继续进步。红外遥控 LED 定时控制器用 AT89C2051 单片机做处理器,该单片机具有体积小,成本低廉、性能可靠等特点,它的 I/O 吸入电流可以达到 20mA,可以直接驱动 LED 数码管和蜂鸣器;具有 2 个硬件定时器,非常适合制作电子钟,并采用家电通用的红外遥控器进行控制,使用方便,从而能使本设计的制作成本相对较低情况下保持相当好的稳定性。且操作简单。所以它非常适合在家庭中使用,符合广大普通消费者的需求,我相信我的这个设计课题在以后会有很好的发展。2013 届 本 科 毕 业 设 计 ( 论 文 )致谢最后特别感谢导师*老师的在本次毕业设计过程中悉心指导,董老师工作认真负责的态度,治学严谨的作风给我留下了深刻的印象。在编程实现阶段庞海清同学的细心帮助与指导让我受益匪浅。在我四年的大学生活中,得到了老师们的悉心教导,学到了丰富的知识和做人的道理,为我走向社会、迎接挑战打下了坚实的基础。此时此刻我才真正体会到老师们的苦心和所学知识的重要。感谢同学的热心帮助,使我顺利完成今天的毕业设计。在这里我要再次向给予我帮助的所有老师和同学表示深深的谢意,感谢大家在学习、生活中对我的帮助,谢谢大家!2013 届 本 科 毕 业 设 计 ( 论 文 )参考文献1 余永权.单片机与家用电器智能化设计. 1995.第三版:23 页-31 页2 张毅刚.MCS-51 单片机应用设计. 1997.第一版:56 页-58 页3 房小翠 王金凤.微型计算机与机电接口技术. 2002:31 页-35 页4 胡汉才.单片机原理及接口技术 .1996 第一版:58 页-59 页5 王福瑞.单片微机测控系统设计大全. 1999.第三版:12 页-14 页6 周明德.微型计算机硬件软件及其应用.北京: 清华大学出版社.1998.87 何立民.MCS-51 系列单片机应用系统设计1990.第五版:25 页-31 页8 南京工业大学编:电子线路 人民教育出版社.第一版9 Mierocont rollet Handbook Intel Co p 1989:25-4510 Erlanger JA new instrument for determining the minimum andmaximum blood-pressure in manJohns HospRepu,1903:65-8911 Geddes L AIndirect mean blood pressure on the anesthetizedponyAmerJVetRes,1977:124-12912 Mauck G E et a1The meaning of the point of maximum oscil1ations in cuff pressure in the indirect measurement of bloodpressurePart JBiomechEng1980:126-1392013 届 本 科 毕 业 设 计 ( 论 文 )附录一. 主程序muteM EQU 10h ;静音键 闹铃开/ 关timerT EQU 0Ch ;菜单键 进入/退出设置状态leftL EQU 46h ;左移键 rightR EQU 47h ;右移键upU EQU 19h ;增加键downD EQU 1dh ;减少键d_off EQU 16H ;显示键 LED 数码管显示/ 关闭recall EQU 44H ;日历键 DS1302 初始化操作K_on BIT P3.1 ;闹铃输出LED1 BIT P3.3LED2 BIT P3.4LED3CLK BIT P3.5 ;DS1302LED4IO BIT P3.7RST BIT P3.0SECOND EQU 60H60H 秒61h 分2013 届 本 科 毕 业 设 计 ( 论 文 )62h 时63h 日64h 月65h DAY66h 年6Ah 闹分 from 00(1302)6BH 闹时 from 01(1302)*ORG 0000HAJMP STARTORG 0003HLJMP S_INT ;IRFORG 000BH ;200UsLJMP P_INT ORG 001BH ;display LEDLJMP DISPLAY;* ;main programORG 0030HSTART: CLR RSTMOV SP,#2AHSETB 05HCLR 06HSETB 07HCLR 07HCLR 08HCLR 09HCLR 0AHCLR 0BHCLR 0CHSETB 0DHCLR 0EHCLR 0FHCLR 10H2013 届 本 科 毕 业 设 计 ( 论 文 )CLR 11HMOV R2,#00H MOV R3,#00H MOV TMOD,#12HMOV TL1,#0e5H ;wait MOV TH1,#0BeHMOV TH0,#3FH ;200uS 3fMOV TL0,#3FHSETB ET0SETB ET1setb pt0SETB TR0SETB TR1SETB IT0 SETB EX0 CLR PX0;LCALL SET1302 ;初始化MOV R1,#0C1H ;取定时参数从 1302 中acall T_6061MOV 6AH,A ;MMOV R1,#0C3HACALL T_6061MOV 6BH,A ;HMOV 61H,#0MOV 62H,#0SETB EAsjmp $;*DISPLAY: PUSH ACCPUSH PSWMOV TL1,#0e0H ;wait how long to display (20ms)MOV TH1,#0b0H2013 届 本 科 毕 业 设 计 ( 论 文 )mov dptr,#tab1JB 0EH,DIS2JB 0FH,DIS3JB 10H,DIS4JB 11H,DIS5JNB 0DH,D_OUTJNB 08H,D_GO ;定时到时,显示闪烁JNB 07H,D_OUTD_GO: MOV DPTR,#TAB1MOV A,62HANL A,#0FHMOV B,AMOV A,62HSWAP AANL A,#07HMOVC A,A+DPTRMOV P1,ACLR LED1LCALL DL2MSETB LED1MOV A,BMOVC A,A+DPTRMOV C,07HMOV acc.7,C ;秒灯闪烁MOV P1,ACLR LED2LCALL DL2MSETB LED2mov dptr,#tab2 ;倒装 LED 字段表MOV A,61HANL A,#0FH2013 届 本 科 毕 业 设 计 ( 论 文 )MOV B,AMOV A,61HSWAP AANL A,#0FHMOVC A,A+DPTRMOV C,07HMOV acc.6,C ;秒灯闪烁MOV P1,ACLR LED3CLKLCALL DL2MSETB LED3CLKmov dptr,#tab1MOV A,BMOVC A,A+DPTRMOV C,06Hcpl cMOV acc.7,C ;闹铃指示灯MOV P1,ACLR LED4IOLCALL DL2MSETB LED4IOD_OUT: SETB TR1POP PSWPOP ACCRETI;*DIS2: AJMP DIS_2DIS3: AJMP DIS_3DIS4: AJMP DIS_4DIS5: AJMP DIS_52013 届 本 科 毕 业 设 计 ( 论 文 )二.初始化程序ORG 0030HSTART: CLR RSTMOV SP #2AHSETB 05HCLR 06HSETB 07HCLR 07HCLR 08HCLR 09HCLR 0AHCLR 0BHCLR 0CH2013 届 本 科 毕 业 设 计 ( 论 文 )SETB 0DHCLR 0EHCLR 0FHCLR 10HCLR 11HMOV R2,#00H MOV R3,#00H MOV TMOD,#12HMOV TL1,#0e5H ;wait MOV TH1,#0BeHMOV TH0,#3FH ;200uS 3fMOV TL0,#3FHSETB ET0SETB ET1setb pt0SETB TR0SETB TR1SETB IT0 SETB EX0 CLR PX0LCALL SET1302 ;初始化MOV R1,#0C1H ;取定时参数从 1302 中acall T_6061MOV 6AH,A ;MMOV R1,#0C3HACALL T_6061MOV 6BH,A ;HMOV 61H,#0MOV 62H,#0SETB EAsjmp $;*DISPLAY: PUSH ACC2013 届 本 科 毕 业 设 计 ( 论 文 )PUSH PSWMOV TL1,#0e0H ;wait how long to display (20ms)MOV TH1,#0b0Hmov dptr,#tab1JB 0EH,DIS2JB 0FH,DIS3JB 10H,DIS4JB 11H,DIS5JNB 0DH,D_OUTJNB 08H,D_GO ;定时到时,显示闪烁JNB 07H,D_OUT三.LED 动态显示设置模块程序DL2M: MOV 43H,#14H ; every LED(2ms)DL2: MOV 44H,#14HDL1: NOPNOPDJNZ 44H,DL1DJNZ 43H,DL2RET2013 届 本 科 毕 业 设 计 ( 论 文 )四.定时读取时间及判断闹铃时间到否模块程序DIS_4: mov dptr,#tab1 ;显示设置闹时JNB 07H,D4_OUT ;显示时闪烁MOV A,6BHMOV B,#0AHDIV ABMOVC A,A+DPTRMOV P1,ACLR LED1LCALL DL2MSETB LED1MOV A,BMOVC A,A+DPTRMOV P1,ACLR LED2LCALL DL2MSETB LED2D4_OUT: SETB TR1POP PSWPOP ACCRETI;*DIS_5: MOV DPTR,#TAB2JNB 07H,D5_OUT ;显示时闪烁MOV A,6AH ;显示设置闹分MOV B,#0AHDIV ABMOVC A,A+DPTRMOV P1,ACLR LED3CLKLCALL DL2MSETB LED3CLK2013 届 本 科 毕 业 设 计 ( 论 文 )MOV DPTR,#TAB1MOV A,BMOVC A,A+DPTRMOV P1,ACLR LED4IOLCALL DL2MSETB LED4IOD5_OUT: SETB TR1POP PSWPOP ACCRETIDL2M: MOV 43H,#14H ; every LED(2ms)DL2: MOV 44H,#14HDL1: NOPNOPDJNZ 44H,DL1DJNZ 43H,DL2RET;*定时读取 1302 时间及判断闹铃时间是否到*P_INT: PUSH ACCPUSH PSWINC R2CJNE R2,#250D,P_OUTMOV R2,#00HINC R3CJNE R3,#10D,P_OUTMOV R3,#00HCPL 07HMOV P1,#0FFHACALL R_1302OUT: JNB 06H,P_OUTMOV A,6BHMOV B,#102013 届 本 科 毕 业 设 计 ( 论 文 )DIV ABSWAP AADD A,BCJNE A,62H,PP_OUTMOV A,6AHMOV B,#10DIV ABSWAP AADD A,BCJNE A,61H,PP_OUTSETB 08H ;定时到标志MOV C,07Hcpl cMOV K_ON,CP_OUT: POP PSWPOP ACCRETIPP_OUT: SETB K_ONCLR 08H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论