1、测试与结果分析1 仿真软件介绍本次仿真用了 Proteus软件,Proteus(海神)的 ISIS是一款 Labcenter出品的电路分析实物仿真系统,可仿真各种电路和 IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统 17。该软件的特点:(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。 (2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS 一 232动态仿真、1 C 调试器、SPI 调试器、键盘和 LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(3)目前支持的单片机类型有:68
2、000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。 (4)支持大量的存储器和外围芯片。总之该软件是一款集单片机和 SPICE分析于一身的仿真软件,功能极其强大 ,可仿真 51、AVR、PIC。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机 CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,
3、是弥补了实验和工程应用间脱节的矛盾和现象 18。程序编译用 Keil软件, Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2 仿真结果2.1 用 Keil 进行程序编译运用 keil软件编译 C语言程序,其结果如下图 1和图 2所示,在结果栏显示“cao cx”0 Error(s),0 warning(s).说明此程序在软件编译上无语法等错误。将此程序生成*.hex 文件调入硬件中用 Proteus进行调试仿真。图 1 Keil 编译 C 语言程序图 2 Keil 编译 C 语言程序2.2 在 Proteus 中仿真
4、将生成的 cao.hex 文件调入 Proteus 电路图的单片机中,点击图左下角的开始键运行,程序的开始界面如图 3,数码管显示“ ” 。图 3 仿真程序初始化程序初始化后通过调节 DS18B20温度传感器的数值,数码管会显示相应的数值,例如 10,其结果如图 4所示。图 4 仿真程序正常运行结果在设置系统报警温度上下限时,按下按键 S1,数码管会显示“H38C” (系统默认上限为 38),此时进入温度上限设置模式,可通过调节 S2和 S3分别增加和减小数码管上显示的数字,例如设置上限为 39,如图 4所示。接着再次按下键 S1,数码管会显示“L05C” (系统默认下限为 5) ,此时进入温度下限设置模式,可通过调节 S2和 S3分别增加和减小数码管上显示的数字,例如设置下限为 5,如图 5所示。图 4 仿真设置最高温度报警线图 5 仿真设置温度报警最低线当温度超过设置的上下限时,系统会进行声光报警,蜂鸣器会发出“滴滴滴”蜂鸣声,同时 LED灯会闪烁。当系统未检测的到 DS18B20温度传感器或运行错误时,数码管会显示错误的数字“8.8.8.8”,如图 6所示。图 6 仿真程序出错