自动化课程设计基于51单片机的温室温度控制系统内容摘要:

9,它是 8位串行 A/D转换芯片 .可与通用微处理器、控制器通过 CLK、 CS、DATA OUT三条口线进行串行接口。 具有 4MHz片内系统时钟和软、硬件控制电路,转换时间最长 17μ s, TLC549允许最高转换速率为 40 000次 /s。 总失调误差最大为177。 ,典型功耗值为 6mW。 采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围, VREF接地, VREF+- VREF≥ 1V,可用于较小信号的采样。 TLC549芯片如下图 4所示 . 图 4 TLC549芯片 将 AT89S52 接到排阻上,然后接到 74LS374 上,最后连接到数码管显示器上。 ( 1) RESPACK8 一般接在 89S52 单片机的 P0 口,因为 P0 口内部没有上拉电阻,控制器 执行器 6 不能输出高电平,所以要接上拉电阻。 排阻就是好多电阻连载一起,他们有一个公共端。 ( 2) 74LS374 具有三态输出的边沿触发器, 374 输出端 O0„„ O7 可直接与总线相连,当三态允许控制端 OE为低电平, O0„„ O7 为正常逻辑状态,可用来驱动负载总线。 OE 为高电平, O0„„ O7 高阻态,不驱动总线负载。 当时钟端脉冲上升没作用下, O 随数据 D而变。 本次试验,采用两个 74LS374 芯片,一个用作段选 U3,控制八位数码管的各段显示管,另一个用作片选 U4。 ( 3)数码管显示电路。 键盘模块 将键盘与 AT89S52 连接到一起,如硬件连接图连接方式连接电路。 键盘作为可输入设定值,在之后的模块中与检测到的温度值作比较。 设置功能转换模块 当 SW 接于高电平时,选择数码显示模块,当 SW 接于低电平时,选择键盘设定值模块。 硬件实现很简单,在 AT89S52 的 口引出一条线,让它控制选择个模块。 89S52 芯片介绍 AT89S52是一种低功耗、高性能 CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。 使用 Atmel 公司高密度非易 失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。 片上 Flash允许程序存储器在系统可编程,亦适于常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节 Flash, 256字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。 另外, AT89S52 可降至 0Hz 静态逻辑操作 ,支持 2种软件可选择节电模式。 空闲模式下, CPU停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 4 系统软件设计 7 主 程序流程图 系统 源 程序 include include define uchar unsigned char define uint unsigned int define fl float uchar out0=0x7f。 //赋初值 开始 系统初始化 键盘设定温度值 显示设定值 是否功能转换 采集模拟温度 A/D 转换 采样值 ?设定值 报警 PWM 控制加热 Y N Y N 8 uchar buf[3]={0,0,0}。 //全局数组 uchar pr[]={0x57,0x6E,0x5E,0x3E,0x6D,0x5D,0x3D,0x6B,0x5B,0x3B}。 uchar discode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 uint AD。 //转换结果,十六进制 uint uuu,sc=0。 //带小数部分数据处理 结果 int Int_result,float_result。 //Int_result 整数部分, float_result 小数部分 sbit Dataout=P1^0。 //数据线 sbit cs=P1^1。 //片选 sbit sclk=P1^2。 //io 口时钟 sbit dx=P1^3。 //断码显示控制锁存 sbit wx=P1^4。 //位控控制锁存 sbit sw=P1^7。 sbit PWM=P。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。