




免费预览已结束,剩余54页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津工程师范学院 本科生毕业设计 1 Tianjin University of Technology and Education 毕毕 业业 设设 计计 专专 业:业: 应用电子技术教育应用电子技术教育 班级学号:班级学号: 学生姓名:学生姓名: 指导教师:指导教师: 年年 月月 天津工程师范学院 本科生毕业设计 2 天津工程师范学院本科生毕业设计天津工程师范学院本科生毕业设计 汽车实验台电路控制系统汽车实验台电路控制系统 TheThe automobileautomobile experimentexperiment setset electricelectric circuitcircuit controlcontrol systemsystem 专业班级:专业班级: 学生姓名:学生姓名: 指导教师:指导教师: 系系 别:电子工程系别:电子工程系 年年 月月 天津工程师范学院 本科生毕业设计 3 摘 要 自汽车诞生以来,汽车维修业便一直伴随着汽车工业的发展而成长,汽车维修 业已成为交通运输业必不可少的服务性支柱与保障。尤其是近几十年来,随着国家 经济水平的发展,高速公路建设发展迅猛,通车里程快速增长。道路状况的改善, 使汽车的车速越来越快,与之关系密切的汽车维修业也随着汽车高科技化的发展, 出现了一些新的面貌。汽车维修制度的改革和发展及汽车维修技术的变革,促使汽 车维修人员培训的教学内容、教学手段、教学设备都应作出相应的改革。因为在现 代汽车维修中,有故障的车辆先用检测诊断仪器或设备进行相应的检查,而后由维 修技术人员基于自己的知识能力和经验,对检查结果进行综合分析后作出相应的诊 断,接下来再由主修人员独立或指导辅修人员完成故障排除或修理任务,查找故障 所占的时间达总维修时间的 70以上,因此为了提高汽车维修人员素质和专业技能, 以达到提高维修质量和效率的目的,所以开发设计了能进行故障模拟和故障分析诊 断的实验台,用于汽车维修从业人员的培训。该实验台带有各种传感器工作时的 Flash 动画演示,常见故障的维修视频,故障测试等功能教师在利用实验台进行授 课时,各种故障现象充分的暴漏使学生更容易理解,记忆也更深刻,学习效率将大 幅高。 关键词:关键词:VB6.0;Atmega16L;TLC5618 D/A 转换芯片;Access 数据库 天津工程师范学院 本科生毕业设计 4 ABSTRACT From the automobile birth, the car maintenance industry has been accompany with the development but growth of the automobile industry, the car maintenance industry has become the service of the transportation industry essential to have to pay the pillar and guarantee. Particularly,in the last several decades, along with the development of national economic level, the construction and development of expressway is swift and violent, the traffic mileage increases fast. The improvement of the road condition, The improvement of road state make speed of automobile more and more fast, the close relation of car maintenance industry also turns along with the automobile high technology of development, appear some new features.The reform and development of the car maintenance system technical change, the content of course,teaching means,the teaching equipmentseses that urge car maintenance a personnel to train all should make a reform for correspond.Because in the modern car maintenance, the vehicle that has breakdown is using the examination diagnosis instrument or equipments carry on correspond first of check, and then from maintain a technical personnel according to own knowledge ability and experience, makes a diagnosis for correspond towards checking a result after carry on the comprehensive analysis, connect down again from major personnels independence or guide a minor a personnel completion to break down expel or fix mission, check to seek break down have of time reach 70% of total maintenance time above, so development the design can carry on to break down imitate and break down to analyze diagnosis of experiment set, used for the training of the car maintenance employee, raise the car maintenance personnels character, thus attain exaltation maintain the purpose of the quality and efficiency.In addition teacher while making use of the experiment set to carry on a teaching, various break down phenomenon well of leak to make suddenly and violently the student comprehend more easily, remember also deeper, study an efficiency will significantly high. Key Words: VB6.0;Atmega16L;TLC5618;Access- Database 天津工程师范学院 本科生毕业设计 5 目 录 1 引言引言 1 1 2 系统设计系统设计 1 1 2.1 设计要求1 2.2 开发设计思路1 2.3 系统方框图 2 3 MSP430F149 单片机单片机3 3 3.1 MSP430F149 核心芯片简介 .3 3.2 MSP430 单片机的发展.4 3.3 MSP430 单片机的特点.5 3.4 MSP430 与 89C51 系列的比较.7 3.5 应使用的多种 MSP430 .8 3.6 开发环境及程序下载8 3.7 MSP430F149 单片机的功能介绍 .9 3.7.1 MSP430F149 输入输出口 .9 3.7.2 定时器及数模转换.10 3.7.3 时钟模块.10 3.7.4 USART 通信模块 .10 3.7.5 比较器模块 .11 3.7.6 模数转换模块 .11 3.7.8 485 和 232 通讯模块 .14 3.8 MSP430F149 单片机控制部分原理图 15 4 控制部分介绍控制部分介绍1515 4.1 直流电机的控制部分.15 4.1.1 恒压恒流桥式 2A 驱动芯片 L298N.15 4.1.2 直流电机驱动电路原理.17 4.1.3 直流电机的 PWM 调速电路.18 4.1.4 控制直流电机程序设计流程.22 4.2 步进电机的控制部分.22 4.2.1 进电机的驱动电路原理.22 4.2.2 NE555 脉冲产生器电路 .23 4.2.3 控制步进电机的程序设计流程.26 4.3 继电器控制部分.26 4.3.1 继电器控制部分电路原理.26 5 VB 软件设计软件设计 2727 5.1 VB6.0 软件的介绍 .27 5.2 功能介绍.29 5.3 上位机面板控制界面.29 天津工程师范学院 本科生毕业设计 6 5.4 上位机程序(附录 1)29 6 单片机程序设计单片机程序设计 3030 6.1 单片机的编程思想.30 6.2 单片机程序流程图.30 6.3 单片机程序(附录 2) .30 7 调试及结果调试及结果 3131 7.1 调试过程.31 7.2 结果.31 结结 论论 3232 参参 考考 文文 献献 3232 附录附录 1:上位机程序:上位机程序3333 附录附录 2:单片机程序:单片机程序3939 附录附录 3:电源模块原理图:电源模块原理图5454 附录附录 4:单片机模块原理图:单片机模块原理图5555 附录附录 5:直流驱动模块原理图:直流驱动模块原理图5656 附录附录 6:步进电机驱动模块原理图:步进电机驱动模块原理图5757 附录附录 7:继电器控制模块原理图:继电器控制模块原理图5858 致致 谢谢 5959 1 引言 随着我国汽车产业的迅猛发展,汽车的拥有量急剧增加,最新统计显示我国汽 车保有量已超过 5300 万辆,汽车进入家庭也已成为一种时尚。21 世纪对汽车市场 人才的需求将越来越大,特别是对掌握汽车新技术的应用维修人才的需要更为迫切, 教育部、劳动和社会保障部等六部委联合公布的紧缺人才报告显示,目前国内 汽车维修人才的需求量至少存在 80 万的缺口,汽车维修技术人员已成为我国四大紧 缺的应用型人才之一。汽车维修技术人员的培养特别强调实践动手能力,而这就必 须依靠充足的实践教学设备的支持,但是现有汽车电控类教学设施发展相对滞后, 功能单一,更不具备多媒体功能,已无法满足现代汽车人才培养的要求,为解决这 种矛盾,急需增加一批技术含量高,与生产结合紧密的新技术设备。我校作为职业 院校的领头羊,在汽车维修专业的建设上同样处于领先地位,利用我系的教学资源, 天津工程师范学院 本科生毕业设计 7 开发研制的汽车类教学设备更具有代表性、更能体现出汽车的先进技术、更能贴近 的实际使用需求。 图 1-1 系统框图 21 世纪对汽车维修从业人员无论在数量上还是质量上都提出了更高的要求,随 着汽车电子技术在汽车维修中比重日益增大,开发出集电控发动机故障设置与排除、 工作原理演示、实物动画演示、检测与分析、解码器、考核系统、微机控制教学研 究系统等功能于一体的综合性多媒体实物动态教学研究实验台,对于提高汽车维修 技术人员在汽车新技术领域的技能,培养符合汽车新技术条件下的应用型人才。 2 Atmega16L 单片机 2.1 单片机的概述 ATmega16 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。由于其先 进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达 1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。 AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存器都直接与算 逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存 器。这种结构大大提高了代码效率,并且具有比普通的 CISC 微控制器最高至 10 倍 的数据吞吐率。ATmega16 有如下特点:16K 字节的系统内可编程 Flash(具有同时读 写的能力,即 RWW),512 字节 EEPROM,1K 字节 SRAM,32 个通用 I/O 口线,32 个通 用工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三个具有比较模 式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行 USART,有起始条件检 天津工程师范学院 本科生毕业设计 8 测器的通用串行接口,8 路 10 位具有可选差分输入级可编程增益(TQFP 封装)的 ADC ,具有片内振荡器的可编程看门狗定时器,一个 SPI 串行端口,以及六个可以通过 软件进行选择的省电模式。 工作于空闲模式时 CPU 停止工作,而 USART、两线接口、 A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;ADC 噪声抑制模式时终 止 CPU 和除了异步定时器与 ADC 以外所有 I/O 模块的工作,以降低 ADC 转换时的开 关噪声;Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态, 使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下则允许 振荡器和异步定时器继续工作。 本芯片是以 Atmel 高密度非易失性存储器技术生产的。片内 ISP Flash 允许程 序存储器通过 ISP 串行接口,或者通用编程器进行编程,也可以通过运行于 AVR 内 核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用 Flash 存储区(Application Flash Memory)。在更新应用 Flash 存储区时引导 Flash 区(Boot Flash Memory)的程序继续运行,实现了 RWW 操作。 通过将 8 位 RISC CPU 与系统内可编程的 Flash 集成在一个芯片内,ATmega16 成为一个功能强大的单片机, 为许多嵌入式控制应用提供了灵活而低成本的解决方案。 ATmega16 具有一整套的编程与系统开发工具,包括:C 语言、编译器、宏汇编、 程序调试器/软件仿真器、仿真器及评估板。为了获得最高的性能以及并行性,AVR 采用了 Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级 流水线运行。CPU 在执行一条指令的同时读取下一条指令(在本文称为预取)。这个 概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的 FLASH。 天津工程师范学院 本科生毕业设计 9 图 2-1 Atmega16L 单片机 2.2 单片机的复位电路 复位是单片机的初始化操作,其作用是使 CPU 中的各个部件都处于一个确定的 初始状态,并从这个状态开始工作。 ATmega16 有 5 个复位源: 1.JTAG AVR 复位:复位寄存器为 1 时 MCU 复位。 2.上电复位:电源电压低于上电复位门限 VPOT 时,MCU 复位。 3.看门狗复位:看门狗使能并且看门狗定时器溢出时复位发生。 4.外部复位:引脚 RESET 上的低电平持续时间大于最小脉冲宽度时 MCU 复位。 5.掉电检测复位:掉电检测功能使能,且电源电压低于掉电检测电压时复位。 ATmega16 单片机 5 个复位源中,最常用的是外部复位和看门狗复位电路。外部 复位电路由外加于 RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲 宽度时即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到复位门 限电压 VTOUT 延时周期开始。延时结束后 MCU 即启动。(见图 2-2) 天津工程师范学院 本科生毕业设计 10 图 2-2 外部电路复位时序图 图 2-3 外部电路复位原理图 看门狗定时器由独立的 1 MHZ 片内振荡器驱动,看门狗定时器溢出时将产生持 续时间为 1 个 CK 周期的复位脉冲。在脉冲的下降沿,延时定时器开始对 Tout 记数。 这是 VCC 电平下的典型值。通过设置看门狗定时器的预分频器可以调节看门狗复位 的时间间隔。看门狗复位指令 WDR 用来复位看门狗定时器。此外,禁止看门狗定时 器或发生复位时定时器也被复位。复位时间有 8 个选项。如果没有及时复位定时器, 天津工程师范学院 本科生毕业设计 11 一旦时间超过复位周期,ATmega16 就复位,并执行复位向量指向的程序。(见图 2- 4) 图 2-4 看门狗复位电路时序图 2.3 单片机的晶振电路 ATmega16 芯片有如下几种通过 Flash 熔丝位进行选择的时钟源。时钟输入到 AVR 时钟发生器,再分配到相应的模块。 表 21 熔丝配置模式 器件时钟选项器件时钟选项 CKSEL30CKSEL30 外部晶体/陶瓷振荡器 1111 1010 外部低频晶振 1001 外部 RC 振荡器 1000 0101 标定的内部 RC 振荡器 0100 0001 外部时钟 0000 晶体振荡电路:XTAL1 与 XTAL2 分别为用作片内振荡器的反向放大器的输入和 输出,如图 2-5 所示,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。熔 丝位 CKOPT 用来选择这两种放大器模式的其中之一。当 CKOPT 被编程时振荡器在输 出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过 XTAL2 驱动第 二个时钟缓冲器的情况。而且这种模式的频率范围比较宽。当保持 CKOPT 为未编程 天津工程师范学院 本科生毕业设计 12 状态时,振荡器的输出信号幅度比较小。其优点是大大降低了功耗,但是频率范围 比较窄,而且不能驱动其他时钟缓冲器。对于谐振器,CKOPT 未编程时的最大频率 为 8 MHz,CKOPT 编程时为 16 MHz。C1 和 C2 的数值要一样,不管使用的是晶体还是 谐振器。最佳的数值与使用的晶体或谐振器有关,还与杂散电容和环境的电磁噪声 有关。 图 2-5 外部晶体振荡电路 表 2-2 晶体振荡器工作模式 CKOPTCKSEL31 频率范围 (MHz)C1 和 C2 的推荐范围 (pF) 1101(1)0.4 - 0.9 11100.9 - 3.012 22 11113.0 - 8.012 22 0101, 110, 1111.0 12 22 注:此选项不适用于晶体,只能用于陶瓷谐振器。 标定的片内 RC 振荡电路:标定的片内 RC 振荡器提供了固定的 1.0、2.0、4.0 或 8.0 MHz 的时钟。这些频率都是 5V、25C 下的标称数值。这个时钟也可以作为 系统时钟,只要对熔丝位 CKSEL 进行编程即可。择这个时钟(此时不能对 CKOPT 进行 编程)之后就无需外部器件了。复位时硬件将标定字节加载到 OSCCAL 寄存器,自动 完成对 RC 振荡器的标定。在 5V,25C 和频率为 1.0 MHz 时,这种标定可以提供标 称频率 1%的精度。当使用这个振荡器作为系统时钟时,看门狗仍然使用自己的 看门狗定时器作为溢出复位的依据。 天津工程师范学院 本科生毕业设计 13 标定的振荡器用来为访问 EEPROM 和 Flash 定时。有写 EEPROM 和 Flash 的操作 时不要将频率标定到超过标称频率的 10%,否则写操作有可能失败。要注意振荡器 只对 1.0、2.0、4.0 和 8.0MHz 这四种频率进行了标定,其他频率则无法保证。 表 2-3 片内标定的 RC 振荡器工作模式 CKSEL30 标称频率(MHZ) 00011.0 00102.0 00114.0 01008.0 外部 RC 振荡:对于时间不敏感的应用可以使用(图 2-6)外部 RC 振荡器。频 率可以通过 f=1/(3RC)进行粗略地估计。电容 C 至少要 22 PF。通过编程熔丝位 CKOPT,用户可以使能 XTAL1 和 GND 之间的片内 36pF 电容,从而无需外部点燃。 图 2-6 外部 RC 振荡 2.4 单片机的程序下载 程序存储器的更新以页的方式进行。在用临时页缓冲器存储的数据对一页存储 器进行编程时,首先要将这一页擦除。SPM 指令以一次一个字的方式将数据写入临 时页缓冲器。临时页缓冲器的写入可以在页擦除命令之前完成,也可以在页擦除和 页写操作之间完成。通过电脑上的下载软件将*.HEX 文件传输到(图 2-7 示)USB 下 载线板上的 ATmega8 芯片里,程序代码在这里经过处理后从固定的 I/O 管脚中输出 天津工程师范学院 本科生毕业设计 14 烧写到单片机的 Flash 存储器中。此外单片机一般采用 5V 以下的电源供电,USB 接 口也采用 5V 电源,所以,该下载线还可以通过电脑向单片机提供工作电源。该下载 线采用先进的 USB2.0 接口技术解决了笔记本不带并口的遗憾,还有它小巧精致,携 带方便,下载程序速度快等优点得到了众多编程爱好者的青睐而被广泛的使用着。 图 2-7 USB 下载线实物图 方案一:在页擦除前写缓冲器;方案二:在页擦除后写缓冲器.如果只需要改变 页的一部分,则在页擦除之前必须将页中其他部分存储起来(如保存于临时页缓冲区 中),然后再写回 Flash。使用方案 1 时,Boot Loader 提供了一个有效的读-修改- 写特性,允许用户软件首先读取页中的内容,然后对内容做必要的改变,接着把修 改后的数据写回 Flash。如果使用方案 2,则无法读取旧数据,因为页已经被擦除了。 临时页缓冲区可以随机寻址。保证在页擦除和页写操作中寻址相同的页是很关键的。 我们现在用的是 AVR-Stdio4.0 软件平台进行编程然后生成目标代码*.HEX 文件。然 后再通过 AVR-fighter 下载软件将程序烧到单片机的 Flash 程序存储器中。 天津工程师范学院 本科生毕业设计 15 3 数模转换芯片 TLC5618 3.1 TLC5618 功能特性 TLC561*系列转换器是美国 Texas Instrument 公司生产的串行可编程 DA 转 换器,包括 TLC5615、TLC5617 和 TLC5618 三种。TLC5615 为 10 位单路 DA 转换器, TLC5617 为 10 位双路 DA 转换器,TLC5618 为 12 位双路 DA 转换器。它们均采用 3 线串行方式输入,输出带有缓冲放大器,直接输出所转换的电压,采用 8 脚封装, 单一 5V 电源工作,此外,还有可编程的建立时间和软件断电、内部上电复位功能。 高精度双通道 DA 转 换器 TLC5618 和微处理器之间采用串行接口,其接口电路和 外围电路简单,占用口线少,加之它具有较高的性能价格比,因此,在微型控制器、 智能仪表、控制面板和家用电器等领域中日益获得广泛的应用。 图 3-1 TLC5618 管脚图 DIN(1 脚)为串行数据输入端 SCLK(2 脚)为串行时钟输入端;CS(3 脚)为芯片 选择端,低电平有效,当 CS 为低电平时,允许 SCLK 将 DIN 数据输入内部移位寄 存器,而 CS 的上升沿把数据送到 DAC 寄存器,CS 为高电平时,SCLK 禁止,为低 电平;OUTA(4 脚)为 DACA 模拟输出端,其输出电压极性与基准输入相同,其满度 输出为基准电压输出的两倍,且小于(电源电压-0.4V)。AGND(5 脚)为模拟地; 天津工程师范学院 本科生毕业设计 16 REFIN(6 脚)为基准电压输入端,其内部为一高阻(10MQ)的输入缓冲器,REFIN 的 输入电压范围为 1 Vdd-11V,典型值为 2.048V;OUTB(7 脚)为 DACB 模拟输出, 同 OUTA;Vdd(S 脚)为电源电压端,典型值为 5V,工作电流为 0.62.5mA,掉电 方式时为 1A。上电时,内部电路将 DAC 寄存器的值复位到 0。另外,为提高精度, 在 Vdd 与 AGND 之间应接 0.1uF 的滤波电容。 = 2 4096 (3.1) 注:D 为输入的二进制数;REFIN 为基准电压输入端 3.2 TLC5618 芯片结构 LC5618 的功能方框图如图 3-2 所示,TCL5618 主要由 16 位串行接收寄存器、 12 位 DAC 锁存器 A、锁存器 B、权电阻网络 A、网络 B、输出缓冲放大器、基准源 输入缓冲器、双缓冲锁存器、上电复位电路及控制逻辑电路等部分组成。16 位串 行接收寄存器中接收的数据包括 12 位数据位和 4 位编程位。12 位数据位将根据 编 程命令的不同而被写入锁存器 B 或双缓冲锁存器,而 4 位可编程位则用以实现 包括上述功能在内的各种控制功能,数据的传送顺序及时序关系如图 3-3 所示, 而可编程位的功能如表 3-1 所示。 天津工程师范学院 本科生毕业设计 17 图 3-2 TLC5618 功能方框图 图 3-3 TLC5618 芯片的时序图 表 3-1 TLC5618 芯片的指令图 由表 3-1 可见,D15 和 D12 用于控制串行接口寄存器的数据向锁存器 A、锁存器 可 编 程 位 D15 D14D13D12 器 件 功 能 1 XXX把串行接收寄存器的数据写入锁存器 A 并用 双缓冲锁存器的数据更新锁存器 B 0 XX0写锁存器 B 和双缓冲锁存器 0 XX1仅写双缓冲锁存器 X 1XX15US 建立时间 X 0XX3US 建立时间 X X0X上电(Power up)操作 X X1X断电(Power down)操作 天津工程师范学院 本科生毕业设计 18 B 或双缓冲锁存器传送,当 D15=l 时,实现串行接口寄存器向锁存器 A 和双缓冲锁 存器向锁存器 B 之间的传送。这一功能可用于同时更新二个 DAC 的输出。而 D15=0,且 D12=0 时,串行接口寄存器数据同时向双缓冲寄存器和锁存器 B 传送。而 锁存器 A 的内容不受影响,当 D15=0 而 D12=1 时,串行接口寄存器的数据仅向双缓 冲寄存器传送,锁存器 A 和锁存器 B 均不受影响。通过利用双缓冲寄存器和上述功 能,可容易实现在单次写操作之后使两个 DAC 输出同时改变。具体办法是先用 “0X01”命令将要送往 DACB 的数据送至双缓冲锁存器,然后用“1XOX”命令将要送 往 DACA 的数据直接送至锁存器 A,同时将存于双缓冲寄存器的内容送往锁存器 B, 从而实现二个 DAC 输出同时改变。D14 用于选择输出电压的建立时间,D14=1 时为 15s,D14=0 时为 3s。而 D13I 用于实现软件断电操作,以减小芯片的功耗(1A)。 3.3 TLC5618 的 C 语言程序 void TLC5618(uchar nn) uchar i=0; uint dm; dm=js2*16; dm|=0x9000;/DAC_A 路 4 脚 DDRA|=_BV(1)|_BV(2)|_BV(3)|_BV(4)|_BV(5)|_BV(0); PORTA=0xff; for(i=0;iQBQCQH; 下降沿移位寄存器数据不变。 3. RCK(12 脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄 存器数据不变。通常将 RCK 置为低点平,当移位结束后,在 RCK 端产生一个正脉冲 更新显示数据。 4. /G(13 脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个 引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。 天津工程师范学院 本科生毕业设计 20 4.2 芯片结构 图 4-1 74HC595 管脚结构图 74HC595 天津工程师范学院 本科生毕业设计 21 图 4-2 74HC595 内部结构图 天津工程师范学院 本科生毕业设计 22 表 4-1 74HC595 管脚定义图 符 号引 脚描 述 QAQH15、 1- 7并行数据输出 GND8地 QH9串行数据输出 /SCLR10主复位(低电平) SCK11移位寄存器时钟输入 RCK12存储寄存器时钟输入 /G13输出使能端(低电平) SER14串行数据输入 VCC16电源 4.3 时序图 图 4-3 74HC595 芯片时序图 天津工程师范学院 本科生毕业设计 23 4.4 74HC595 的 C 语言程序 void send_74595_oneword(uint dat) uchar i=0; DDRB|=_BV(0)|_BV(1)|_BV(2); SER_0;SCK_0;RCK_0; for(i=0;i= 0) And (x #include /可以嵌套 #include /不可嵌套,执行时总中断被关闭 #include “UART16.h“ /*-控制部分 74HC595 接口定义-*/ #define SCK_1 PORTB|= _BV(1) #define SCK_0 PORTB /模拟板断开 uin 天津工程师范学院 本科生毕业设计 46 zd16=0x7fff,0xbfff,0xdfff,0xefff,0xf7ff,0xfbff,0xfdff,0xfeff,0xff7f,0x ffbf,0xffdf, 0xffef,0xfff7,0xfffb,0xfffd,0xfffe; /模拟板吸合 uint dfs4=0x0000,0x0000,0x0000,0x0000;/缓存的数据,带发送的 /*-*/ uchar cs=0,ss=0;/中断函数中的次数 /*-*/ void delay(uint n) uint i,j; for(i=0;i=2;n-) dat=dfsn-2; for(i=0;i1; RCK_1;asm(“nop“);RCK_0; /*-判断跳转-*/ void pdtz(void) uchar pd,dz; pd=js0/状态 dz=js1;/哪一路 switch(dz) 天津工程师范学院 本科生毕业设计 50 case 0x01: switch(pd) case 0x00: dfs0dfs0clear_5618(dz);Txshuju();break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/电压转换 ;break; case 0x03: switch(pd) case 0x00: dfs0dfs0clear_5618(dz);Txshuju();break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/模拟电压转 ;break; case 0x05: switch(pd) case 0x00: dfs0dfs0clear_5618(dz);Txshuju();break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/模拟电压转 ;break; 天津工程师范学院 本科生毕业设计 51 case 0x07: switch(pd) case 0x00: dfs0dfs0clear_5618(dz);Txshuju();break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/模拟电压转 ;break; case 0x09: switch(pd) case 0x00: dfs0dfs0clear_5618(dz);Txshuju();break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/模拟电压转 ;break; case 0x0B: switch(pd) case 0x00: dfs0dfs0clear_5618(dz);Txshuju();break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/模拟电压转 ;break; case 0x0D: 天津工程师范学院 本科生毕业设计 52 switch(pd) case 0x00: dfs0dfs0clear_5618(dz);Txshuju();break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/模拟电压转 ;break; case 0x0F: switch(pd) case0x00: dfs0dfs0Txshuju();clear_5618(dz);break; case 0x40: dfs0 dfs0|=zgdz-1;Txshuju();break;/01 开路 case 0x80: dfs0dfs0Txshuju();break; case 0Xc0: dfs0|=zgdz; dfs0|=zgdz- 1;Txshuju();TLC5618(dz);break;/模压转换 ;break; default: switch(pd) case 0x40: dfsdz/16-1|=zgdz%16;Txshuju();break; /10 短路 case 0x80: dfsdz/16-1Txshuju();break; /01 开路 case 0x00: dfsdz/16-1Txshuju();break; ;break; /*- 天津工程师范学院 本科生毕业设计 53 -*/ int main(void) / uchar j; / uint n; /*-*/ DDRB=0xff; /0 输入,1 输出 PORTB=0xff; DDRC=0xff; /0 输入,1 输出 PORTC=0xff; /*-*/ Txshuju();/清零各数据端口 delay(500); /*- -*/ init16uart(); while(1) /空循环 /*-USART 接收完成-*/ SIGNAL(SIG_UART_RECV) if(cs1) jscs=UDR; put16_c(0x56); pdtz(); put16_c(0x66); delay(100); cs=0; 天津工程师范学院 本科生毕业设计 54 else jscs=UDR; cs+; #ifndef _UART16_H_ #define _UART16_H_ /*-*/ #define uchar unsigned char #define uint unsigned int /*-*/ /#define number 1 uchar js3=;/串口接受的数据 格式:状态:地址:模拟数据 /js0:那一路 js1:具体的数据 /*-*/ void init16uart(void) SREG=0x00; UCSRC=0x06; /9600bps,8 位数据位,1 位停止位,无奇偶校验 UBRRL=51; UBRRH=0; UCSRB = (1RXEN)|(1TXEN); /使能发送和接收 /UCSRB|=_BV(RXCIE); /中断接收使能 SREG=0x80; /全局中断使能 /*-*/ void put16_c(uchar ch) 天津工程师范学院 本科生毕业设计 55 while( !(UCSRA/0x02-UDRE0 UDR=ch; /*-*/ uchar get16_c(void) while( !(UCSRA/0x80-RXC0 return UDR; /*-*/ void put16_s(uchar *ptr) while (*ptr) put16_c(*ptr+); put16_c(n); #endif 天津工程师范学院 本科生毕业设计 56 附录 3:单片机控制板 PCB 图 1 0 2 1 21 1 2 3 4 5 6 2 1 1 2 2 1 2 1 2 1 2 1 21 2 1 2121 11 10 1 6 2 7 3 8 4 9 5 654321 21 1234567891011121314151617181920 9 10 11 12 13 14 15 16 8 7 6 5 4 3 2 1 3 2 1 2 1 12 1 2 3 1 2 3 6 5 4 21 213 12 2122232425262728293031323334353637383940 2019181716151413121110987654321 天津工程师范学院 本科生毕业设计 57 附录 4:模拟故障控制板 PCB 图 12 12 12345678 1817161514131211 9 10 9101112131415 74321568 16 34 7 12 658 312 1 2 3 4 1 5 6 2 3 4 1 22 1 1 22 1 12 12 6 21 7 43 586 21 7 43 58 6 21 7 43 58 6 21 7 43 586 21 7 43 586 21 7 43 586 21 7 43 58 14 654321 15 7 12911 8 1310169 7654321 15121411 8 1310161112131415161718 765432189 10 2 1 3 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 3 4 2 5 2 1 4 3 5 4 2 3 1 5 2 4 3 1 5 4 3 2 1 5 2 4 3 1 5 1 3 4 2 5 2 1 4 3 5 1 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 都匀毛尖茶事件营销方案
- 建筑方案设计分析模板
- 咨询行业企划方案范文
- 咨询规划方案模板
- 染料在艺术品保存中的应用效果评估
- 咨询康复方案
- 云数据中心施工方案
- 咨询方案多久出
- 厉行节约-活动方案策划
- 宜春代理记账咨询方案
- 2025年成人法学考试试题及答案
- 高速公路零碳服务区评价技术规范 (TCCTAS 36-2022)
- 2025年校长专业标准试题及答案
- 共产党员因私出国(境)保留(停止)党籍审批表(科级以下工作人员版)
- 电力系统介绍课件
- ERP上线奖惩管理办法
- DB11∕T 2232-2023 轨道交通车辆基地规划设计标准
- 幼儿发展评价手册使用培训
- 学校校服厂管理制度
- 2023年国际禁毒日-禁毒宣传普及禁毒知识提高禁毒意识
- 2025至2030年中国海洋信息化产业发展动态及投资决策建议报告
评论
0/150
提交评论