




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 0 / 64理工大学现代科技学院毕业设计设计题目:红外抄表电度表抄表器学学 生:生:专专 业:测控技术与仪器业:测控技术与仪器班班 级:级:学学 号:号:指导教师:指导教师:设计日期:设计日期: . . . 0 / 64理工大学现代科技学院毕业设计(论文)任务书毕业设计(论文)任务书毕业设计(论文)题目:红外抄表电度表抄表器原始资料:近年来,随着信息技术的飞速发展,无线技术正在向各个领域渗透,特别是红外线无线技术,在工业生产、家用电器、安全保卫以与人们的日常生活中得到了广泛的应用。本文详细描述了该红外抄表系统的设计方案、硬件电路设计和软件设计,并利用 keil 仿真软件对所开发的
2、 C 语言程序进行了验证。在本文的第五章讨论了系统的发展趋势和改进,为系统的进一步开发奠定了基础。本系统关键部分主要是红外通信原理。系统在分析可行性、可靠性的基础上,参照工程设计方法,确定了模块化设计的思路。本系统主要由控制模块、发射模块、接收模块、显示模块 4 个模块组成。38kHz 频率作为数据通信的载波,发射和接收模块对数字信号进行调制和解调,通过 LCD 液晶显示屏将收到的数据显示出来。该系统还具备掉电保护和数据存储功能。利用一个红外抄表器来完成琐碎的抄表工作。从而从根本上杜绝“肉眼观察”所带来的随机误差,并大大提高了抄表的效率。 毕业设计(论文)主要容:本文主要介绍以AT89S51单
3、片机为核心控制的红外抄表系统设计。该系统主要由控制模块、发射模块、接收模块、显示模块4个模块组成。系统的数据由发射板的3个按键按一定的计算规则所得。发射管发射的38kHz频率载波由单片机编程控制产生。发射模块是对发送的数字信号进行适当的调制编码,后经发射管的转换电路转变为红外光脉冲并发射到空中;接收模块对接收到的红外光脉冲进行光电转换、解调译码后恢复原数字信号。收到的数据通过LCD1602液晶显示屏显示出来。主要参考文献:1 胡汉才,单片机原理与其接口技术M,清华大学,1996,48622德金,MCS-51 系列单片机接口电路与应用程序实例M,航空航天大学, . . . 1 / 641990,
4、21843 祁伟,婷,单片机 C51 程序设计教程与实验M,航空航天,20064 凌志浩,仪表原理与设计技术M5 许晓平,晓彦,程传胜.PCB 设计标准教程M,邮电大学,20086 胡伟,季晓衡,单片机 C 程序设计与应用实例M,人民邮电,20037 程道喜,传感器的信号处理与接口M,科学,19898 将新,华军,东骏,单片机程序设计与应用从基础到实践M,电子工业, 20019 胡汉才,单片机原理与其接口技术M,清华大学,1995, (6),11212610 长赞,红外线与超声波遥控M,人民邮电,199711 玉香,新型遥控接收模块 HS0038J,无线电,1998 学生须提交的文件:1、 毕
5、业设计任务书2、 毕业设计中期检查表3、 毕业论文设计成绩评定表4、 论文进度安排:第一周到第三周:查阅资料,文献综述。第四周:提交开题报告。第五周到第六周:总体方案设计。第七周到第十一周:数据采集。第十二周到第十四周:完善系统设计,撰写毕业论文。第十五周:修改完善毕业论文,准备毕业答辩。专业班级 测控技术与仪器 学生 . . . 2 / 64设计(论文)工作起止日期指导教师签字 日期专业(系)主任签字 日期 . . . 0 / 64红外抄表电度表抄表器摘 要近年来,随着信息技术的飞速发展,无线技术正在向各个领域渗透,特别是红外线无线技术,在工业生产、家用电器、安全保卫以与人们的日常生活中得到
6、了广泛的应用。本文详细描述了该红外抄表系统的设计方案、硬件电路设计和软件设计,并利用 keil 仿真软件对所开发的 C 语言程序进行了验证。在本文的第五章讨论了系统的发展趋势和改进,为系统的进一步开发奠定了基础。本系统关键部分主要是红外通信原理。系统在分析可行性、可靠性的基础上,参照工程设计方法,确定了模块化设计的思路。本系统主要由控制模块、发射模块、接收模块、显示模块 4 个模块组成。38kHz 频率作为数据通信的载波,发射和接收模块对数字信号进行调制和解调,通过 LCD 液晶显示屏将收到的数据显示出来。该系统还具备掉电保护和数据存储功能。利用一个红外抄表器来完成琐碎的抄表工作。从而从根本上
7、杜绝“肉眼观察”所带来的随机误差,并大大提高了抄表的效率。关键词:通信,红外抄表,单片机,调制,解调 . . . 1 / 64INFRARED METER READING METERMETER READERSABSTRACTIn recent years, with the rapid development of information technology, wireless technology is to permeate all areas, especially in the infrared wireless technology, in industrial productio
8、n, household appliances, security, and has been widely used in Peoples Daily life.This paper describes in detail the infrared meter reading system design scheme, hardware circuit design and software design, and use the keil simulation software developed by C language program are verified. In the fif
9、th chapter of this article discusses the development trend of the system and improved, and laid a solid foundation for the further the development of the system. The system key part mainly is the principle of infrared communication. System based on the analysis of the feasibility, reliability, and r
10、eference to engineering design method of determine the idea of modular design. This system mainly consists of control module, the transmitting module and . . . 2 / 64receiving module, display module of four modules. 38 KHZ frequency as carrier of data communication, transmitting and receiving module
11、s of digital signal modulation and demodulation, and displayed through the LCD screen will receive the data. The system also have power lost protection and data storage function.Using an infrared meter reading device to do trivial meter reading. To fundamentally eliminate the naked eye brought about
12、 by the random error, and greatly improve the efficiency of meter reading.KEY WORDS: communication, Infrared meter reading, Single chip microcomputer, Modulation, demodulation . . . 3 / 64目录目录1 绪论61.1 课题的背景和意义 61.2 课题总体设计方案 62 系统硬件设计 82.1 控制模块 82.22.2 发射模块 92.3 接收模块 112.4 显示模块 133 系统软件设计173.1 38kHz
13、频率的产生与发射程序设计 183.2 数据计算程序 203.3 显示模块程序设计 213.3.1 数码管显示213.3.2 LCD 液晶显示程序223.4 接收模块程序设计 264 电路板的制作 284.1 原理图的绘制 284.2 PCB 图的生成 284.3 电路板到印制和焊接 295 系统调试305.1 硬件调试 305.2 软件调试 30总结语32参考文献33 . . . 4 / 64致34附录一:发射原理图36附录二:接收原理图37附录三:源程序38 . . . 5 / 641 1 绪论绪论1.1 课题的背景和意义众所周知,电表是一种非常重要的计量仪表,它的计量准确与否直接关系到千家
14、万户的利益。为此,国家制订严格的标准,各电表生产厂家在严格遵守国家标准基础上,实行更严格的控标准。事实上,每一台出厂的合格表,都经过了严格的校验与误差处理,这些误差处理通常包括硬件和软件的处理。因而,用户最终使用的电表其自身的计量精度是达到国家标准的。然而,在电表的实际应用过程中,由于人为的操作给其计量带来种种的随机误差,尤为突出的便是抄表。目前在我国,抄表工作大多数还是采用“肉眼观察”。即抄表人员挨家挨户上门读取电能表计度器示值。可想而知,这种抄表方法效率是多么低下、花费人力大、抄表不准确,而它却仍在全国占据主流位置。所以“人眼”抄表带来了很多不便。目前,我国城乡居民用户抄电表、水表和煤气表
15、的方式基本上都是人工抄表,即由抄表人员每月逐户查抄水表、电表、煤气表。这种落后的方式,消耗大量的人力、物力,而且采集数据的时间跨度大、采集数据的准确度低。因此,国家有关部门规定以后将逐步以计算机为基础的自动抄表系统取代传统的人工抄表。利用一个红外抄表器来完成琐碎的抄表工作。从而从根本上杜绝“肉眼观察”所带来的随机误差,并大大提高了抄表的效率。本设计是一个基于单片机的红外抄表系统,利用红外线这种非电信号作为传输介质,来传送数据信息,可以在那些不适合或不方便架设电缆线与电磁干扰较强的工作环境下,来实现电度表的抄表,并通过LCD液晶显示屏显示读数,完成电度表用电量的抄录工作。1.2 课题总体设计方案
16、 . . . 6 / 64本文主要介绍以AT89S51单片机为核心控制的红外抄表系统设计。该系统主要由控制模块、发射模块、接收模块、显示模块4个模块组成。系统的数据由发射板的3个按键按一定的计算规则所得。发射管发射的38kHz频率载波由单片机编程控制产生。发射模块是对发送的数字信号进行适当的调制编码,后经发射管的转换电路转变为红外光脉冲并发射到空中;接收模块对接收到的红外光脉冲进行光电转换、解调译码后恢复原数字信号。收到的数据通过LCD1602液晶显示屏显示出来。图1-1 电源、电池供电电路设计图本系统具有掉电保护功能,以便在停电时保护所储存的数据信息。如图1-1所示为电源、电池供电电路设计图
17、。当有外接电源时VCC电压高于电池电压,二级管处于截止状态,电池不给单片机供电;当VCC电压低于电池电压时,二极管处于导通状态,电池给单片机供电,以保证数据不丢失。还具有数据存储功能,可以按整体键查看之前所收到的数据。如图1-2所示为系统工作的整体框图。图 1-2 系统框图2 2 系统硬件设计系统硬件设计单单片片机机发射模块发送接收模块单单片片机机显示模块数据设置显示模块 . . . 7 / 64硬件电路主要由两个单片机控制模块、发射模块、接收模块、显示模块以与一些外围驱动电路组成。2.1 控制模块图 2-1 AT89S51 实体图AT89S51 是美国 ATMEL 公司生产的低功耗、高性能
18、CMOS8 位单片机,片含 4K 的可编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统与引脚。它集 Flash 程序存储器既可在线编程(ISP)也可用传统方法进行编程与通用 8 位微处理器于单片机芯片中,ATMEL 公司的功能强大,低价位。AT89S51 单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。89S51 单片机实物图如图 2-1 所示。AT89S51 提供以下标准功能:4K 字节闪速存储器,128 字节部 RAM,32 个 I/O 口,看门狗(WDT) ,两个数据指针,两个 16 位定时/计数器,
19、一个 5 向量两级中断结构,一个全双工串行通信口,片振荡器与时钟电路。同时,AT89S51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许RAM,定时/计数器,串行通信口与中断系统继续工作。掉电方式保存 RAM 中到容,但振荡器停止工作并禁止其它所有工作部件直到下一个硬件复位。AT89S51 在平时的应用时比较多,同样对它的最基本电路驱动电路也是比较熟悉的。首先必须有 5V 的驱动直流电源,现在有现有的 5V 直流电源模块,就可以直接应用 5V 直流电源模块做为驱动单片机 AT89S51 的电源。这就是在 VCC 管脚处接上 5V 电源。
20、GND 接地,同时 EA 管脚现在不用下载程序也接上 5V 电源。其次要给 AT89S51 一个时钟电路,为了方便计算时钟频率设计了在引脚 XTAT1 和 XTAL2 外接 12M 的晶振构成部振荡方式。再加上 2 个 30pF 的电容就组成了时钟电路。最后要有复位电路,单片机的复位是由外部的复位电路来实现的。复位引脚 RST 通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,斯密特触发器的输出电平由复位电路采样一次,然后才能得到部复位操作所需要的信号。复位电路用 10K 电阻,加上一个 10uF的电解电容和一个复位按钮来组成复位电路。由于 AT89S51 的存储器以足够,这就不需
21、要我再设计外部扩展存储器的电路了。具体设计的 AT89S51 的最基本外围电路就设 . . . 8 / 64计完成了,如图 2-2 所示为最小系统原理图 。图 2-2 最小系统原理图2.22.2 发射模块红外发射模块是采用红外发光二极管来发送经过调制的红外光波。红外发射器发出的红外光转换成相应的电信号,再送前置放大器放大。红外发射电路的信号一般采用两级调制。在红外数据传输的信号调制方式上,采用脉冲调制的二进制不归零码。这种调制方式比较简单,编码、解码都比较方便,有利于电路简化。红外线发射管在 LED封装行业中主要有三个常用的波段,如下850nm、875nm、940nm。根据波长的特性运用的产品
22、也有很大的差异, 850nm 波长的主要用于红外线监控设备、 875nm主要用于医疗设备、 940nm 波段的主要用于红外线控制设备。 本系统采用的是红外的 940nm 波段。如图 2-3 所示为红外发射二极管实物图。图 2-3 发射二极管实物图 . . . 9 / 64在红外发射模块设计中选择红外发射二极管时,要注意以下几个问题:第一,由于红外发射二极管的PN结电容的存在,影响了它的工作频率,选型时应选择响应时在S的红外发射二极管,以适应数据通信的要求;第二,由于现在大多数红外发射二极管为球面透镜封装,红外发射二极管的发射指向角较小,为改善发射光线的指向特性,使之在较宽的偏移臣离正常工作,应
23、采用多管并发的方法但对本系统综合考虑还是采用了一个红外发射管。图 2-4 发射管连接图本系统的红外发射模块连接方式如图2-4 所示,接单片机的 P1.0 引脚。两个电阻是限流的作用, R121 是防止电流过大烧坏三极管, R122 是防止电流过大烧坏红外发射管 D121,三极管起到放大电流的主要作用,使得红外发射的更远,当单片机的 P1.0 口赋值 1 时,三极管工作,红外发射管工作发射红外线,当单片机的 P1.0 赋值 0 的时候三极管不工作,红外发射管不工作。如图2-5 所示为发射管部工作流程图。图 2-5 发射管部工作流程图2.3 接收模块一体化的红外接收模块将数据信号的接收、放大、检波
24、、整形集于一体,并且输出可以让单片机识别的信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。本系统采用红外一体化的接收头(HS0038) 。如图2-6所示为接收模块实物图。HS0038黑色环氧树脂封装,不受日光、荧光灯等光源干扰,附磁屏蔽、功耗低、 . . . 10 / 64灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。它能与TTL、COMS电路兼容。HS0038为直立侧面收光型。它接收红外信号频率为38kHz,周期约为26s,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、5 V 电源、解调信号输出端。图 2-6 接收模块实物
25、图 图 2-7 接收模块测试图 表 2-1 红外接收模块的主要参数工作电压4.8-5.3V工作电流1.7-2.7mA接收频率38kHz峰值波长940nm静态输出高电平输出低电平0.4V输出高电平接近工作电压红外一体化接收头的好坏测试可以利用图2-7所示的电路进行,在HS0038的电源端2与信号输出端3之间接上一只二极管与一只发光二极管后,再配上规定的工作电源(为5 V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。在使用红外接收模块时应保
26、证HS0038接收模块接地良好以防止干扰,由于此模块抗连续脉动光干扰的特性,在进行数据通讯时应发送一个字节后停顿大小为一个字节所占用的时宽,以满足此模块的脉动占空比要求。如果发送一个字节后不作停顿,接收器将会认为是光噪声,将造成通讯失败。如图2-8所示为接收模块的部结构图。图2-8 接收模块部结构图本系统在使用接收模块时在电源端和地端之间加了个电容,主要是因为电源波形 . . . 11 / 64影响信号的输入,而加个电容有滤波的效果和提高灵敏度。如图2-9所示为接收模块连接原理图。图 2-9 接收管原理连接图2.4 显示模块液晶显示模块具有体积小、功耗低、显示容丰富等特点,液晶显示的原理是利用
27、液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样就可以显示出图形。本系统发射板用到的显示模块为 4 位共阳 LED 数码管,采用的是动态扫描方式显示所需要发送的数据。用数码管显示信息时,由于每个数码管至少需要 8 个 I/O 口,如果需要多个数码管,则需要太多 I/O 口,而单片机的 I/O 口是有限的。所以在实际应用中,一般采用动态显示的方式来解决此问题。下面对数码管进行简单的介绍,数码管是一种半导体发光器件,其基本单元是发光二极管,数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示) ;按能显示多少个“8”可分为 1 位、2
28、 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。本系统用 LCD1602 液晶显示器来显示收到的数据信息。
29、LCD1602 可以显示 2 行 16个字符,有 8 位数据总线 D0-D7 和 RS、R/W、E 三个控制端口,工作电压为 . . . 12 / 645V。LCD1602 液晶模块部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H) ,显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A” 。LCD1602 部结构由 DDRAM、CGROM、IR、DR、BF、AC 等大规模集成电路组成。(1)D
30、DRAM 为数据显示用的 RAM,用以存放要 LCD 显示的数据,只要将标准的 ASC码放入 DDRAM,部控制线路就会自动将数据传送到显示器上,并显示出 ASC对应的字符。(2)CGROM 为字符产生器 ROM,可供使用者存储特殊造型的字符码,CGROM 最多可存放8 个字符。(3)IR 为指令寄存器,负责存储 MCU 要写个 LCD 的指令码。当 RS 与 R/W 引脚信号为 0 且 E 引脚信号为由 1 变为 0 时,D0D7 引脚上的数据便会存入到 IR 寄存器中。(4)DR 为数据寄存器,负责存储单片机要写到 CGRAM 或 DDROM 的数据。因此,可将 DR 视为一个数据缓冲区。
31、当 RS 与 R/W 引脚信号为 1 且 E 引脚信号为由 1 变为 0时,读取数据。当 RS 引脚信号为 1,R/W 引脚信号为 0 且 E 引脚信号为由 1 变为 0 时,存入数据。图 2-10 LCD 液晶显示原理图如图 2-10 所示为液晶显示原理图,8 位数据总线由单片机的 I/O 口 P2 控制,RS脚的高低电平控制数据和指令的写入,R/W 脚的高低电平控制数据的读取和写入。如 . . . 13 / 64图 2-11 为模拟接线方式图。LCD 液晶屏的第三引脚接了个滑动变阻,目的是对 LCD 对比度进行调节,使显示达到合适的效果。当电阻器滑到最靠近电源端时对比度最弱,当滑到最靠近地
32、端时对比度最高。但对比度过高时会产生“鬼影” ,因此用一个滑动变阻来调整对比度。表 2-2 为 LCD1602 液晶显示屏的主要技术参数。图 2-12 所示为读操作时序的控制器接口图。表 2-2 LCD1602 的主要技术参数显示容量162 个字符芯片工作电压4.5-5.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.954.35(WH)mm表 2-3 LCD1602 液晶显示屏接口信号的说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端12D
33、5Data I/O5R/W读/写选择端13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极 . . . 14 / 64图 2-11 模拟接线图图 2-12 读操作时序的控制器接口图3 3 系统软件设计系统软件设计 . . . 15 / 64程序的编写就要涉与到程序语言的选择,下面先看看汇编语言和 C 语言的特性,再进行语言的选择。(1)C 语言:C 语言是国外广泛使用的计算机语言,是计算机应用人员应掌握的一种程序设计工具。C 语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,
34、既具有高级语言的优点,又具有低级语言的许多特点。因此,C 语言特别适合编写系统软件。除了这些特点外,C 语言还具有以下优越性:在不需要完全了解单片机系统具体硬件的情况下,也能够编出符合硬件实际的专业水平的程序;以适应片上存储器的大小;中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由 C 编译器代办;提供常用的标准函数库,以供用户直接使用; 头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排除掉;可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动
35、生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。(2)汇编语言:汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而在对于程序的空间和时间要求很高的场合,汇编语言是必不可少的,至于对于很多需要直接控制硬件的应用场合,更是非用汇编语言不可。除了这些特性,汇编语言还具有下列特性: 占用的存单元和 CPU 资源少,能直接对硬件进行控制; 程序简短执行速度快; 可直接调用单片机的全部资源,并可有效地利用单片机的专有特性; 能准确地掌握指令的执行时间,适用于实时控制系统。红外抄表系统的软件程序设计主要由主程
36、序、发射程序、显示程序、接收程序组成。通过对以上两种语言的分析,由于 C 语言程序有利于实现较复杂的算法,同时该程序也比较复杂,要控制多个部件模块。为了能简单有条理的编辑程序。两种语言都有其独有的特性,结合自身的情况,对 C 语言比汇编语言要熟悉,并且应用 C 的时间比汇编长,所以我最终选择了以 C 语言来编写系统的程序。如图 3-1 所示为红外抄表系统的整体程序流程图,系统开始工作时进行初始化操作。由按键控制数据是否发送。初始化子程序数值按键扫描数码管显示是运行接收程序LCD 显示后续处理接收按键扫描开始运行发送程序否 . . . 16 / 64图 3-1 系统软件流程图3.1 38kHz
37、频率的产生与发射程序设计38kHz 频率可以有效防止日光和灯光的干扰,使得通信距离更远。现讨论产生38kHz 频率的两种方案。方案一:分频电路产生图 3-2 分频电路图如图 3-2 所示 455kHz 晶振经 12 分频得到 38kHz。由 455kHz 的晶振 CRY,反相器74HC04 与电阻、电容构成的振荡器产生 455kHz 的方波信号。经脉冲分频器 74LS92,六分频成为 75.83kHz 的脉冲信号。再经过 D 触发器构成的 2 分频/整形电路变成 38kHz的方波信号。本方案的振荡器采用了晶振,因晶振频率十分稳定。RC 振荡器的稳定性差,往往由于偏差很大而缩短控制距离。方案二:
38、软件生成 38kHz 频率f=38kHz . . . 17 / 64T=1/f 计算得 T26.3us 如图 3-5 所示发射管接在单片机的 P1.0 引脚上,所以只要控制单片机 P1.0 引脚的高、低电平周期为 26.3us。程序如下:for(a=aa;a0;a-) out=1;i=7;while(i0)i-;out=0;如下程序首先发送 3.028ms38kHz 频率,再停止发送 2.012ms。这两个段是为了让接收模块识别防止其他信号的干扰。接着开始发送数据,kHz(40)(发送时间为 1ms)后判断数据的最后一位是“1”还是“0” 。如果数据是“1”则停止发送 delayms(93),
39、否则停止发送 delayms(65)(1ms) 。一个数据为发送完毕,num=num1 数据位右移一位后判断发送。如此循环 8 次数据就发送完毕。发送完毕指令 kHz(20),后停止发送。如图 3-3 所示发射和接收波形图。 a=2ms b=1ms c=1.5ms图 3-3 发射接收波形图khz(116);delayms(125);for(num1=8;num10;num1-) khz(40);if(num&0 x001)delayms(93);/delay 1.5mselsedelayms(65);/delay 1ms . . . 18 / 64num=num1;如图 3-4 所示为 38k
40、Hz 的载波频率:低电平 17us、高电平 9us,17+9=26us 比26.3 快一点点。高、低电平时间不是固定值,只要相加等于 26us 就是发送 38khz 的频率。图 3-4 计算得出的载波频率3.2 数据计算程序本系统用发射板的三个按键来设置需要发送的数据,三个按键分别是个、十、百位控制键,数值计算规则如下:每按一个按键对应位加一。利用软件编程对各位进行相加计算。每位最大只能按到 9,当超过 9,则返回到 0 并且蜂鸣器响一声,如此反复循环计算。如个、十、百位各按一下,则得数据 111。计算规则十分简单,如下程序为百位控制:key1 为百位控制键,首先进行按键扫描,当按键引脚为低电
41、平时说明按键没有按下,继续等待;当引脚为高电平时说明按键已按下,则蜂鸣器响一声,百位加一。百位计算部分程序如下:if(key1=0)delay_ms(10);if(key1=0)while(!key1);bai+;if(bai=10) bai=0;beer=1;delay_ms(100);beer=0;上述为百位计算程序,同理十位和个位也是一样。扫描一遍按键后进行总和计算程序,并由数码管显示。总和计算公式为:zong=bai*100+shi*10+ge。 . . . 19 / 643.3 显示模块程序设计3.3.1 数码管显示数码管动态显示程序中,各个位的延时时间长短非常重要,如果延时时间长,
42、则会出现闪烁现象;如果延时时间太短,则会出现显示暗且有重影。所有数码管的段选全部连接在一起,动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。 例如需要显示数字“12”时,先输出位选信号选中第一个数码管,输出 1 的段码延时一段时间后选中第二个数码管,输出 2 的段码。把上面的流程以一定的速度循环执行就可以显示出“12” ,由于交替的速度非常快,人眼看到的就是连续的“12” 。先显示百位,延时一段时间
43、后显示十位,最后显示各位。一直按照设置时间循环显示。交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。使得看到连续的 3 位数。部分程序如下:P2=dispcodebai;P0=dispbitcode0;delay_ms(10);P0=dispbitcode3;P2=dispcodeshi;P0=dispbitcode1;delay_ms(10);P0=dispbitcode3;3.3.2 LCD 液晶显示程序液晶显示屏的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static
44、)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。(1)线段的显示点阵图形式液晶由 MN 个显示单元组成,假设 LCD 显示屏有 64 行,每行有 128列,每 8 列对应 1 字节的 8 位,即每行由 16 字节,共 168=128 个点组成,屏上 . . . 20 / 646416 个显示单元与显示 RAM 区 1024 字节相对应,每一字节的容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由 RAM 区的 000H00FH 的 16 字节的容决定,当(000H)=FFH 时,则屏幕的左上角显示一条短亮线,长度为 8 个点;当(3FFH)=
45、FFH 时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H 时,则在屏幕的顶部显示一条由 8 段亮线和 8 条暗线组成的虚线。这就是 LCD 显示的基本原理。(2)字符的显示用 LCD 显示一个字符时比较复杂,因为一个字符由 68 或 88 点阵组成,既要找到和显示屏幕上某几个位置对应的显示 RAM 区的 8 字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于带字符发生器的控制器来说,可以让控制器工作在文本方式,根据在 LCD 上开始显示
46、的行列号与每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该字符对应的代码即可。(3)汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占 32B,分左右两半,各占 16B,左边为 1、3、5右边为 2、4、6根据在 LCD 上开始显示的行列号与每行的列数可找出显示 RAM 对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加 1,送第二个字节,换行按列对齐,送第三个字节直到 32B 显示完就可以 LCD 上得到一个完整汉字。如表 3-1 所示为 1602 液晶模块部控制器的控制指令。如图 3-5 所示为 LCD 液晶
47、显示流程图。 表 3-1 1602 液晶模块部控制器指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/C R/L* . . . 21 / 646置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到 CGRAM 或DDRAM)10要写的数据容11从 CGRAM 或 DDRAM读数11读出的数据容1602 液晶模块的读写操作、屏
48、幕和光标的操作都是通过指令编程来实现的。(说明:1 为高电平、0 为低电平)指令 1:清显示,指令码 01H,光标复位到地址 00H 位置指令 2:光标复位,光标返回到地址 00H指令 3:光标和显示模式设置指令 4:显示开关控制指令 5:光标或显示移位指令 6:功能设置命令指令 7:字符发生器 RAM 地址设置指令 8:DDRAM 地址设置指令 9:读忙信号和光标地址指令 10:写数据指令 11:读数据开始LCD 初始化延时设第一行显示位置显示第一行内容设第二行并显示位置显示第二行内容 . . . 22 / 64 图 3-5 液晶显示流程图液晶显示模块是一个慢显示器件,所以在执行每条指令之前
49、一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图 3-6 为 LCD1602 液晶屏的部显示地址。图 3-6 LCD1602 液晶屏部显示地址例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
50、每次输入指令前都要判断液晶模块是否处于忙的状态。LCD1602 液晶模块部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A”。部分程序如下:void adr_write(unsigned char adr) delay(20);e=0; . . . 23 / 64rs=0; rw=0; e=1; lcd_data=adr; e=0; 使用时都
51、要进行初始化操作,如两行显示、清显示、是否需光标,从哪里开始显示等等。部分程序如下:adr_write(0 x38); /两行显示,5*7 模式adr_write(0 x01);/清显示adr_write(0 x0c); /整体显示打开,不显示光标adr_write(0 x06);adr_write(0 x80);/从第一行的第一个位置开始显示 开机时,首先从坐标的(0,0)开始显示Please Power On!, (1,0)显示为空。接着按照同样显示定位显示Has Boot!和Think You!。最后显示收到的数据,第一行显示DianDuShuZhi:加数值,第二行显示为空。void d
52、isplay_init()str_write(Please Power On!);str_write( );void display_on()str_write(Has Boot! );str_write(Think You! );void dis_play()str_write(DianDuShuZhi:);当按整体键时,显示之前所存储的数据。由于本设计显示屏比较小,所以只设置显示 4 个读数。第一行显示两个数,第二行显示两个数,显示方式为:第一行: DS1:+数值 DS2:+数值第二行: DS3:+数值 DS4:+数值部分程序如下:str_write(DS1:);ddr_write(tab
53、lenum1/100);ddr_write(tablenum1/10%10);ddr_write(tablenum1%10);str_write(DS2:); . . . 24 / 64ddr_write(tablenum2/100);ddr_write(tablenum2/10%10);ddr_write(tablenum2%10);3.4 接收模块程序设计红外接收头在接收数据时首先要对脉冲信号进行识别,判断是不是所要的那个信号。系统采用外部中断方式来进行数据的识别和解码。当收到一个红外信号时,立即对其他红外信号进行屏蔽并对此信号进行识别。部分识别程序如下:void sieasdf() in
54、terrupt 0EX0=0;for(a=5;a0;a-)delayms(35);/延时 0.5ms 判断 5 次 5*0.52.5ms进行 5 次判断,如图 3-7 所示:发射模块发射了 3ms38kHz 频率,接收模块进行了 2.5ms 时间的判断。如是正确信号即执行解码程序,否则跳出解码程序。解码部分程序如下: if(fleg)delayms(72);/延时 1ms 判断是不是高电平了if(in)delayms(115);/延时让它超过 2ms; 2.5+1+1.623=5.123ms 图 3-7 波形识别for(a=10;a0;a-)while(!in);delayms(86);/延时
55、 1.188ms 判断 IO 高低num=num1;if(in) . . . 25 / 64delayms(31);/延时 0.6ms mun=num; 解码完毕如不是正确信号,则跳出。跳出程序:if(in)fleg=0;4 4 电路板的制作电路板的制作4.1 原理图的绘制本次设计的红外通信系统的原理是通过查阅大量的资料,在图书馆以与网上查找资料所得到的,经过综合的分析其可行性,经济性等方面要求前提下做出的电路原理图。而在有可靠的电路原理图之后,我需要再做的就是将电路原理图变成一个硬件,使其实现预定的功能。如果使用的是万能板,则不需要绘制电路图,只要根据原理图的元器件在万能板上摆放好,用导线将
56、其焊接起来即可。但是在使用万能板时有许多的不便之处,比如说在焊接的过程中需要跳线,而板子本身也不够美观,好看。所以为了获得更好的效果,我们一般都使用腐蚀板,这样我们就首先的步骤就是在 protel 99SE 中绘制电路原理图。在本设计的电路图中的元器件,在 protel 99SE 的标准元件库里基本上都有,但是四位七段的共阳数码管在标准库里没有找到,所以在绘制电路图时就需要自己画一个数码管,同时也要做一个它的封装图,还有用到的 LCD1602 是在库中没有找到元件和封装,这也同样需要我测量该元件的管脚和找出它的原件参数,做出它的原件图和封装库。做好了这个基本上就可以了画出完整的电路原理图了。首
57、先我们先要在元器件库中调入各个元器件,将各个模块的元器件放在一起,然后用线将其连接起来其可完成原理图的基本绘制。4.2 PCB 图的生成由前面一节我提到在 protel 99SE 里绘制的原理图,如果要生成制作电路板所用的 PCB 图的话,首先要确认我们前面画的电路原理图的正确性,确定每个元器件的连线都连接上,所以在生成 PCB 之前我们要对每个元器件进行封装,封装库没有的元器件要自己做一个,比如前面讲到的四位七段数码管的封装。在对每个元器件封装的同时定义每个元器件的编号,编号要一一对应,不能有重复。 . . . 26 / 64电阻:AXIAL0.3AXIAL0.7 其中 0.40.7 指电阻
58、的长度,一般用 AXIAL0.4瓷片电容:RAD0.1RAD0.3 其中 0.10.3 指电容大小,一般用 RAD0.1电解电容:RB.1/.2RB.4/.8 其中.1/.2.4/.8 指电容大小。一般470uF 用 RB.3/.6二极管:DIODE0.4DIODE0.7 其中 0.40.7 指二极管长短,一般用 DIODE0.4 集成块:DIP8DIP40, 其中 840 指有多少脚,8 脚的就是 DIP8 贴片电阻 石英晶体振荡器 :XTAL1 单排多针插座:SIP 双列直插元件:DIP 然后是进行元器件的电气检测,检测没有错误的话会显示没有错误,如果错误,连线没有连上等等都会在原理图中只
59、指示出来。然后就是生成网络报表,显示所有的元器件的封装号,编号等。只要没有出现错误就可以生成 PCB 图。生成 PCB 后需要对其进行布线,设计焊盘的大小,导线的粗细,各个元器件实际放的位置,布线是一件很麻烦的事情,要尽量没有交叉,不限还要美观等等,这个工作长的话需要两三天到一个星期的时间,熟悉的话半天一天就可以完成。像我以前没有接触太多,所以布线起来比较困难,需要较多时间,但从中也学到了不少东西。4.3 电路板到印制和焊接考虑到本系统所用元器件较少,大部分功能都是通过软件编程来实现,同时也出于对毕业设计成本的考虑,因此所用到的板子是自己手工制作的 PCB 板。在电路板的制作中,首先要进行线路
60、的排布。利用 PROTEL 软件模拟实际电路板的线路走向,尽量避免线路出现交叉短路,电源线路尽量安排在电路板的最外圈。PCB 板刻录完成之后,开始进行焊接工作。焊接完后进行电路板检查,将原线路图与实际焊接的电路板进行对比,由于线路不多,所以用万用表的欧姆档或是短路声响指示功能来做焊点的检测,如此可以避免焊接时漏焊、虚焊和配线错误的问题,同时保证了所制作出来的线路与原设计线路的一致性。5 5 系统调试系统调试 . . . 27 / 645.1 硬件调试本设计硬件部分主要为显示模块、发射和接收模块。硬件电路功能检测主要针对以下这几部分进行测试。对于显示电路,由于使用的是四位数码管显示,首先要确定数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司春节互动活动方案
- 公司短视频小组活动方案
- 公司狂欢夜活动方案
- 2025年育儿嫂职业技能鉴定考试试题及答案
- 2025年网络信息安全法考试试题及答案
- 2025年现代生物技术专业水平考试试卷及答案
- 2025年特殊儿童教育教师资格考试试题及答案
- 2025年企业形象设计师资格考试试题及答案
- 2025年领导力与团队建设专业知识测试卷及答案
- 2025年大爱事业发展与慈善管理考试试卷及答案
- 【课件】新高三启动主题班会:启航高三逐梦未来
- 2024年山东省交通运输行业职业技能竞赛(装卸机械电器修理工)试题库(含答案)
- 电力电子技术第五版(王兆安)课件全
- QB∕T 2080-2018 高回弹软质聚氨酯泡沫塑料
- 工程机械设备保险附加第三者责任保险条款
- 医院感染知识培训记录范文(精选6篇)
- 日周月安全检查记录表
- 上海电动汽车充电设施建设管理暂行规定
- 100道结构力学弯矩图
- 钢结构设计图中的焊接符号标注大全(图)
- 流动资金缺口测算表
评论
0/150
提交评论