当前位置:文档之家› 汽车空调单片机控制

汽车空调单片机控制

单片机空调控制系统

第二章 运行环境介绍

2.1 PROTEL99简介

Protel99SE是Protel公司近10年来致力于Windows平台开发的最新结晶,能实现从电学概念设计到输出物理生产数据,以及这之间的所有分析、验证和设计数据管理。因而今天的Protel最新产品已不是单纯的PCB(印制电路板)设计工具,而是一个系统工具,覆盖了以PCB为核心的整个物理设计。 最新版本的Protel软件可以毫无障碍地读Orcad、Pads、Accel(PCAD)等知名EDA公司设计文件,以便用户顺利过渡到新的EDA平台。Protel99 SE共分5个模块,分别是原理图设计、PCB设计(包含信号完整性分析)、自动布线器、原理图混合信号仿真、PLD设计。 以下介绍一些Protel99SE的部分最新功能:

(1)可生成30多种格式的电气连接网络表;

(2)强大的全局编辑功能;

(3)在原理图中选择一级器件,PCB中同样的器件也将被选中;

(4)同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络

(5)既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性;

(6)满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便易用的数模混合仿真(兼容SPICE 3f5);

(7)支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB可设计32个信号层,16个电源-地层和16个机加工层;

(8)强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查;

(9)智能覆铜功能,覆铀可以自动重铺; (10)提供大量的工业化标准电路板做为设计模版;

(11)放置汉字功能;

(12)可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交换;

(13)智能封装导航(对于建立复杂的PGA、BGA封装很有用);

(14)方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果;

(15)独特的3D显示可以在制板之前看到装配事物的效果;

(16)强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等;

(17)经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从PCB启动;

(18)反射和串扰仿真的波形显示结果与便利的测量工具相结合;

(19)专家导航帮您解决信号完整性问题。

2.2 原理图的绘制

在本空调系统中,需要设计出电路原理图,原理图的绘制过程介绍如图2.1所示。

环境设置

放置、调整元件

存盘 放置、调整布线

输出打印 整体编辑 开始

结束 输出报表

图2.1 原理图绘制过程

1.首先新建文件,选择Schematic Document,选择,格式为DDB。如下图2.2所示

图2.2 新建原理图

在sheet.sch中即可绘制原理图,在Drawing Tools中使用绘图工具,在Wiring Tools使用电路图绘制工具,通过左边的Browse可以选择元件库来调用,如图3.3所示。

图3.3 调用元件库

绘制完原理图后点保存即可。

3.3 ICCAVR介绍

1.ImageCraft 的ICCAVR 介绍

ImageCraft 的ICCAVR是一种使用符合ANSI 标准的C 语言来开发微控制器 MCU程序的一个工具它有以下几个主要特点:

ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境 IDE 其可在WINDOWS9X/NT下工作。

源文件全部被组织到工程之中文件的编辑和工程的构筑也在这个环境中完成编译错误显示在状态窗口中 并且当你用鼠标单击编译错误时 光标会自动跳转到编辑窗口中引起错误的那一行 这个工程管理器还能直接产生您希望得到的可以直接使用的 INTELHEX 格式文件 INTEL HEX 格式文件可被大多数的编程器所支持用于下载程序到芯片中去。

ICCAVR 是一个 32 位的程序,支持长文件名。

2. ICCAVR 中的文件类型及其扩展名

文件类型是由它们的扩展名决定的 IDE 和编译器可以使用以下几种类型的文件 输入文件:

.c 扩展名----表示是 C 语言源文件

.s 扩展名----表示是汇编语言源文件

.h 扩展名----表示是 C 语言的头文件

.prj 扩展名----表示是工程文件 这个文件保存由 IDE 所创建和修改的一个工程的有关信息。

.a 扩展名----库文件 它可以由几个库封装在一起 libcavr.a 是一个包含了标准

C 的库和 AVR特殊程序调用的基本库 如果库被引用 链接器会将其链接到您的模块或文件中您也可以创建或修改一个符合你需要的库

输出文件

.s 对应每个 C语言源文件 由编译器在编译时产生的汇编输出文件

.o 由汇编文件汇编产生的目标文件 多个目标文件可以链接成一个可执行文件

.hex INTEL HEX 格式文件 其中包含了程序的机器代码

.eep INTEL HEX 格式文件 包含了 EEPROM的初始化数据

.cof COFF 格式输出文件 用于在 ATMEL的 AvrStudio 环境下进行程序调试

.lst 列表文件 在这个文件中列举出了目标代码对应的最终地址

.mp 内存映象文件 它包含了您程序中有关符号及其所占内存大小的信息

.cmd NoICE 2.xx 调试命令文件

.noi NoICE 3.xx 调试命令文件

.dbg ImageCraft 调试命令文件

3.附注和扩充

#pragma (编译附注)

这个编译器接受以下附注:

#pragmainterrupt_handler : : ...ImageCraft

这个附注必须在函数之前定义 它说明函数 func1 func2 是中断操作函数

所以编译器在中断操作函数中生成中断返回指令 reti 来代替普通返回指令 ret

并且保存和恢复函数所使用的全部寄存器 同样编译器根据中断向量号 vector

number 生成中断向量地址。

#pragma ctask ... 这个附注指定了函数不生成挥发寄存器来保存和恢复代码 它的典型应用是在 RTOS。实时操作系统中让 RTOS 核直接管理寄存器。

#pragma text:

改变代码段名称 使其与命令行选项相适应。

#pragma data:

改变数据段名称 使其与命令行选项相适应 。

#pragma abs_address:

函数与全局数据不使用浮动定位 重定位 而是从

开始分配绝对地址 这在访问中断向量和其它硬件项目时特别有用。

#pragma end_abs_address

结束绝对定位,使目标程序使用正常浮动定位

C++ 注释

如果你选择了编译扩充(Project->Options->Compiler) 你可以在你的源代码中使用 C ++的 // 类型的注释二进制常数。

如果你选择了编译扩充(Project->Options->Compiler) 你可以使用 0b<1|0>*

来指定二进制常数 例如 0b10101 等于十进制数 21。

在线汇编

你可以使用 asm("string")函数来指定在线汇编代码。

4 代码转换

IAR 或其它 ANSI C编译系统的代码转换

IAR C编译器作为应用于 AVR的第一个 C 编译器 它有十分丰富的源代码

当你从 IAR编译系统转换到 ImageCraft 编译系统时 绝大多数符合 ANSI C标准的程序代码不需要转换 IAR C中 IO 寄存器的定义与ICCAVR 也是相同的。

中断操作描述 ICCAVR 使用 pragma 附注描述中断操作函数 而 IAR 引入了语法扩充 interrupt 关键字下面是一个对照:

在ICCAVR 中

#pragma interrupt_handler func:4 // 4 是这个中断的向量号 func 为中断处理函数名称,ICCAVR 可以使多个中断向量共用一个中断处理函数在 IAR 中interrupt

[vector_name] func() // vector_name 是某一个中断向量的名称 IAR C 的中 断向量地址使用中断名称来代替 以增加程序的可读性。

扩充关键字

IAR 引入 flash 关键字将项目分配进入程序存贮空间 FLASH(存贮器),

ICCAVR 使用const关键字来达到相同的目的。

过程调用转换

在两个编译系统之间函数参数传递使用的寄存器是不同的,这仅影响手工写的汇编函数。

第三章 硬件设计

汽车空调控制系统主要是通过车载的各个传感器对需要测量的参数进行采样,并通过A/D转换电路送至单片机模块,通过单片机的指令处理,从而控制汽车空调的鼓风机、蒸汽机、压缩机及风门步进电机来实现相应的对象控制,来实现空调温度的调整。硬件设计主要包括电源电路、传感器测量电路、键盘输入电路、单片机最小系统、LCD显示电路、电机控制输出电路,控制系统的硬件设计框架图如下3.1所示。

图3.1 硬件设计框架图

3.1 单片机介绍

ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。

ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。

ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增ATmega16 电源电路 温度传感器及放大电路

LCD LCD驱动 键盘电路 步进电机驱动

风向步进电机 继电器驱动继电器1 继电器2 继电器3

换风机 蒸汽机 压缩机

相关主题