基于at89c52的温控仪的软件设计内容摘要:
程序的设计思想,最后通过详细介绍模糊控制规则表的建立以及模糊控制算法应用程序的实现讲述了模糊控制算法的实现。 3 系统软件 的 实现 基于 AT89C52 的温控仪的软件设计 7 铂电阻测 温 系统 [7]的主程序流程图如图 2 所示。 图 2 铂电阻测 温 系统的主程序流程图 开 始 启动 A/D 赋初值 调数据采集子程序 调数字滤波子程序 调温标变换子程序 调显示子程序 误差 e 处理子程序 误差变化率 ec 处理子程序 调 E、 EC 量化子程序 调控制子程序 调温标变换子程序 调显示子程序 结 束 调键盘 处理 子程序 Y N S1 键按下吗。 数据采集子程序 基于 AT89C52 的温控仪的软件设计 8 A/D 转换子程序 先送地址锁存允许信号 ALE 一上跳沿,使 A、 B、 C 地址状态送入地址锁存器中,然后送 START 一上跳沿使内部寄存器清 0, 再给其一下跳沿,开始进行 A/D 转换,然后判断转换结束状态信号 EOC 是否为 1,为 0 则继续等待转换,为 1 则将转换好的数字量经 ADC0808 的 8 个数据输出端 D0~D8 送到 AT89C52 的 ~ 口。 流程图如 3 所示。 图 3 A/D 转换处理子程序流程图 键盘处理子程序 键盘处理子程序完成了输入控制系统的设定值 的功能 ,以便与系统的采样值比较,求出系统的误差和误差变化率,供以后的模糊控制子程序使用。 在这个模块里,硬件电路设计中使用了两个双稳态开 关和两个按钮开关,两个双稳态开关分别作为第 1键和第 2键,两个按钮开关分别为第 3键和第 4键,第 1键来判断是转入控制处理子程序运行,还是转入键盘处理子程序运行。 用第 2键来判断是进行十位加一或减一操作,还是进行 个位 加一或减一操作。 若第 1键按下,第 2键未按下,转 入 十位进行加一或减一 的 操作;若第 1键和第 2键都按下,转 入 个位进行加一或减一 的 操作。 第 3键为减一操作,第 4键为加一操作。 键盘处理子程序流程图如图 4 所示。 开 始 送 ALE 上跳沿,锁存 地址 送 START 上跳沿,内部寄存器清 0 送 START 下降沿,启动 A/D 转换 返 回 Y N EOC=0 吗。 取 A/D 转换数据,送 R0 基于 AT89C52 的温控仪的软件设计 9 图 4 键盘处理子程序流程图 温度标度 变换模块 模拟系统在读入被测模拟信号并转换成数字量后,需转换成操作人员所熟悉的物理量。 这种转换就是标度变换。 线性标度变换的公式为: m i nm i nm a xm i nm i nm a xY YNNNXYY ( 1) 上 式中, Y 为参数测量值; Ymax 为测量范围最大值; Ymin 为测量范围最小值; Ymax 为 对应的 A/D 转换值; Nmin 为 Ymin 对应的 A/D 转换值; X 为测量值 Y 对应的 A/D 转换值。 本系统中, Ymin=0℃, Ymax =100℃, Nmin=0, Nmax=255,则 开 始 Y N S1 键按下吗。 Y N Y N S2 键按下吗。 S3 键按下吗。 显示缓冲器十位减一 调显示程序 调控制子程序 S4 键按下吗。 显示缓冲器十位加一 调显示程序 Y N Y N 调显示程序 调显示程序 显示缓冲器个 位减一 显示缓冲器个 位加一 K3 键按下吗。 K4 键按下吗。 返 回 基于 AT89C52 的温控仪的软件设计 10 01 aa002550X0100Y ( 2) 其中, , 0a0。 由于 x 的系数为小数,在单片机中编制像 这样的小数的乘法程序很难实现,如果将其近似取值为 ,则乘以最大 A/D 转换值后,会产生 的误差。 所以,设线性系数为 a1,最终转化的结果为 100,通过 0 02 5 52 5 61 0 0a 1 可确定系数。 是四舍五入取 100 还是取 101,将其放入单片机进行调试,结果发现取 100 时,显示最高只能显示 99,所以选用 101。 显示子程序 显示模块 [8]的功能为:使第 1 个数码管显示 A/D 转化数据采集的采样值,而第 2个数码管显示由键盘输入的设定值,用于显示对系统温度的设定,在整个系统进行测控的过程中,两数码管同时显示,显示程序中采样值显示采用了常规的显示程序,不再赘述,这里只谈编写显示程序中键盘显示时的一点注意,由于最后生成的设定值是由十位或个位的加 1键和十位或个位的减 1键输入,须严格区 分才可以编制其显示程序,此处采用 的方法是将个位的加 减 1 键输入的值存放在 28H,而十位的加 减 1 键输入的 值存放在 34H,然后驱动不同的位码即可正常显示。 流程图如图 5 所示。 图 5 显示处理子程序流程图 开 始 二进制转化为十进制 送 A/D 采集百位数显示 延时 送 A/D 采集十位数显示 延时 送 A/D 采集个位数显示 延时 送键盘处理百位数显示 延时 送键盘处理十位数显示 延时 送键盘处理个位数显示 延时 结 束 基于 AT89C52 的温控仪的软件设计 11 定时子程 定时程序主要是用于完成模糊查询表的占空比控制,总体思想是根据模糊控制表中占空比控制变量 U 的不同取值,采用不同的定时来改变继电器的通断,进而完成对加热和风扇的控制。 图 6 定时处理子程序 根据继电器的机械特性,要求其不能频繁通断,所以通断要有一定长的时间,但又要考虑到控制能及时的根据新的采样值和设定值的变化来做出相应的动作,所以采用以下方法:以占空比 1/4 为例说明,定时器 T0、 T1 仍都采用方式 1 定时, T0专用于置低电平时,即双向可控硅导通, T1 专用于置高电平时,即双向可控硅关断,先将 口置开 始 置定时方式 1 T0 循环次数送寄存器 R2 T1 循环次数送寄存器 R6 口置低电平 T0 赋定时初值 启动 T0 T1 赋定时初值 启动 T1 调温标变换子程序 调显示子程序 结 束 调显示子程序 Y N R2 为 0 吗。 口置高电平 Y N 10ms 到了吗。 Y N R6 为 0 吗。 N Y 10ms 到了吗。 10ms到 了吗。 调温标变换子程序 基于 AT89C52 的温控仪的软件设计 12 低电平,启动 T0定时,定时长度仅取 10。基于at89c52的温控仪的软件设计
相关推荐
建设单位(章)建设单位项目负责人: 日 期: 竣工报告建设单位:XX县水利局监理单位:XX建设服务有限公司施工单位:XX建筑工程公司单位工程:土建工程开工日期2000年11月30日完工日期2011年 月 日工程内容:清水池(反应池、沉淀池),职工宿舍、设备房。 工程完成情况:完成100%施工单位:(章) 申报日期:监理单位代表(章)日 期: 建设单位代表(章)日 期:
和 6 位的指令码 .本实验遥控器的起始位为 ”11”。 控制位为 ”0” 或 ”1”, 是随着按键交替出现的。 系统码为 ”00000”。 不同按键的指令码有所不同 . 图 323 SAA3010遥控器实物图 本 节 介绍了硬件的连接方法以及原理,并且包含了部分电路图,此电路已经试验证明可以 运行正常,可用。 其中应用了 红外遥控器 键盘来设定及更改时 间 , 节省了单片机的 I/O口 17
) 外围电路内装化 这也是单片机发展的主要方向。 随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。 除了一般必须具有的 CPU、 ROM、 RAM、定时器 /计数器等以外,片内集成的部件还有模 /数转换器 、 DMA 控制 器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。 (8)串行扩展技术 在很长一段时间里
人工照明 asbuilt drawing 竣工图则 asconstructed drawing 竣工图则 asbestos abatement works 石棉拆除工程 asbestos cement 石棉水泥 asbestos gasket 石棉垫料 aseismic region 无震区 ash pit 排渣槽;灰坑 asphalt 沥青 asphalt distributor 沥青喷洒机
2根 I/O线,使其具有足够 的 I/O口驱动数码管及交通灯。 外部存贮器寻址范围 ROM、 RAM64K,便于系统扩展。 其 T0, T1口可以 对外部脉冲进行实时计数操作,故可以方便实现车流量检测信号的输入。 选用 AT89S51单片机 跟其他单片机相比, 经济实惠,满足设计要求,故选用 AT89S51单片机 作为主控制器。 车流量检测传感器的选型 车流量检测传感器有三种方案如下: 方案一:
一般土层、松软土层和砂卵(砾)石地层,其成孔速率特别高; 垂直度可控,通过主机井架控制系统可随时调整机架的垂直度,保证钻孔质量;利用钻杆、动力头自重及压拔油缸可压入或拔出钢护筒;环境污染小,当为全护筒或地下水位以上或冻土、黄土地区成孔可以干法成孔,避免泥浆所造成的环境污染、冻土的热扰动和黄土的湿陷等。 旋挖钻机成孔工艺流程见下图示。 具体施工方法如下