Motorola是世界上最大的单片机厂商[2]。从最初的M6800开始,开发了多样化的品种,比如8位、16位和32位单片机,其中M6805、M68HC05、M68HC11、M68HC12系列广受好评。Motorola单片机和MCS51系列单片机相比,速度相同而所用的时钟频率更小 [3],因而使得高频噪声低,抗干扰能力强,更适合于工控领域及复杂的环境。
基于以上对单片机性能以及成本的比较,选择AT89C51单片机完全可以满足课题要求。
AT89C51是Atmel公司生产的一款应用范围广泛的低功耗、高性能CMOS8位微控制器 [4],该单片机兼容工业标准MCS-51指令集,在许多控制应用中表现良好。AT89C51有三种封装格式(见下图),分别是PQFP/TQFP、PDIP、PLCC三种[5]。因为只是研究实验阶段,所以选择接口实用的PDIP双列直插式封装的单片机比较合适。
PQFP封装[5] PLCC封装[5] PDIP封装[5]
AT89C51芯片特点如下:内含4K字节flashROM,128字节的RAM,32个全双工可编程IO口,2个16位的定时计数器,含有两个优先级共5个中断源,既可以接外部晶振也可以使用内部时钟电路[4]。下面介绍AT89C51单片机各个引脚的含义和功能。第40脚Vcc:电源接入引脚,一般可以接3.5到5V电压;第20脚GND:接地引脚;第32到39引脚P0口:端口P0是8位开漏双向IO口,端口P0除了作为普通的数据输入输出端口外,在访问外部程序存储器或外部接口芯片时,可以实现分时复用,既传输低8位地址,又传输8位数据;第31引脚EA:内部和外部程序存储器的访问控制信号,当EA为高时,可以同时访问内部和外部程序存储器,当EA为低时,只能访问外部存储器,此时的内部程序存储器形同虚设,如果单片机内部没有集成存储器,如80C31,则EA引脚必须接地;第30引脚ALE:控制代码写入程序存储器时的速度;第29引脚PSEN:外部程序存储器读信号(存储器输出允许信号),与ALE同频率,在访问外部存储器时会用到;第21到28引脚P2口:一般作为普通的数据输入输出接口,当外接程序存储器或访问外部接口时,输出高8位地址,与P0口一同组成地址;第19引脚XTAL1:外部晶振的输入端;第18引脚XTAL2:外部晶振的输出端;第10到第17引脚P3口:可以作为普通的IO口使用,但是更多的是使用它的第二功能,如下表
表2.1 单片机P3口的第二功能[6]
引脚名称 功能
P3.0/RXD 串行接收时,串行数据的输入口
P3.1/TXD 串行发送时,串行数据的输出口
P3.2/INT0 外部中断0的中断请求信号输入端
P3.3/INT1 外部中断1的中断请求信号输入端
P3.4/T0 定时器0作为外部计数时,外部计数脉冲输入端
P3.5/T1 定时器1作为外部计数时,外部计数脉冲输入端
P3.6/WR 访问外部数据存储器写信号输出端
P3.7/RD 访问外部数据存储器读信号输出端
第9引脚RST:复位引脚,通过输入2个以上机器周期时长的高电平实现单片机复位;第1至第8引脚P1口:一般作为普通的IO口使用[5]。
2.1.2 温度传感器的选择
现在市面上传感器的种类也是多种多样,根据测量信号的不同,如温度、湿度、光照强度、噪声、微量气体含量等,对应有不同的传感器。因为该课题只需要探讨信息的采集这一过程,所以选择最广泛且比较有代表性的传感器——温度传感器DS18B20,其他信息的采集只需要加入相应的传感器并连接到单片机IO口即可。
DS18B20是Dallas Semiconductor公司生产的一款单总线数字式温度传感器。DS18B20数字温度传感器可以提供12位二进制(11位数据位,1位符号位)温度读数。DS18B20的引脚如图所示, 51单片机的数据采集和近距离无线传输系统设计(3):http://www.751com.cn/zidonghua/lunwen_11473.html