基于单片机实现的制冷温控系统的设计内容摘要:
能将( RCAP2H, RCAP2L)的内容重新装入 TH2 和 TL2 中。 所以,当定时器 2 作 为波特率发生器使用时, T2EX 可作为附加的外部中断源来使用。 需要注意的是,当定时器 2 工作于波特率器时,作为定时器运行( TR2=1)时,并不能访问 TH2 和 TL2。 因为此时每个状态时间定时器都会加 1,对其读写将得到一个不确定的数值。 然而,对 RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和 /或重装载出错。 在访问定时器 2 或 RCAP2 寄存器之前,应将定时器关闭(清除 TR2)。 可编程时钟输出: 定时器 2 可通过编程从 输出一个占空比为 50%的时钟信号。 引脚除 了是一个标准的 I/O 口外 , 还可以通过编程使其作为定时 /计数器 2 的外部时钟输入和输出占空比 50%的时钟脉冲。 当时钟振荡频率为 16MHz 时,输出时钟频率范围为 61Hz— 4MHz。 当设置定时 /计数器 2 为时钟发生器时, C/T2( T2CON .1) =0, T2OE ( ) =1,必须由 TR2( )启动或停止定时器。 时钟输出频率取决于振荡频率和定时器 2 捕获寄存器( RCAP2H, RCAP2L)的重新装载值,公式如下: 输出时钟频率 =振荡器频率 /{4*[65536(RCP2H,RCP2L)]} 在时钟输出方式下,定时器 2 的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。 定时器 2 作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L 和 RCAP2L。 时钟振荡器 : AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。 外接石英晶体(或陶瓷谐振器)及电容 C C2 接在放大器的反馈回路中构成并联振荡电路。 对外接电容 C C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF177。 10pF ,而如使用陶瓷谐振器建议选择 40pF177。 10pF。 用户也可以采用外部时钟。 采用外部时钟的电路如图 10 右图所示。 这种情况下,外部时钟脉冲接到 XTAL1 端,即内部时钟发生器的输入端, XTAL2 则悬空。 由于外部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以 对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 中断 AT89C52 共有 6 个中断向量:两个外中断( INT0 和 INT1), 3 个定时器中断(定时器 0、 2)和串行口中断。 这些中断源可通过分别设置专用寄存器 IE 的置位或清 0 来控制每一烟台南山学院本科毕业论文 8 个中断的允许或禁止。 IE 也有一个总禁止位 EA,它能控制所有中断的允许或禁止。 定时器 2 的中断是由 T2CON 中的 TF2 和 EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实 上,服务程序需确定是 TF2 或 EXF2 产生中断,而由软件清除中断标志位。 定时器 0 和定时器 1 的标志位 TF0 和 TF1 在定时器溢出那个机器周期的 S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。 然而,定时器 2 的标志位 TF2 在定时器溢出的那个机器周期的 S2P2 状态置位,并在同一个机器周期内查询到该标志。 低功耗模式 空闲节电模式 : 在空闲工作模式状态, CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。 此时,同时将片内 RAM 和所有特殊功能寄存器的内容冻结。 空 闲模式可由任何允许的中断请求或硬件复位终止。 由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部 RAM,但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。 掉电模式 : 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内 RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。 退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变 RAM中的内容,在 Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。 编程和加密 Flash 存储器的编程 : AT89C52 单片机内部有 8k 字节的 Flash PEROM,这个 Flash 存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。 编程接口可接收高电压( +12V)或低电压( Vcc)的允许编程信号。 低电压编程模式适合于用户在线编程系统,而高电压编程模式可与通用 EPROM 编程器兼容。 AT89C52 单片机中,有些属于低电压编程 方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。 AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的 PEROM 程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。 编程方法 AT89C52 编程方法如下: 1. 在地址线上加上要编程单元的地址信号。 2. 在数据线上加上要写入的数据字节。 3. 激活相应的控制信号。 4. 在高电压编程方式时,将 EA/Vpp 端加上 +12V 编程电压。 5. 每对 Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个 ALE/PROG 编程脉冲。 每个字节写入周期是自身定时的,通常约为烟台南山学院本科毕业论文 9。 重复 1— 5 步骤,改变编程单元的地址和写入的数据,直到全部文件编程结束。 程序存储器的加密 : AT89C52 有 3 个程序加密位,可对芯片上的 3 个加密位 LB LB LB3 进行编程( P)或不编程( U)来得到。 当加密位 LB1 被编程时,在复位期间, EA 端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始 值是一个随机数,且这个随机数会一直保存到真正复位为止。 为使单片机能正常工作,被锁存的EA 电平值必须与该引脚当前的逻辑电平一致。 此外,加密位只能通过整片擦除的方法清除。 数据查询 AT89C52 单片机用 Data Palling 表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则读出的数据的最高位( )是原来写入字节最高位的反码。 写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后, Data Palling 可能随时有效。 Ready/Busy:字节编程的进度可通过 “RDY/BSY 输出信号监测,编程期间, ALE 变为高电平 “H” 后, ( RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。 编程完成后, 变为高电平表示准备就绪状态。 程序校验:如果加密位 LB LB2 没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用如图 12的电路。 加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。 芯片擦除:利用控制信号的正确组合(表 6)并保持 ALE/PROG 引脚 10mS 的低电平脉冲宽度即 可将 PEROM 阵列( 4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入 “1” ,这步骤需再编程之前进行。 读片内签名字节: AT89C52 单片机内有 3 个签名字节,地址为 030H、031H 和 032H。 用于声明该器件的厂商、型号和编程电压。 读 AT89C52 签名字节需将 和 置逻辑低电平,读签名字节的过程和单元 030H、031H 及 032H 的正常校验相仿,只返回值意义如下: ( 030H) =1EH 声明产品由 ATMEL 公司制造。 ( 031H) =52H 声明为 AT89C52 单片机。 ( 032H) =FFH 声明为 12V 编程电压。 ( 032H) =05H 声明为 5V 编程电压。 振荡电路设计 AT89C52 内部有一个用于构成片内振荡器的高增益反相放大器 , 振荡器产生的信号送到 CPU, 作为 CPU的时钟信号 ,驱动 CPU产生执行指令功能的机器周期。 引脚 XTAL1 和 XTAL2 是此放大器的输人端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器 , 振荡电路的连接如图所示图 8 所示,外接石英晶体或陶瓷谐振器以及电容 C1 和 C2 构成并联谐振电路 , 接在放大器的反馈回路中。 对外接电容 C1 和 C2 的值虽然没有严格的要求 , 但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振烟台南山学院本科毕业论文 10 圈内部振荡的接法的快速性和温度稳定性。 外接石英晶体时 , C1 和 C2 一般取( 40pF10pF),外接的是石英晶体 , 所以, C C2 选择标称值 30pF。 系统振荡电路如图 所示。 图 振荡电路 复位电路设计 单片机复位是使 CPU和系统中的其他功能部件都处在一个确定的初始状态 , 并从这个状态开始工作。 无论是在单片机刚开始接上 电源时 , 还是断电后或者发生故障后都要复位。 89 系列单片机的复位信号是从 RST 引脚输人到芯片的施密特触发器中的。 当系统处于正常工作状态时 , 且振荡器稳定后 , 如果 RST 引脚有一个高电平并维持 2 个机器周期( 24 个振荡周期) , 则 CPU就可响应并且将系统复位。 复位分为手动复位和上电复位。 本设计系统采用的是上电自动复位。 系统复位电路如图 所示。 图 复位电路 键盘接口电路设计 独立键盘与单片机连接时,每个按键都需要单片机的一个 I/O 口,若单片机系统需要较多按键,如果用独立按键会占用 过多的 I/O 口资源。 单片机系统中 I/O口资源往往比较宝贵,当用到多个按键时,为了节省 I/O 口线,一般需使用矩阵键盘。 本系统共需使用 16 个按键,故选择 44 的矩阵键盘。 键盘接口电路如图 所示。 烟台南山学院本科毕业论文 11 图 键盘接口电路 温度测量电路设计 本系统的温度测量电路采用 DS18B20来实现。 DS18B20是美国 DALLAS半导体公司推出的第一片采用 “一线总线 ”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰 、能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。 DS18B20 的性能及特点 [2]: 适应电压范围宽,电压范围在 ~ ,在寄生电源方式下可由数据线供电。 独特的单线接口方式,它与微处理器连接时仅需一条口线即可实现微处理器与 DS18B20 的双向通信。 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。 在使用中不需要任何外接元件,全部传感元件及转换电路集成在形如一只三极管的集成电 路里。 测温范围 55℃ ~ +125℃ ,在 10℃ ~ +85℃ 时精度为 177。 ℃。 可编程分辨率为 9 ~ 12 位,对应的可分辨温度分别为 ℃ , ℃ ,℃ 和 ℃ ,可实现高精度测温。 在 9 位分辨率时,最多在 内把温度转换为数字; 12 位分辨 率时,最多在 750ms 内把温度值转换为数字。 测量结果直接输出数字温度信号,以 “一线总线 ”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。 负压特性。 电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 系统温度测量电路如图 所示。 烟台南山学院本科毕业论文 12 图 温度测量电路 系统显示电路设计 本系统采用 LCD1602 作为系统的显示器件, 1602 字符型液晶是一种专门用来显示字母、数字、符号等的点阵型液晶模块,能分两行显示,它有若干个 75或者 115 等点阵字符位组成,每个点阵字符位都可以显示一个字符。 1602 型液晶接口信号如下: 1 脚 VSS:电源地。 2 脚 VDD:电源正极。 3 脚 VO:液晶显示对比度调节端。 4 脚 RS:数据 /命令选择端( H/L)。 5 脚 R/ W :读写选择端( H/L)。 6 脚 E:使能信号。 14~7 脚 D7~D0 :数据口。 15 脚 BL1:背光电源正极。 16 脚 BL2:背光电源负极。 系统显示电路如图 所示。 图 系统显示电路 烟台南山学院本科毕业论文 13 输出控制电路设计 系统要求在当前室温低于设定温度时,能够自动驱动加。基于单片机实现的制冷温控系统的设计
相关推荐
23H— 002AH 串行中断地址区。 可见以上的 40 个单元是专门用于存放中断处理程序的地址单元,中断响应后,按中断的类型,自 动转到各自的中断区去执行程序。 因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。 但是通常情况下,每段只有 8 个地址单元是不能存下完整的中断服务程序的,因而一般也在中断响应的地址区安放一条无条件转移指令
用两个开关晶体管,将其连接成半桥的放大形式,适用于输入电压较高的场合; 全桥式,使用四个开关晶体管,将其连接成全桥的放大形式,其特点是输出功率较大。 开关电源的发展方向 小型、薄型、轻量化 由于电源轻、小、薄的关键使高频化,因此,国外目前都在致力于同步开发新型元器件,特别使改善二次整流管的损耗、变压器及电容小型化,并同时采用表面安装( SMT)技术在电路板两面布置元器件以确保开关电源的轻、小、薄
7 图 6 遥控信号周期性波形 当一个键按下超过 36ms,振荡器使芯片激活,将发射一组 108ms 的编码脉冲 ,这 108ms 发射代码由一个起始码( 9ms) ,一个结果码( ) ,低 8 位地址码( 9ms~ 18ms) ,高 8 位地址码( 9ms~ 18ms) ,8位数据码( 9ms~ 18ms)和这 8位数据的反码( 9ms~ 18ms)组成。 如果键按下超过 108ms 仍未松开
, 以便输入6路传感器检测信号, 经分析处理, 产生相应的报警信号, 对汽车实施监控。 检测到6路报警信号, 经过89C51处理, 启动报警系统, 发出相应的报警信号, 是本系统的设计思想。 而传感器检测电路的设计至关重要。 报警器的线路原理图它由89C51单片机、振动传感器、放大电路和声光报警电路几部分组成。 振动传感器是自制器件, 当汽车外壳被触摸时, 它把接收到的信号传送给放大电路。
比直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显。 比如加一条线就可以构成20键的键盘,而直接端口线则只能多出1键。 由些可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 矩阵式结构的键盘要比直接法复杂一些,识别也要复杂一些。 列线通过电阻接正电源作为输出端,而列线所接的I/O端口则作为输入。 当按键没有按下时,所有输出端都是高电平,代表无键按下。 此时行线输出是低电平
事件的时间。 由于事情过多容易遗忘,因此需要时钟来定时提醒。 除此之外,定时闹钟在外挂某些设备后就 能达成精确到毫秒的程序控制生产。 四 多功能数字时钟硬件设计 系统硬件总图构成及原理 本设计采用 AT89S52 单片机作为控制器,时间日历计时显示采用 LCD 数码管, 温度与闹铃都可以再 LCD 上显示出来。 如图 41 为系统总电路原理图: 6 图 41 多功能数字时钟总硬件图 整套系统由