精品-基于51单片机的开发板设计毕业论文内容摘要:

b 硬件实现 DS18b20 温度传感器模块的原理图如图 311 所示: 图 311 DS18b20 温度传感器模块原理图 单片机与 DS18B20 通过 相连,作为数据 /控制信号线。 串行通信模块 a RS232 串行通信模块 RS232 是由电子工业协会 Electronic Industries Association, EIA 所制定的异步传输标准接口。 对于一般双工通信,仅需几条 信号线就可实现,如一条发送线、一条接收线及一条地线。 RS232 与 TTL 电路之间需要进行电平和逻辑关系的变换。 实现这种变换的方法可用分立元件,也可用集成电路芯片。 232 芯片可完成 TTL←→ RS232 双向电平转换。 232芯片是 RS232标准接口使用 +5v单电源供电内部结构基本可分三个部分: 第一部分是电荷泵电路。 由 6 脚和 4 只电容构成。 功能是产生 +12v 和 12v 两个电源,提供给 RS232 串口电平的需要。 第二部分是数据转换通道。 由 1 1 1 14 脚构成两个数据通道。 其中 13 脚( R1IN)、 12 脚( R1OUT)、 11 脚( T1IN)、 14 脚( T1OUT)为第一数据通道。 8 脚( R2IN)、 9 脚( R2OUT)、 10 脚( T2IN)、 7 脚( T2OUT)为第二数据通道。 TTL/CMOS 数据从 T1IN、 T2IN 输入转换成 RS232 数据从 T1OUT、 T2OUT送到电脑 DP9 插头; DP9 插头的 RS232 数据从 R1IN、 R2IN 输入转换成 TTL/CMOS数据后从 R1OUT、 R2OUT 输出。 第三部分是供电。 15 脚 DNG、 16 脚 VCC( +5)。 RS232 由于传输速率慢,传输距离短,传输信号 易受外界的干扰等缺点。 新的串行通讯接口标准 RS449 被制定出来,与之相对应的是 RS485 的电气标准。 RS485 是美国电气工业联合会 EIA 制定的利用平衡双绞线作传输线的多点通讯标准。 它采用差分信号进行传输;最大传输距离可以达到 km;最大可连接 32 个驱动器和收发器;接收器最小灵敏度可达177。 200 mV;最大传输速率可达 Mb/s。 由此可见, RS485 协议正是针对远距离、高灵敏度、多点通讯制定的标准。 图 313 485 的引脚和结构 该芯片采用单一电源 +5 V 工作,额定电流为 300 μ A,采用半 双工通讯方式。 它完成将 TTL电平转换为 RS485电平的功能。 485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。 RO 和 DI 端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的 RXD 和 TXD 相连即可; /RE 和 DE 端分别为接收和发送的使能端,当 /RE 为逻辑时,器件处于接收状态;当 DE 为逻辑 1时,器件处于发送状态,因为 485 工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可; A 端和 B 端分别为接收和发送的差分信号端当 A 引脚的电平高于 B 时,代表发送的数据为 1;当 A 的电平低于 B 端 时,代表发送的数据为 0。 在与单片机连接时接线非常简单。 只需要一个信号控制 485 的接收和发送即可。 同时将 A 和 B 端之间加匹配电阻,一般可选 100Ω的电阻。 a 数码管模块 1 数码管驱动采用 8 位数据缓冲器 74HC573,其功能表如下表 31 所示: 表 31 74HC573 功能表 OPERATING MODES INPUT INTERNAL LATCHES OUTPUTS OE LE DN Q0 to Q7 enable and read register L H L L L L H H H H Latch and read register L L I L L L L h H H Latch register and disable outputs H L I L Z H L h H Z 注意: H 高电平 h 要保持高电平到低电平转变时一个建立周期以上的高电平 L 低电平 I 要保持高电平到低电平转变时一个建立周期以上的低电平 Z 高组态 选用 74HC573 增强驱动能力,提高数码管显示亮度。 ADP 对应八段数码管的各段,当 ADP 中有低电平输出时,被低电平片选中的数码管的相应 段点亮。 2 硬件实现: 数码管模块的原理图如图 315 所示: 图 315 数码管模块原理图 单片机与 74HC573 通过 、 、 、 、 、 、 、 相连,作为段码信号线;与 74HC138 通过 、 、 相连,作为片选信号线。 b LCD1602 模块 1 LCD1602 简介: LCD1602 点阵字符液晶模块是由点阵字符液晶显示器件和专用的行列驱动器,控制器及必要的连接件,结构件装配而成,可以显示数字和英文字符。 LCD1602 采 用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表所示 LCD1602 引脚接口图 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 LCD1602 引脚接口图 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 R/W 功能说明 L L MPU 写指令到指令暂存器( IR) L H 读出忙标志( BF)及地址记数器( AC)的状态 H L MPU 写入数据到数据暂存器( DR) H H MPU 从数据暂存器( DR)中读出数据 E 信号的状态产生的动作见表34: 表 34 E 信号的状态产生的动作 E 状态 执行动作 结果 高―― 低 I/O 缓冲―― DR 配合 /W 进行写数据或指令 高 DR―― I/O 缓冲 配合 R 进行读数据或指令 低 /低―― 高 无动作 ? LCD12864 的并行接口见表 35: 表 35 LCD12864 的并行接口 管脚号 管脚名称 电平 管脚功能描述 1 VSS 0V 电源地 2 VCC +5V 电源正 3 V0 对比度(亮度)调整 4 RS CS) H/L RS “ H”,表示 DB7―― DB0 为显示数据 RS “ L”,表示 DB7―― DB0 为显示指令数据 5 R/W SID H/L R/W “ H”, E “ H”,数据被读到 DB7―― DB0 R/W “ L”, E “ H→ L”, DB7―― DB0 的数据被写到 IR 或 DR 6 E SCLK H/L 使能信号 7 DB0 H/L 三态 数据线 8 DB1 H/L 三态数据线 9 DB2 H/L 三态数据线 10 DB3 H/L 三态数据线 11 DB4 H/L 三态数据线 12 DB5 H/L 三态数据线 13 DB6 H/L 三态数据线 14 DB7 H/L 三态数据线 15 PSB H/L H: 8 位或 4 位并口方式, L:串口方式(见注释 1) 16 NC 空脚 17 /RESET H/L 复位端,低电平有效(见注释 2) 18 VOUT LCD 驱动电压输出端 19 A VDD 背光源正端( +5V)(见注释 3) 20 K VSS 背光源负端(见注释 3) *注释 1:如在实际应用中仅使用并口通讯模式,可将 PSB 接固定高电平,也可以将模块上的 J8 和“ VCC”用焊锡短接。 *注释 2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释 3:如背光和模块共用一个电源,可以将模块上的 JA、 JK 用焊锡短接。 2 硬件实现: 开发板上 LCD12864 模块的原理图如图 317 所示: 图 317 LCD12864 模块原理图 单片机与 LCD12864 通过 、 、 、 、 、 、 、 、 、 相连, ― 为数据线, 、 、 为控制线。 下载器模块 ATmega8 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。 由于其先进的指令集以及单时钟周期指令执行时间, ATmega8 的数据吞吐率高达 1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。 ATmega 有如下特点 8K 字节的系统内可编程 Flash 具有同时读写的能力,即 RWW , 512 字节 EEPROM, 1K 字节 SRAM, 32 个通用 I/O 口线, 32 个通用工作寄存器,三个具有比较模式的灵活的定时器 / 计数器 T/C , 片内 / 外中断,可编程串行 USART,面向字节的两线串行接口, 10 位 6 路 8 路为 TQFP与 MLF 封装 ADC,具有片内振荡器的可编程看门狗定时器,一个 SPI 串行端口,以及五种可以通过软件进行选择的省电模式。 工作于空闲模式时 CPU 停止工作,而 SRAM、 T/C、 SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止 工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止 CPU 和除了异步定时器与 ADC 以外所有 I/O 模块的工作,以降低 ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力。 图 320 流水灯模块原理图 图 321 蜂鸣器模块原理图 如图 320所示流水灯模块包含 8个 LED灯,单片机的 P0口 接 10K上拉电阻,八个 LED 的负极依次连接单片机 P0 口的 8 个引脚,八个 LED 的正极依次与 510欧姆的排阻的八个端子相连,排阻的公共端连接短路插针的一端,短路插针的另一端与电源相连,因此,若将短路插针用短路帽短路,则八个 LED 的正极上拉到高电平, LED 低电平点亮。 如图 321 所示,单片机的 与 Q1 的基极通过 1K 欧姆电阻连接,当 为高电平时, Q1 导通, Q1 的发射极与集电极导通,将发射极下拉为低电平,蜂鸣器两端出现电位差,蜂鸣器发声;当 为低电平时, Q1 不导通,蜂鸣器两端没有电流流过,蜂鸣器 不发声。 总结:对硬件的设计采用模块化设计方法,采用的电路为典型应用电路,资源配置合理,通过使用短路帽连接相应的功能模块,降低了功耗,减弱了器件之间的相互干扰,提高了系统稳定性,硬件工作稳定可靠。 4 软件部分 整体程序设计 软件部分主要包括数码管程序、键盘程序、 AD 程序、 DA 程序、 DS1302 时钟程序、 DS18b20 温度传感器程序、串行通信程序、显示程序和其他简单模块程序。 分模块程序设计 依据开发板上硬件资源,进行程序的开发,在软件的设计过程中,采用模块化的设计方法,依次分别为每个模块设 计软件。 下面分别介绍以上各个模块的程序设计。 键盘模块程序设计 矩阵式键盘的按键识别方法判断键盘中有无键按下将全部行线 0KEY3 置低电平,然后检测列线的状态。 只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之中。 若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。 其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。 在确定某根行线位置为低电平后,再逐行检测各列线的电 平状态。 若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 矩阵式键盘的按键 图 41 键盘程序流程图 键盘采用的是行扫描法确定键值,在程序中具体是这样扫描键盘的:将键盘扫描码送入 P2 口,先是使行线依次为低电平,顺序为 KEY KEY KEY KEY4,在某一行线为低电平的状态下,读取 P2 口的状态,将状态值依次右移四位,这样便将 KEY5KEY8 的状态值移到了低四位,再将高四位状态值置一,将处理后的状态值与当前的扫描码比较,如果此时的状态值与四个扫描码中的一个相同,证明有键按下,此时保存 扫描码的数组下标和与状态值相等的扫描码数组下标,并将两个值按照键盘编码值进行某一规则的四则运算后返回给主函数中的某一变量;如果在全部行线依次为低电平情况下的状态值与四个扫描码中没有一个相同,证明没有键按下,返回 1 到主函数。 在主函数中调用键盘扫描函数对键盘进行扫描,判断返回键值,若返回值不为 1,证明右键按下,在某一个数码管上显示键值,若返回值为 1,证明没有键按下,显示先前按下的按键键值。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。