毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

AT89S52单片机最小远程监控系统的设计与开发+程序代码+电路图(9)

时间:2016-12-29 15:41来源:毕业论文
(7)按照网络飞线提示绘制PCB,最后完成DRC检测。 按照如上步骤最终完成绘制的主从机电路原理图分别如图12、13所示。 3. 系统软件设计 3.1 系统软件编程环


(7)按照网络飞线提示绘制PCB,最后完成DRC检测。
按照如上步骤最终完成绘制的主从机电路原理图分别如图12、13所示。
3. 系统软件设计
3.1 系统软件编程环境介绍
 
图12 系统主机部分电路原理图
 
图13 系统从机部分电路原理图
系统软件设计采用C语言编程,编译环境为Keil。
Keil c51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,和汇编相比,C在功能上、结构性、可读性、可文护性上有明显的优势,因而易学易用[15]。
Keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就会明白keil 51生成目标代码的效率是多么的高,大部分语句能够生成十分紧凑的汇编代码,易于理解。
Keil C51可以完成整套完整的开发流程。软件主要三个方面:一是初始化系统;二是按键检测;三是数据采集、数据处理并进行显示。这三个方面的操作分别在主程序中来进行。程序采用模块化的结构,这样程序结构清楚,易编程和易读性好,也便于调试和修改。
3.2 系统软件实现功能要求
系统软件要实现的功能如下:
(1) 完成从机的温度采集以无线传输及主机的接收处理;
(2) 利用LCD液晶显示屏显示通过无线传输模块接收到的实时温度,并显示温度上下限的温度值及报警状态的显示。
(3) 按键调节功能;要软件实现4个按键的调节功能,第一个按键报警模式选择按键;第二个按键是温度上下限的选择按键;第三个按键是温度上升按钮以1℃步进增加;第四个按键是温度减小键,每按下一次以1℃递减。
(4) 当温度超过设定的温度范围时进行声光报警;分别用黄灯和红灯来区分,发声采用三极管驱动蜂鸣器来实现。
3.4系统主程序流程图
系统软件部分实现功能如下:
(1) 温度数据的采集及处理,DS18B20读写时序控制;
(2) 数据的无线传输,nRF24L01与单片机之间SPI通信的模拟实现;
(3) 按键调整及中断函数的实现;
(4) 越限报警和报警方式选择。
主机和从机的系统流程图如图14和图15所示。
3.4系统温度采集的实现
系统温度采集传感器DS18B20工作过程中的协议如下[16]:
(1) 初始化——(2) ROM操作命令——(3) 存储器操作命令——(4) 处理数据
3.4.1 DS18B20初始化时序
 
图14 系统主机流程图

 图15 系统从机流程图
DS18B20时序如图16所示。主机总线发送复位脉冲(最短为480μS,最高时间为960μS的低电平信号),接着再释放总线(置总线为高电平)并进入接收状态。DS18B20在检测到总线的上升沿后等待15—60μS发出器件存在脉冲(低电平持续60—240μS)。初始化程序如下所示:
void DS18B20_reset(void)
{
    bit flag=1;
    while (flag)
    {
        while (flag)
         {
             DQ = 1;
            delay(1);
             DQ = 0;
             delay(50); // 550us
             DQ = 1;    //
             delay(6);  // 66us
             flag = DQ; // presence="0继续下一步" AT89S52单片机最小远程监控系统的设计与开发+程序代码+电路图(9):http://www.youerw.com/zidonghua/lunwen_1669.html
------分隔线----------------------------
推荐内容