论文部分内容阅读
摘要:本文简要介绍基于SST(silicon Storage Technology)公司大程序存储容量的SST89E564RD单片机设计的数字自动读数仪,给出了系统硬件、软件的设计方法。实践证明该系统性能稳定,抗干扰能力强,数据采集结果的分辨率高,具有较高的实用价值。
关键词:SST89E564RD;AD转换;AM29f040;液晶显示;C51
引言
51系列单片机具有体积小、价格低、性能高、应用开发简捷等优点,在工业控制、生产自动化、机械、电器、智能仪器仪表、信息家电、航空航天、通信导航、汽车电子等领域,都得到了日益广泛的应用。SST89E564RD是SST公司出产的一款基于51内核结构的单片机。SST89E564RD最大的特点是具有在线调试和在线下载功能,为工程开发中的调试提供了最大的方便。该芯片中含有1K的RAM和64K+8K的内置电可擦除程序存储器ROM。其程序存储器达到了51内核结构单片机寻址的最大范围,能够满足大容量程序存储的要求。
单片机SST89E564RD在5V电压时可工作在0~40MHZ,具有三个16位的定时计数器,具有8个中断源,4个优先级,具有可编程看门狗定时器(WDT)。商用级SST89E564RD可工作在0~70摄氏度,而工业级SST89E564RD则可工作在-40~+85℃的温度范围内,可以极大的消减恶劣环境对它的影响。
由于SST89E564RD的上述特点,使得它可以很好的应用于测控领域。本文所介绍的DAM-l数字自动读数仪主要应用于钻孔倾斜度的测量,同时也可以应用于水利、石油勘探等使用环境恶劣的测量领域和一般测量环境下的测量。
数字自动读数仪的主要性能指标为:
(1)系统的测量范围:一2.0V~+2.0V
(2)系统分辨率:0.1mV
(3)系统精度:lmV
(4)使用温度:0+50℃
(5)数据存储容量:500KB
系统硬件设计
数字自动读数仪要求可以采集两路—2.0V~+2.0V模拟电压信号和温度信号,并将相应的数据进行简单的处理、显示、存储在相应的存储器中;系统实时检测蓄电池电压当。
电压低于llV时系统自动报警;最终上位机通过串口读出数据进行数据的后续处理。本系统的整个硬件结构如图1所示,设计主要由采样模块、数据存储模块、液晶显示模块、按键模块、串口模块组成。
采样模块
由于需要采样4路信号,因此增加了一个模拟多路转换开关CD4051,选定采样通道后,模拟信号通过模拟多路转换开关经一个模拟低通滤波器进入AD转换芯片ICL7135,ICL7135是一种4位半双积分单片集成ADC芯片。其分辨率相当于14位二进制数;转换精度高,转换误差为±1LSB;并能在单极性参考电压下,对双极性的输入模拟电压进行A/D转换;芯片采用了自动较零技术,可保证零点在常温下的长期稳定向;模拟输入可以是差动信号,输入阻抗极高。它与SST89E564RD的连接图如图2。
数据存储模块
数据存储模块有3部分组成:参数存储部分用来存储钻井参数及传感器参数由64Kb的E2PROMCS14WC64组成;数据暂存部分由256Kb的E2PROMCSI24WC256组成用来暂时存储测量数据;数据保存由512KB的Flash芯片AM29f040来组成。下面主要介绍一下AM29f040。
Flash存储器是一种可在线多次擦除的非易失性存储器,即掉电后数据不会丢失。同时这种存储器还具有体积小、功耗低等优点,是很多数据采集系统首选的存储设备。AM29f040是AMD公司生产的Flash存储器,它采用5V单电源供电的只读存储器,是一种电可擦除与重新编译的器件。该器件由8个独立的64KB的块组成,其访问速度可达到55~150ns。它具有自动的片内的状态机控制编程和擦除器件、字节写和区段擦除功能。AM29f040的内部结构框图如图3。A0~A18是地址线,其中A8~A1 8提供存储区地址,行地址确定所在扇区;A0~A7选定某扇区的一个字节,扇区容量是256字节。DQ0-DQ7:数据输入/输出。在读周期输出数据;在写周期接收数据。写过程中写入的数据被内部锁存。CE:芯片使能,低电平时选中该器件。OE:输出使能,低电平时打开数据输出缓冲区,允许读操作WE:输入,写使能,低电平时允许写操作。Vcc为5V电源。Vss为地。工作方式有读方式、待机方式、输出禁止及算法选择。
液晶显示模块
本设计选用了肇庆金鹏电产有限公司生产的OCM19264-2,它是一种图形点阵液晶显示器,主要由行驱动/列驱动器及192×64全点阵液晶显示器组成。可完成图形显示,也可以显示12×4个(16×16点阵)汉字。它的数据线与SST89E564RD的PO口连接,另接8条控制线进行控制。由于其背光开启时的功耗比较大,因此设定如果2分钟无任何操作背光自动关掉。
按键模块
本设计中的按键模块用ZLG7289B,它具有SPI串行接口功能,可同时驱动64个键的键盘矩阵,其同步时钟输入端和串行数据输入/输出端与P2口的P2.0、P2.1相接,片选端由74HCl38的一个输出端连接。
系统软件设计
C51语言是一种专门用于51系列单片机编程的C语言。C51继承了标准C语言的绝大部分的特性,其基本的语法也相同,但其本身又在51系列单片机的特定硬件结构上由所扩展,如sbit、xbata、pdata等关键字就是专门针对51系列单片机的。C51的特点就是可以使程序员尽量少地对硬件进行操作。与汇编语言相比,它在功能上,结构性、可读性、可维护性上具有明显的优势,寄存器分配和寻址方式由编译器进行管理,编程时不必考虑存储器的寻址和数据类型等细节;指定操作的变量选择组合提高了程序的可读性;可使用与人的思维更相近的关键字和操作函数;与使用汇编语言编程相比,程序的开发和调试时间大大缩短;通过C语言可实现模块化编程技术,从而可将已编制好的程序加入到新程序中。基于C51的以上优点,本设计的软件由C51编写,从而实现了系统程序的模块化,分层次布局,使程序易于维护和扩充。系统的主程序流程图如图4所示。
结语
采用SST89E564RD单片机设计的DAM-1数字自动读数仪,性能可靠,采用C51编写程序使软件可读性强,易于维护。Flash存储器AM29f040B较好满足了系统大数据量存储的要求,并经过实验验证,本仪器达到了所要求的测量精度,达到了设计要求。
参考文献
1.赵亮,侯国锐,‘单片机C语言编程与实例’,人民邮电出版社,2003
2.王建校,‘51系列单片机及C51程序设计’,科学出版社,2002
关键词:SST89E564RD;AD转换;AM29f040;液晶显示;C51
引言
51系列单片机具有体积小、价格低、性能高、应用开发简捷等优点,在工业控制、生产自动化、机械、电器、智能仪器仪表、信息家电、航空航天、通信导航、汽车电子等领域,都得到了日益广泛的应用。SST89E564RD是SST公司出产的一款基于51内核结构的单片机。SST89E564RD最大的特点是具有在线调试和在线下载功能,为工程开发中的调试提供了最大的方便。该芯片中含有1K的RAM和64K+8K的内置电可擦除程序存储器ROM。其程序存储器达到了51内核结构单片机寻址的最大范围,能够满足大容量程序存储的要求。
单片机SST89E564RD在5V电压时可工作在0~40MHZ,具有三个16位的定时计数器,具有8个中断源,4个优先级,具有可编程看门狗定时器(WDT)。商用级SST89E564RD可工作在0~70摄氏度,而工业级SST89E564RD则可工作在-40~+85℃的温度范围内,可以极大的消减恶劣环境对它的影响。
由于SST89E564RD的上述特点,使得它可以很好的应用于测控领域。本文所介绍的DAM-l数字自动读数仪主要应用于钻孔倾斜度的测量,同时也可以应用于水利、石油勘探等使用环境恶劣的测量领域和一般测量环境下的测量。
数字自动读数仪的主要性能指标为:
(1)系统的测量范围:一2.0V~+2.0V
(2)系统分辨率:0.1mV
(3)系统精度:lmV
(4)使用温度:0+50℃
(5)数据存储容量:500KB
系统硬件设计
数字自动读数仪要求可以采集两路—2.0V~+2.0V模拟电压信号和温度信号,并将相应的数据进行简单的处理、显示、存储在相应的存储器中;系统实时检测蓄电池电压当。
电压低于llV时系统自动报警;最终上位机通过串口读出数据进行数据的后续处理。本系统的整个硬件结构如图1所示,设计主要由采样模块、数据存储模块、液晶显示模块、按键模块、串口模块组成。
采样模块
由于需要采样4路信号,因此增加了一个模拟多路转换开关CD4051,选定采样通道后,模拟信号通过模拟多路转换开关经一个模拟低通滤波器进入AD转换芯片ICL7135,ICL7135是一种4位半双积分单片集成ADC芯片。其分辨率相当于14位二进制数;转换精度高,转换误差为±1LSB;并能在单极性参考电压下,对双极性的输入模拟电压进行A/D转换;芯片采用了自动较零技术,可保证零点在常温下的长期稳定向;模拟输入可以是差动信号,输入阻抗极高。它与SST89E564RD的连接图如图2。
数据存储模块
数据存储模块有3部分组成:参数存储部分用来存储钻井参数及传感器参数由64Kb的E2PROMCS14WC64组成;数据暂存部分由256Kb的E2PROMCSI24WC256组成用来暂时存储测量数据;数据保存由512KB的Flash芯片AM29f040来组成。下面主要介绍一下AM29f040。
Flash存储器是一种可在线多次擦除的非易失性存储器,即掉电后数据不会丢失。同时这种存储器还具有体积小、功耗低等优点,是很多数据采集系统首选的存储设备。AM29f040是AMD公司生产的Flash存储器,它采用5V单电源供电的只读存储器,是一种电可擦除与重新编译的器件。该器件由8个独立的64KB的块组成,其访问速度可达到55~150ns。它具有自动的片内的状态机控制编程和擦除器件、字节写和区段擦除功能。AM29f040的内部结构框图如图3。A0~A18是地址线,其中A8~A1 8提供存储区地址,行地址确定所在扇区;A0~A7选定某扇区的一个字节,扇区容量是256字节。DQ0-DQ7:数据输入/输出。在读周期输出数据;在写周期接收数据。写过程中写入的数据被内部锁存。CE:芯片使能,低电平时选中该器件。OE:输出使能,低电平时打开数据输出缓冲区,允许读操作WE:输入,写使能,低电平时允许写操作。Vcc为5V电源。Vss为地。工作方式有读方式、待机方式、输出禁止及算法选择。
液晶显示模块
本设计选用了肇庆金鹏电产有限公司生产的OCM19264-2,它是一种图形点阵液晶显示器,主要由行驱动/列驱动器及192×64全点阵液晶显示器组成。可完成图形显示,也可以显示12×4个(16×16点阵)汉字。它的数据线与SST89E564RD的PO口连接,另接8条控制线进行控制。由于其背光开启时的功耗比较大,因此设定如果2分钟无任何操作背光自动关掉。
按键模块
本设计中的按键模块用ZLG7289B,它具有SPI串行接口功能,可同时驱动64个键的键盘矩阵,其同步时钟输入端和串行数据输入/输出端与P2口的P2.0、P2.1相接,片选端由74HCl38的一个输出端连接。
系统软件设计
C51语言是一种专门用于51系列单片机编程的C语言。C51继承了标准C语言的绝大部分的特性,其基本的语法也相同,但其本身又在51系列单片机的特定硬件结构上由所扩展,如sbit、xbata、pdata等关键字就是专门针对51系列单片机的。C51的特点就是可以使程序员尽量少地对硬件进行操作。与汇编语言相比,它在功能上,结构性、可读性、可维护性上具有明显的优势,寄存器分配和寻址方式由编译器进行管理,编程时不必考虑存储器的寻址和数据类型等细节;指定操作的变量选择组合提高了程序的可读性;可使用与人的思维更相近的关键字和操作函数;与使用汇编语言编程相比,程序的开发和调试时间大大缩短;通过C语言可实现模块化编程技术,从而可将已编制好的程序加入到新程序中。基于C51的以上优点,本设计的软件由C51编写,从而实现了系统程序的模块化,分层次布局,使程序易于维护和扩充。系统的主程序流程图如图4所示。
结语
采用SST89E564RD单片机设计的DAM-1数字自动读数仪,性能可靠,采用C51编写程序使软件可读性强,易于维护。Flash存储器AM29f040B较好满足了系统大数据量存储的要求,并经过实验验证,本仪器达到了所要求的测量精度,达到了设计要求。
参考文献
1.赵亮,侯国锐,‘单片机C语言编程与实例’,人民邮电出版社,2003
2.王建校,‘51系列单片机及C51程序设计’,科学出版社,2002