5应用软件介绍
5.1Proteus仿软真件的介绍
Proteus是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
该软件的特点: (1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。③ 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、 PIC18系列、Z80系列、HC11系列以及各种外围芯片。④ 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。
5.2 Keil软件
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。
6 软件设计
6.1 主程序模块
主程序流程图:
1 0
主程序流程图
6.2 读温度值模块
读温度值模块需要调用4个子程序,分别为:
? DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操
作
? DS18B20写字节子程序:对DS18B20发出命令
? DS18B20读字节子程序:读取DS18B20存储器的数据 ? 延时子程序:对DS18B20操作时的时序控制 1. 读温度值模块流
入口
DS18B20初始化 1 1
跳过读序列号 启动温度转换 返回
读温度值子程序流程图
2. DS18B20初始化子程序流程图:
入口 DQ置高电平 稍延时 DQ复位0
延时>480ms
DQ拉高电平
延时15~60ms N DQ为低电平?
Y 返回
DS18B20初始化子程序流程图
3. DS18B20写字节和读字节子程序流程图:
1 2
DS18B20写字节子程序流程图
DS18B20读字节子程序流程图
6.3 中断模块
中断采用T0方式1,初始值定时为50ms。 中断模块需调用两个子程序:
? 读温度值子程序:定时读取温度值,实时更新温度值 ? 记录温度值子程序:定时记录温度值,供查询使用
把这两个子程序放在中断的原因是,不会因为调整报警温度或查询历史温度值而停止更新温度值和记录温度值。 中断模块流程图:
1 3
中断入口 定时器重置初值 计数值加1 1秒? Y 读温度值 N 记录温度值 中断返回
中断模块流程图
6.3 中断模块
仿真图
1 4