2013届 光信息科学与技术专业 毕业设计(论文)
2.4 AT89C51单片机选定 2.4.1单片机介绍
常用的八位单片机有三种,分别为51系列、PIC系列、51系列。然而应用最为广泛的是51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。世界许多著名的芯片公司购买了51芯片的核心专利技术,并在其基础上进行了性能上的扩充,使得芯片得到了进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新。有的单片机并不能直接对RAM单元中的位进行操作,如AVR系列单片机。51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器[9]。他的处理对象不是字或者字节而是位。他不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H-2FH,它既可作字节处理,也可作位处理。这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序运行中遇到很多分支,因而需建立很多标志位,在运行过程中需要对有关标志位进行置位、清零或检测,以确定程序的运行方向。51系列的另一个优点就是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度不够。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求。很多八位单片机不具有乘法功能,做乘法时还得编上一段程序调用,十分不便。在51系列中,还有一条二进制-十进制调整指令DA,能够将二进制变成BCD码,这对于十进制的计量十分方便。而在其他的单片机中,则也需调用专用的子程序才行[5]。
51系列的单片机也是我们在第一次接触单片机课程时所接触的系列,后面的学习一直以来都是对其进行应用和学习,相比其他系列的单片机,51系列对于我个人来说上手更快,因为有之前的课程作为基础。同时我手中的资料基本上是关于51系列的单片机,方便后期的应用参考。所以在选择单片机时我选择了我自己更熟悉、更容易操作的51系列单片机。
AT89C51是美国ATMEL公司生产的低功耗、高性能CMOS 的8位单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器
[8]
12
2013届 光信息科学与技术专业 毕业设计(论文)
既可在线编程(ISP),也可用传统方法进行编程及通用8位微处理器于单片机芯片中,低价位AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制的领域。AT89C51提供以下的功能标准:4K字节闪烁存储器,128字节随机存取数据存储器,2个16位定时/计数器,32个I/O口, 1个串行通信口,1个5向量两级中断结构,另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式,闲散方式停止中央处理器的工作,可允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位,使AT89C51性能有了较大提升,它的价格甚至更低,AT89C51的工作频率更高,ISP在线编程功能的优越性在于它不必要将芯片从工作状态下分离,特别是在改写存储器内的程序,这是一个相当方便简单的功能,它完全兼容51全部字系列产品[8]。
图2-4-1 AT89C51引脚图
2.4.2引脚说明
VCC:电源电压输入端。 GND:电源地
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FLASH编程时,P0口作为原码输入
13
2013届 光信息科学与技术专业 毕业设计(论文)
口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。P0口在访问外部存储器时,P0口既是一个真正的双向数据总线口,又是输出8位地址口。它包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路
P0口:P0口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,被内部上拉为高电平,可用作输入。P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。专门为用户使用的I/O口,是准双向口,P1口为8位准双向口,每一位均可单独定义为输入或输出口。在编程校验期间,用做输入低位字节地址。P1口可以驱动4个TTL负载。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P2口也是双向口。它是供系统扩展时输出高8位地址。如果没有系统扩展时,也可以作为用户的I/O口使用。P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2=64K,所以AT89C51最大可外接64KB的程序存储器和数据存储器。P3口除了作为普通I/O口,还有第二功能:
表2-5-2 P3口的第二功能
端口引脚 P3.0 P3.1 P3.2 P3.3 功能特性 串行输入口(RXD) 串行输出口(TXD) 外中断0(INTO) 外中断1(INT1) 14
2013届 光信息科学与技术专业 毕业设计(论文) P3.4 P3.5 P3.6 P3.7 定时/计数器0的外部输入口(T0) 定时/计数器1的外部输入口(T1) 外部数据存储器写选通(WR) 外部数据存储器读选通(RD) RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个
机器周期的高电平时间。
ALE/ PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/ PSEN有效。但在访问外部数据存储器时,这两次有效的/ PSEN信号将不出现。
EA/VPP:外部程序存储器访问允许。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:片内振荡器反相放大器和时钟发生器的输入端。 XTAL2:片内振荡器反相放大器的输出端。
现在已经对四个8位双向并行I/O口有了初步的了解。根据以上的内容可知只有P1口是标准的I/O口,所以我们选用P1口作为数据端口, P1口可逐位分别定义各口线为输入或输出线[9]。
15
2013届 光信息科学与技术专业 毕业设计(论文)
2.5显示部分:LCD的选定 2.5.1 LCD12864液晶简介
图2-5-1-1 12864字符型液晶显示器实物图
液晶是是一种高分子材料,因为其特殊的物理、化学、光学特性,广泛应用与轻薄的显示器上。液晶的型号有很多种,通常是按照显示字符的行数或液晶点阵的行列数来命名的。例如:1602的意思是每行显示16个字符,一共两行;类似的还有0801、0802、1601等,这类事字符型的液晶只能显示ASCII码字符,如数字、大小写字母、各种符号等。12232液晶属于图形型液晶,意思是有122列32行组成,既共有122×32个点来显示各种图形,我们可以通过程序控制这122×32个中的任意一个点显示或不显示。类似的还有12864,19264,192128,320240等[8]。
液晶体积小、功耗低、显示操作简单,但是有一个致命的缺点,其使用的温度范围很窄,通用型液晶正常工作温度范围为0℃~+55℃,存储温度范围为-20℃~+60℃,即使是宽温级液晶,其正常工作范围也仅为-20℃~+70℃,存储温度范围为-30℃~+80℃,因此我们再选用时得注意根据实际情况选用合适的液晶。
本次温湿度测量系统设计液晶显示需要三行,分别为时间、温度、湿度,并且液晶正常工作的温度范围要大,故综合所有因素选用宽温级的12864液晶作为显示模块。
16