该软件还具有电路板演示功能,以温度显示为例,其演示效果如图2所示。该演示图不但有助于教学工作,还可以帮助企业降低产品设计风险。
3 程序开发
这里以AVR单片机ATmega16和DS18B20为例演示了温度测量及其显示的单片机程序开发过程,AVR单片机是Atmel公司推出的高性能单片机,该系列单片机部分采用16位结构,所有IO口均可单独设置数据方向并具有可编程的内部上拉电阻,提高了整体性能和应用范围。在单片机程序设计方面,ICCAVR提供了良好的编程界面,可通过对可视化选项框的选择来生成初始化程序,如图3所示。
在进行项目程序开发时,只需要选择所使用的CPU,I/O口的初始方向、定时器的使用情况、UART以及其他外围功能模块做出设置即可生成响应的C语言初始化程序。在完成初始化之后程序员只需要针对自己的具体应用编写功能程序即可。DS18B20支持“一线总线”接口,测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±O.5℃。DS1822的精度较差,为±2℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3.0~5.5 V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20与单片机的接口只有一条线,而且DS18B20的单总线特性只需要一个单片机I/O引脚即可支持多个DS18B20,极大程度地降低了硬件开销,当然较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DSl820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。其具体流程图如图4所示。