授课日期 班次 授课时数2 课题:任务十三可调速加热炉控制器 教学目的:熟悉I2C总线编程技术,键盘扫描编程技术 提高单片机综合设计能力 重点:单片机开发项目的设计能力培养 难点:硬件和软件设计 教具:多媒体 作业:附加 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程: 复习 潜水泵自动控制保护器总体设计 任务十三可调速加热控制器 任务描述 2总体设计 结合上次课的内容来进行需求分析、方案设计、测试计划 3详细设计 )硬件设计(原理图、主要元器件) 2)软件设计 以其中一个程序为例讲解,其他程序由学生自己完成 4课堂小结 课后小结:
授课日期 班次 授课时数 2 课题: 任务十三 可调速加热炉控制器 教学目的:熟悉I2C总线编程技术,键盘扫描编程技术 提高单片机综合设计能力 重点: 单片机开发项目的设计能力培养 难点: 硬件和软件设计 教具: 多媒体 作业: 附加 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程: 复习: 潜水泵自动控制保护器总体设计 任务十三 可调速加热控制器 1.任务描述 2.总体设计 结合上次课的内容来进行需求分析、方案设计、测试计划 3.详细设计 1)硬件设计(原理图、主要元器件) 2)软件设计 以其中一个程序为例讲解,其他程序由学生自己完成 4.课堂小结 课后小结:
7.2任务十三可调速加热控制炉 仼务描述:本控制器能根据用户设定的加温温限(最高温度),以及加热 时间、冷却时间,自动调节加热功率,从而达到可调速加热的目的。 总体设计 需求分析 需求获取 本项目最初由湘潭大学理化实验室提出需求,在化学实验金属相图实验中,原有的实验仪 (一台PC机、一台加热炉、一台测温仪)要做一个完整的实验需要四五个小时以上,并且 数据要学生自己记录并自己计算和给制图形,往往几个小时不能完成一个实验,为了解决 这个问题,提出开发一种新的实验设备,新的实验仪(PC机一台、两台测温仪,每台测温 仪可以接六路温度传感器,两台加热炉),这样一台PC机可同时采集12路数据,整个过程 由PC机上软件完成,不需学生记录数据和绘制图形和表格,大大提高了实验速度,实验结 果更准确和直观。同时一个实验室可以省下一半PC机,节约了设备成本。本项目只是该实 验仪中一部分,也就是加热炉的控制部分。 ■设计开发任务书 本项目开发人员如下:项目负责人一名,软件工程师四名、硬件工程师一名、结构工程师 名、技术员一名、采购员一名。其中两名软件工程师负责PC软件开发、一名软件工程师 负责测温仪软件开发、一名软件工程师负责加热炉软件开发
任务描述: 本控制器能根据用户设定的加温温限(最高温度),以及加热 时间、冷却时间,自动调节加热功率,从而达到可调速加热的目的。 7.2 任务十三 可调速加热控制炉 ➢总体设计 ❖ 需求分析 ▪ 需求获取 本项目最初由湘潭大学理化实验室提出需求,在化学实验金属相图实验中,原有的实验仪 (一台PC机、一台加热炉、一台测温仪)要做一个完整的实验需要四五个小时以上,并且 数据要学生自己记录并自己计算和给制图形,往往几个小时不能完成一个实验,为了解决 这个问题,提出开发一种新的实验设备,新的实验仪(PC机一台、两台测温仪,每台测温 仪可以接六路温度传感器,两台加热炉),这样一台PC机可同时采集12路数据,整个过程 由PC机上软件完成,不需学生记录数据和绘制图形和表格,大大提高了实验速度,实验结 果更准确和直观。同时一个实验室可以省下一半PC机,节约了设备成本。本项目只是该实 验仪中一部分,也就是加热炉的控制部分。 ▪ 设计开发任务书 本项目开发人员如下:项目负责人一名,软件工程师四名、硬件工程师一名、结构工程师 一名、技术员一名、采购员一名。其中两名软件工程师负责PC软件开发、一名软件工程师 负责测温仪软件开发、一名软件工程师负责加热炉软件开发
72任务十三可调速加热操制器 总体设计 方案设计 整个方案在这里就不详述,这里只就加热炉部分进行说明,由于一台PC 机同时控制两台加热仪和两台测温仪,所以本台都有相应地址,与PC机 通讯采用CAN总线,地址用24C01存储,加温速度由PC机根据当时室温发 送相应加热功率百分比来控制加热炉。加热炉由89C1051控制。如接收 到PC机发送的功率是80,则可通过控制加热炉80%时间打开电源,20%时 间关断电源,具体通讯协议读者可以自己制订,并完整好程序,并在做 实验或实训时调试。 今测试计划 硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单程序 来检测。 软件测试:加热炉在不同室温下能不能在相同时间加热到指定温度
7.2 任务十三 可调速加热控制器 ➢总体设计 ❖方案设计 整个方案在这里就不详述,这里只就加热炉部分进行说明,由于一台PC 机同时控制两台加热仪和两台测温仪,所以本台都有相应地址,与PC机 通讯采用CAN总线,地址用24C01存储,加温速度由PC机根据当时室温发 送相应加热功率百分比来控制加热炉。加热炉由89C1051控制。如接收 到PC机发送的功率是80,则可通过控制加热炉80%时间打开电源,20%时 间关断电源,具体通讯协议读者可以自己制订,并完整好程序,并在做 实验或实训时调试。 ❖测试计划 硬件测试:主要测试各部分硬件是否能正常工作,每部分通过简单程序 来检测。 软件测试:加热炉在不同室温下能不能在相同时间加热到指定温度
72任务十三可调速加热操制器 详细设计 今硬件设计 ■主要元器件 89C2051一片、24C01、双向可控硅等。 I2C总线原理及工作时序: Pin name Function A0-A2 Address Inputs 8-lead PDIP SDA Serial data Ao囗1 8□vcc SCL Serial Clock Input A1口2 7口WP A2囗3 6□sCL WP Write protect GND口4 5 BSDA NC No-connect 引脚图
7.2 任务十三 可调速加热控制器 ➢详细设计 ❖硬件设计 ▪主要元器件 89C2051 一片、24C01、双向可控硅等。 ▪I2C总线原理及工作时序: 引脚图
72任务十三可调速加热径制器 Device Address 2K1010 A2 A, AoR/W MSB LSB 4K 10 A1PO R/W 8K 1010 A2 P1 Po R/W 16K 1010P2 PO RM 读写命令字 Current Address Read ADDRESS TTT SDA LINE DATA NoAcK 当前读时序
7.2 任务十三 可调速加热控制器 读写命令字 当前读时序
72任务十三可调速加热操制器 FIgure 2. Byte write DEVICE ADDRESS WORD ADDREsS DATA SDA LINE FIgure 3. Page write DEVICE AD DR E89 WORD ADDRESS (n DATA (n DATA(n+1) DATA (n + x) SDA LINE 字节写、页写时序
7.2 任务十三 可调速加热控制器 字节写、页写时序
72任务十三可调速加热操制器 Figure 5. Random Read ADDRESS ADDRESS ADDRESS n SDA LINE DATA n DUMMY WRITE equential Read DEVICE ADDRESS D TTTTTT TTTTT TTTTTT 厂 TTTTTT SDA LINE DATA n DATA n +1 DATA n+2 DATA n-x 随机读时序图
7.2 任务十三 可调速加热控制器 随机读时序图
7.2任务十三可调速加热控制器 >详细设计 原理图 a=csv 具
7.2 任务十三 可调速加热控制器 ➢详细设计 ▪原理图
7.2任务十三可调速加热控制器 详细设计 ☆软件设计 I2C总线的24C02读写程序 水水水半冰水水水半水水水半水水水冰冰水水水冰水水水水水*水冰冰水水水半冰水水水冰半*水水 ;* Title:AT24C02与51单片机连接读写程序* *Date:2005.7.7 ;冰*冰冰冰冰*冰冰**冰**************水**水冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰冰水 ;连线:SCLP3.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任务十三可调速加热控制器 SCI EQU P30 SDA QU P31 DJNZ R5, I2CW AGAIN 连续写N个字节 ;写24C02子程序 CLR SDA;SDA位置0,准备送停止信号 I 2C WRITE ACALL DELAY;延时以满足传输速率要求 SETB SDA SETB SCL 发送停止信号 SETB SCL ACALL DELAY CLR SDA 发开始信号 SETB MOV A R3 发器件地址 RET ACALL SEND 调发送单字节子SEND 程序 MOV RO. #08H MOV A. R4 送片内字节地址 I 2CW LOOP ACALL SEND CLR SCL;开始[信号之后的]写地址操作 I 2CW AGAIN: SCL清’0 MOV A,@R1 RLC ACALL SEND Mov SDA. C INO 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