电子体温计的研制 28
写指令06H:显示光标移动设置
写指令0CH:显示关及光标设置
4.3液晶特性参数
4.3.1主要技术参数 显示内容 芯片工作电压 工作电流 模块最佳工作电压 字符尺寸 4.3.2外形尺寸/显示内容
16x2个字符 4.5~5.5V 2.0mA(5.0V) 5.0V 2.95x4.35(WXH)mm
4.3.3 接口说明
表4-2 1602的引脚说明
编号 1 2 3 4 5 6 7 8 符号 引脚说明 VSS 电源地 VDD 电源正极 VL 液晶显示偏压信号 RS 数据/命令选择端(H/L) R/W 读/写选择端(H/L) E 使能信号 D0 Data I/O D1 Data I/O 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 Data I/O Data I/O Data I/O Data I/O Data I/O Data I/O 背光源正极 背光源负极 电子体温计的研制
表4-3 1602液晶模块内部的控制器的11条控制指令
29
序号 1 2 3 4 5 6 7 8 9 10 11 指令 清显示 光标返回 置输入模式 显示开/关设置 光标或字符移位 置功能 置字符发生存储器地址 置数据存储器地址 读忙标志或地址 写数到CGRAM或DDRAM 从CGRAM或DDRAM读数 RS R/W D7 D6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 D5 0 0 0 0 0 1 D4 0 0 0 0 1 D3 0 0 0 1 D2 0 0 1 D D1 0 1 I/D C D0 1 * S B * * S/R/L * C DL N F * 字符发生存储器地址 0 0 1 0 1 0 1 BF 显示数据存储器地址 计数器地址 要写的数据内容 1 1 读出的数据内容 4.3.4 基本操作时序表
读状态 输入 写指令 输入 读数据 写数据 输入 输入 RS=L、RW=H、E=H RS=L、D0~D7=指令码、E=高脉冲 RS=H、E=H RS=H、D0~D7=数据、E=高脉冲 输出 输出 D0~D7=状态字 无 输出 输出 D0~D7=数据 无 电子体温计的研制 30
4.3.5 1602LCD内部显示地址
图4-1 1602LCD液晶屏
162行0607080904647484940404040404
4.4 控制器接口时序说明
4.4.1 读操作时序
电子体温计的研制 31
4.4.2写操作时序
4.4.3时序参数
电子体温计的研制 32
5 编程介绍
5.1 软件设计和仿真软件
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
综上所述,本文在结合自己的知识结构基础和项目的研发状况基础上选用C语言作为软件设计的工具。
本设计的软件主要分为四大部分:温度检测与读写程序、键盘检测程序、显示程序和输出模式切换程序[23]。系统启动后先对单片机寄存器和温度传感器LM35DZ进行初始化,读取EEPROM 存储设定值,初始化看门狗后进入循环。在循环体内,通过不断读取LM35DZ采集的温度信号进行分析处理,然后通过液晶显示出来;如需设置温度上下限时,可任意通过按键进入设置上下限界面;单片机内部还设置有看门狗,最大限度地减小系统发生故障时,如进入死循环或跑飞,系统复位重新恢复运行。
(1)主程序的主要功能是负责温度的实时显示、读出并处理LM35DZ的测量温度值。
开始初始化端口调用/转换子程序调用显示子程序
图5-1 系统主程序流程图
(2)A/D转换器的主要功能是将LM35DZ的输出值输入单片机的A/D转换口,再进行处理。