
授课日期 班次 授课时数2 课题: 任务十三可调速加热炉控制器 教学目的:熟悉2C总线编程技术,键盘扫描编程技术 提高单片机综合设计能力 重点: 单片机开发项目的设计能力培养 难点: 硬件和软件设计 教具: 多媒体 作业: 附加 自用参考书:《单片机应用技术》耿长清主编、 《单片机应用技术》刘守义主编 教学过程 复习 潜水泵自动控制保护器总体设计 任务十三可调速加热控制器 1.任务描述 2.总体设计 结合上次课的内容来进行需求分析、方案设计、测试计划 3.详细设计 1)硬件设计(原理图、主要元器件) 2)软件设计 以其中一个程序为例讲解,其他程序由学生自己完成 4课堂小结 课后小结
授课日期 班次 授课时数 2 课题: 任务十三 可调速加热炉控制器 教学目的:熟悉I2C总线编程技术,键盘扫描编程技术 提高单片机综合设计能力 重点: 单片机开发项目的设计能力培养 难点: 硬件和软件设计 教具: 多媒体 作业: 附加 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程: 复习: 潜水泵自动控制保护器总体设计 任务十三 可调速加热控制器 1.任务描述 2.总体设计 结合上次课的内容来进行需求分析、方案设计、测试计划 3.详细设计 1)硬件设计(原理图、主要元器件) 2)软件设计 以其中一个程序为例讲解,其他程序由学生自己完成 4.课堂小结 课后小结:

.2任务十三可调速加热控制炉 任务描述:本控制器能根据用户设定的加温温限(最高温度),以及加热 时间、冷却时间,自动调节加热功率,从而达到可调速加热的目的。 >总体设计 冬需求分析 ·需求获取 本项目最初由湘潭大学理化实验室提出需求,在化学实验金属相图实验中,原有的实验仪 (一台P℃机、一台加热炉、一台测温仪)要做一个完整的实验需要四五个小时以上,并且 数据要学生自己记录并自己计算和给制图形,往往几个小时不能完成一个实验,为了解决 这个问题,提出开发一种新的实验设备,新的实验仪(PC机一台、两台测温仪,每台测温 仪可以接六路温度传感器,两台加热炉),这样一台PC机可同时采集12路数据,整个过程 由PC机上软件完成,不需学生记录数据和绘制图形和表格,大大提高了实验速度,实验结 果更准确和直观。同时一个实验室可以省下一半P℃机,节约了设备成本。本项目只是该实 验仪中一部分,也就是加热炉的控制部分。 ·设计开发任务书 本项目开发人员如下:项目负责人一名,软件工程师四名、硬件工程师一名、结构工程师 一名、技术员一名、采购员一名。其中两名软件工程师负责PC软件开发、一名软件工程师 负责测温仪软件开发、 一名软件工程师负责加热炉软件开发
任务描述: 本控制器能根据用户设定的加温温限(最高温度),以及加热 时间、冷却时间,自动调节加热功率,从而达到可调速加热的目的。 7.2 任务十三 可调速加热控制炉 ➢总体设计 ❖ 需求分析 ▪ 需求获取 本项目最初由湘潭大学理化实验室提出需求,在化学实验金属相图实验中,原有的实验仪 (一台PC机、一台加热炉、一台测温仪)要做一个完整的实验需要四五个小时以上,并且 数据要学生自己记录并自己计算和给制图形,往往几个小时不能完成一个实验,为了解决 这个问题,提出开发一种新的实验设备,新的实验仪(PC机一台、两台测温仪,每台测温 仪可以接六路温度传感器,两台加热炉),这样一台PC机可同时采集12路数据,整个过程 由PC机上软件完成,不需学生记录数据和绘制图形和表格,大大提高了实验速度,实验结 果更准确和直观。同时一个实验室可以省下一半PC机,节约了设备成本。本项目只是该实 验仪中一部分,也就是加热炉的控制部分。 ▪ 设计开发任务书 本项目开发人员如下:项目负责人一名,软件工程师四名、硬件工程师一名、结构工程师 一名、技术员一名、采购员一名。其中两名软件工程师负责PC软件开发、一名软件工程师 负责测温仪软件开发、一名软件工程师负责加热炉软件开发

7.2任务十三可调速加热控制器 >总体设计 ”方案设计 整个方案在这里就不详述,这里只就加热炉部分进行说明,由于一台P℃ 机同时控制两台加热仪和两台测温仪,所以本台都有相应地址,与P℃机 通讯采用CAN总线,地址用24C01存储,加温速度由PC机根据当时室温发 送相应加热功率百分比来控制加热炉。加热炉由89C1051控制。如接收 到PC机发送的功率是80,则可通过控制加热炉80%时间打开电源,20%时 间关断电源,具体通讯协议读者可以自己制订,并完整好程序,并在做 实验或实训时调试。 ·测试计划 硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单程序 来检测。 软件测试:加热炉在不同室温下能不能在相同时间加热到指定温度
7.2 任务十三 可调速加热控制器 ➢总体设计 ❖方案设计 整个方案在这里就不详述,这里只就加热炉部分进行说明,由于一台PC 机同时控制两台加热仪和两台测温仪,所以本台都有相应地址,与PC机 通讯采用CAN总线,地址用24C01存储,加温速度由PC机根据当时室温发 送相应加热功率百分比来控制加热炉。加热炉由89C1051控制。如接收 到PC机发送的功率是80,则可通过控制加热炉80%时间打开电源,20%时 间关断电源,具体通讯协议读者可以自己制订,并完整好程序,并在做 实验或实训时调试。 ❖测试计划 硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单程序 来检测。 软件测试:加热炉在不同室温下能不能在相同时间加热到指定温度

2任务十三可调速加热控制器 >详细设计 ÷硬件设计 主要元器件 89C2051一片、24C01、双向可控硅等。 I2C总线原理及工作时序: Pin Name Function A0-A2 Address Inputs 8-lead PDIP SDA Serial Data A01 8▣Vcc SCL Serial Clock Input A102 A2口3 WP Write Protect GND4 5▣SDA NC No-connect 引脚图
7.2 任务十三 可调速加热控制器 ➢详细设计 ❖硬件设计 ▪主要元器件 89C2051 一片、24C01、双向可控硅等。 ▪I2C总线原理及工作时序: 引脚图

7.2任务十三可调速加热控制器 Device Address 2K 1o10 A2 A1 AoR/W MSB LSB 4K 1010A2A1P0R/W 8K 1010A2P1P0R/W 16K 101 0 P2 P1 PO R/W 读写命令字 Current Address Read 早 -0a. SDA LINE 盒韶食 DATA 当前读时序
7.2 任务十三 可调速加热控制器 读写命令字 当前读时序

7.2任务十三可调速加热控制器 Flgure 2.Byte Write STOP DATA BDA LINE 翩食言 自良 Flgure 3.Page Write WORD ADDRESS (n) DATA (n) DATA (n +1) DATA(n+对 SDA LINE 字节写、页写时序
7.2 任务十三 可调速加热控制器 字节写、页写时序

7.2任务十三可调速加热控制器 Figure 5.Random Read 青品6胃 SDA LINE 含锅食管 言食 DUMMY WRITE Figure 6.Sequential Read SDA LINE TTTTT DATA n+ 随机读时序图
7.2 任务十三 可调速加热控制器 随机读时序图

7.2任务十三可调速加热控制器 >详细设计 ·原理图 空州 非 宁
7.2 任务十三 可调速加热控制器 ➢详细设计 ▪原理图

7.2任务十三可调速加热控制器 >详细设计 ÷软件设计 I2C总线的24C02读写程序: ,米米***米米米**米米*米********米**米******************** :*Tit1e:AT24C02与51单片机连接读写程序* ;*Date:2005.7.7* :*******米*******************米米************************* ;连线:SCL-P3.4,SDA—P3.5,WP接地 ;(R3)=器件地址,(R4)=片内字节地址, ;(R5)=连续读写字节数,(R1)=欲读写数据存放地址指针 ;米***米**米***********米*****************************
7.2 任务十三 可调速加热控制器 ➢详细设计 ❖软件设计 I2C总线的24C02读写程序: ;********************************************** ;*Title:AT24C02与51单片机连接读写程序* ;*Date:2005.7.7 * ;********************************************************* ;连线:SCL—P3.4,SDA—P3.5,WP—接地 ;(R3)=器件地址,(R4)=片内字节地址, ;(R5)=连续读写字节数,(R1)=欲读写数据存放地址指针 ;*********************************************************

7.2任务十三可调速加热控制器 SCL EQU P30 SDA EQU P31 DJNZ R5,I2CW AGAIN ;连续写N个字节 ;写24C02子程序 CLR SDA :SDA位置0,准备送停止信号 I2C_WRITE: ACALL DELAY :延时以满足传输速率要求 SETB SDA SETB SCL :发送停止信号 SETB SCL ACALL DELAY CLR SDA ;发开始信号 SETB SDA MOV A,R3 :发器件地址 RET ACALL SEND :调发送单字节子 SEND: 程序 MOV R0,#08H MOV A,R4 :送片内字节地址 I2CW LOOP: ACALL SEND CLR SCL;开始[信号之后的]写地址操作 I2CW AGAIN: SCL清'0 MOV A,@R1 RLC A ACALL SEND MOV SDA,C INC RI
7.2 任务十三 可调速加热控制器 SCL EQU P30 SDA EQU P31 ;写24C02子程序 I2C_WRITE: SETB SDA SETB SCL CLR SDA ;发开始信号 MOV A,R3 ;发器件地址 ACALL SEND ;调发送单字节子 程序 MOV A,R4 ;送片内字节地址 ACALL SEND I2CW_AGAIN: MOV A,@R1 ACALL SEND INC R1 DJNZ R5,I2CW_AGAIN ;连续写N个字节 CLR SDA ;SDA位置0,准备送停止信号 ACALL DELAY ;延时以满足传输速率要求 SETB SCL ;发送停止信号 ACALL DELAY SETB SDA RET SEND: MOV R0,#08H I2CW_LOOP: CLR SCL ; 开 始[ 信 号 之 后的 ] 写 地址 操 作 SCL清'0' RLC A MOV SDA,C