- 29.02 KB
- 23页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'西电工程设计报告——基于51单片机的简易计算器设计 工程设计课程报告 基于51单片机的简易计算器设计 姓名: 学号: 20XX 年6月11日 基于51单片机的简易计算器设计 一.需求分析 随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。电子产品的更新速度快就不足惊奇了。计算器在人们的日常中是比较的常见的电子产品之一。如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题。 今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店,办公室,学校。因此设计一款简单实用的计算器会有很大的实际意义。 根据需求,这个简易计算机可以进行加减乘除类型的运算,也可以运算负数。它的最大运算范围是9999*9999。 二.方案设计和论证
本设计可以采用两种方案,一种是以FPGA为核心处理芯片,配备相应的外设;另外一种是以AT89S52处理器,配备相应的外设。1、方案一:采用FPGA控制 FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万门/片以上,系统性能可达200MHz。于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。 但是而基于SRAM编程的FPGA,其编程信息需存放在外部存储器上,需外部存储器芯片,且使用方法复杂,保密性差,而其对于一个简单的计算器而言,实用FPGA有点大材小用,成本太高。2、方案二:采用AT89S52 单片机是单片微型机的简称,故又称为微控制器MCU。通常单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机广泛用于智能产品,智能仪表,测控技术,智能接口等,具有操作简单,实用方便,价格便宜等优点,而其中AT89S52以MCS-51为内核,是单片机中最典型的代表,应用于各种控制领域。
通过以上两种方案论证和比较,从设计的实用性,方便性和成本出发,选择了以AT89S52单片机作为中央处理单元进行计算器的设计,这样设计能够实现对四位加减乘除和除法四位小点数的运算。 三.系统硬件设计及说明 系统组成及总体框图 元件简介AT89S52特点 LCD液晶显示屏模块AT89S52主控制模4X4键盘模块电源模块图系统组成及总体框图块 图单片机AT89S52 1、主要性能: (1)8031CPU与MCS-51兼容 8K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0Hz-33MHz 三级加密程序存储器 128*8位内部RAM 32条可编程I/O线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗的闲置和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符 片内振荡器和时钟电路 (2)管脚说明: VCC:供电电压。 GND:接地。
2、AT89S52的功能特性描述 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。 此外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程Flash。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3、AT89S52引脚功能 AT89S52单片机为40引脚芯片见图。 图AT89S52引脚图
口线:P0、P1、P2、P3共四个八位口。 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。 对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。 此外,和分别作定时器/计数器2的外部计数输入和定时器/计数器2的触发输入,具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: T2,时钟输出 T2EX MOSI MISO SCK P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2
端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。 在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。 在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。 P3口亦作为AT89S52特殊功能使用,如表所示。 表P3口管脚备选功能:端口引脚 第二功能RXDTXD/INT0/INT1 T0T1/WR/RD 在flash编程和校验时,P3口也接收一些控制信号。 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。其他引脚说明: RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96
个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/PROG——当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对FLASH存储器编程期间,该引脚还用于输入编程脉冲。 如有必要,可通过对特殊功能寄存器区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN——程序储存允许输出是外部程序存储器的读选通信号,当AT89S52外部程序存储器取指令时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器,EA端必须保持低电平。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平,CPU则执行内部程序存储器的指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 XTAL1,XTAL2接石英晶体振荡器。如图所示外接晶体引脚图。 C2 XTAL2 悬空 XTAL2 C1 XTAL1 外部振荡信号 XTAL1 GND GND 接地 接地 a.内部方式 b.外部方式 图晶振外接结构引脚图 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择,在本设计电路中选用了12MHz。电容取20PF左右。机器周期=12×时间周期,如12MHz的机器周期为1微秒。 控制或复位引脚 RESET此脚为高电平时可将单片机复位。
RST/VPD——当出现两个机器周期高电平时,单片机复位。复位后,P0~P3输出高电平;SP寄存器为07H;其它寄存器全部清0;不影响RAM状态。如图所示。 图按键电平复位 AT89SXX系列单片机实现了ISP下载功能,故而取代了89CXX系列的下载方式,也是因为这样,ATMEL公司已经停止生产89CXX系列的单片机,现在市面上的AT89CXX多是停产前的库存产品。 4、AT89S52的编程方法 编程前,须按编程模式表设置好地址、数据及控制信号;顺序如下:①在地址线上加上要编程单元的地址信号。②在数据线上加上要写入的数据字节。③激活相应的控制信号。 ④将EA/Vpp端加上+12V编程电压。 ⑤每对Flash存储阵列写入一个字节或每写入一个程序机密位,加上一个ALE/PROG编程脉冲。每个字节写入周期是自身定时的,大多数约为50us。改变编程单元的地址和写入的数据,重复①—⑤步骤,直到全部文件编程结束。 单片机的现状及发展方向:
单片机是为了工业控制需要满足而诞生的,是自动控制系统的核心部件,因而也主要用于工业控制、智能化仪器仪表、家用电器中。它具有体积小,功能多、价格低、使用方便、系统设计灵活等优点,应用领域不断扩大,除了工业控制,智能化仪表,通讯,家用电器外,在智能化高档电子玩具产品中也大量采用单片机芯片作为核心控制部件。 于单片机主要面向工业控制,工作环境比较恶劣,入高温,强电磁干扰,甚至含有腐蚀性气体,在太空中工作的单片机控制系统,还必须具有抗辐射能力,这决定了单片机CPU于通用微机CPU具有不同的技术特征和发展方向: (1)可靠性高; (2)控制功能往往很强,数值计算交叉;(3)指令系统比通用微处理器慢的多;(4)X系列芯片取代; (5)抗干扰性强,工作温度范围宽。 LCD1602液晶显示屏 1、应用简介 模块内部自带字符发生存储器,字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是,显示时模块把代码41H发给液晶模块,我们就能在液晶上看到字母“A”。 1602液晶模块内部的控制器共有11条控制指令,丰富的指令可以完成液晶的时序控制、工作方式式设置和数据显示等。 采用的LCD1602液晶模块是标准16针插座,接口电路如图所示:关于LCD1602的详细资料见表和表。
图LCD接口电路表LCD1602引脚说明VSS为地电源VDD接5V正电源V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的第3脚电位器调整对比度。实际电路中采用2K电阻到地,比较理想。第4脚RS为寄存器选择,高电平选择数据寄存器、低电平选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址;第5脚当RS为低电平RW为高电平时可以读入忙信号;当RS为高电平RW为低电平时可以写入数据。第6脚E端为使能端,当E端高电平跳变成低电平时,液晶模块执行命令。第7~14脚D0~D7为8位双向数据线。第15~16脚背光阳极和背光阴极。表LCD1602指令表 第1脚第2脚清显示 指令码01H,光标复位到地址00H位置;光标复位指令码02H,光标返回到地址00H位置;光标和显示模式设置指令3I/D位→光标移动方向,高电平右移,低电平左移;S位→屏幕上所有文字是否左移或者右移,高电平有效,低电平无效;显示开关控制D位→控制整体显示的开与关,高电平表示开显示,低电平表示关显示;指令4C位→控制光标的开与关,高电平表示有光标,低电平表示无光标; B位→控制光标是否闪烁,高电平闪烁,低电平不闪烁;
光标或显示移位指令5S/C位→高电平时移动显示的文字,低电平时移动光标功能命令设置DL位---高电平时为4位数据总线,低电平时为8位总线;指令6N—位低电平时为单行显示,高电平时为双行显示;F—位低电平时显示5x7的点阵字符,高电平时为5x10的点阵字符;指令7字符发生器RAM地址设置指令8DDRAM地址设置读忙信号和光标地址指令9BF位→为忙标志位,高电平表示忙,此时模块不能接收命令或者数据指令10写数据指令11读数据2、LCD的特点:低压微功耗;平板型结构; 指令1指令2被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳);显示信息量大(因为像素可以做得很小);易于彩色化(在色谱上可以非常准确的复现);无电磁辐射(对人体安全,利于信息保密); 长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)。 四、硬件设计与调试 设计方案的确定 本设计需要使用LCD液晶显示屏和编码键盘。故选择静态显示和用编码键盘。使用LCD液晶显示屏显示运算结果。 主程序进行初始化,其他的程序选择模块式的方式。首先对每个模块进行调试,当模块调试成功后,逐一的加入主程序中,最后完成整个软件部分的设计。
计算器硬件方案及硬件资源分配硬件资源分配 主要用到的硬件:AT89S52LCD液晶显示屏编码键盘 硬件分配: 1、P1、P3口:做为输出口,控制LCD液晶显示屏显示数据的结果。2、P2口:做为输入口,与键盘连接,实现数据的输入。3、LCD液晶显示屏显示输出。系统的硬件设计 为了更好的实现系统得功能,硬件电路的设计应该遵循以下原则:1、优化硬件电路 采用软件设计与硬件设计相结合的方法;尽管采用软件来实现硬件系统的功能时,也许响应时间会比单纯使用硬件时长,而且还要占用微处理器(MCU)的时间;但是,用软件实现硬件的功能可以简化硬件结构,提高电路的可靠性。所以,在设计本系统得时候,在满足可靠性和实时性的前提下,尽可能的通过软件来实现硬件功能。 2、可靠性及抗干扰设计 根据可靠性设计理论,系统所用芯片数量越少,系统的平均无故障时间越长。而且,所用芯片数量越少,地址和数据总线在电路板上受干扰的可能性也就越小。因此,系统的设计思想是在满足功能的情况下力争使用较少数量的芯片。3、灵活的功能扩展
功能扩展是否灵活是衡量一个系统优劣的重要指标。一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善以及进行功能升级。进行功能扩展时,应该在原有设计的基础上,通过修改软件程序和少量硬件完成。对于本系统而言,就是要求在系统硬件不变的情况下,能够通过修改软件程序,完成功能的升级和扩展。 根据第提出的系统设计方案,结合以上三条原则,确定了系统硬件的设计。计算器主要以下一些功能模块构成:非编码键盘模块、LCD液晶显示屏模块等。 该系统的硬件设计采用了模块化的设计方法。AT89S52单片机与LCD液晶显示屏显示电路是整个电路的核心,它们实现系统的功能要求。 简易计算器主要包括:键盘电路,显示电路。下图为总体硬件结构。 图计算器原理图 前面叙述了该系统的设计说明,系统采用了比较简单的设计方案,所以该系统的硬件设计的总外围电路不会产生过多的干扰。在下面的阐述中,对系统的外围电路分别予以介绍。键盘部分采用编码键盘,显示部分采用LCD液晶显示屏完全能够很好的实现显示方面的要求。 键盘电路的设计
键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的标准键盘就是编码键盘。在智能仪器中,使用并行接口芯片8279或串行接口芯片HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可在芯片资料中得到。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。非编码键盘成本低廉。 从成本角度出发,本设计选用的是非编码键盘。如图 图编码键盘电路 显示电路的设计 当系统需要显示少量数据时,采用LCD液晶显示屏进行显示是一种经济实用的方法。P0口作为液晶显示的数据端口,口作为其控制端口,控制LCD液晶显示屏显示输出数据。最终电路如图所示: 图LCD液晶显示屏显示 五.计算器软件设计 计算器的软件规划 简易计算器的程序主要包括以下功能模块: 1、定时查键模块,分为读键程序、判键程序段、运算操作子程序等部分;2、基于LCD液晶显示屏的显示模块;3、主模块,为系统的初始化。键盘扫描的程序设计
键盘扫描子程序,首先读出P1的低四位,然后读出P1口的高四位。然后键值并显示缓存。然后将键如的值转换为ASCII码然后就可以软件来设置硬件按键各个键代表的内容。 读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。第一次所有行线均输出低电平,从所有读入键盘信息;第二次所有列线均输出低电平,从所有行线读入键盘信息。 数字键按下则将相应的数字送入缓存区,功能键按下则执行相应的程序。显示模块的程序设计 显示模块程序首先要对显示模块进行初始化;然后控制光标的位置;定义液晶显示的控制端口,用SBIT指令完成;然后设置清屏、关闭显示、归位、开显示、显示位置的首地址等等。 显示模块的流程图如图所示: 开始延时程序检测LCD是否在N扫描键盘Y加减乘除运算子程液晶显示结束图模块的流程 主程序的设计 主程序主要是用来对LCD液晶显示屏进行初始化的。对输入按键判断,然后进行加减乘除,最后计算出结果,显示出计算结果。软件的可靠性设计 提高本仪器其可靠性措施主要有: 1、为防止程序跑飞,软件中设置了软件陷阱。
六.结论 在硬件的制作过程中我走了好多的弯路,主要是在系统还没有设计很有把握就开始动手制作了。后来发现与设计的要求还有偏差,反复的改过了几次,浪费了大量的时间和体力。感受到设计人员要有耐心,要认真的从要求开始研究。软件的编写过程中费了很大的力气,因为软件的编写要求很高,要很细心,一不小心就会调用错误,很深刻的体会到作为软件编程人员是绝不能粗心大意的。一个程序的完成的速度和质量高低与细心与否有着很大联系。编程时,我充分使用了结构化的思想。这样因为语句较少,程序调试比较方便,功能模块可以逐一的调试,充分体现了结构化编程的优势。当每个模块都完成时,将其功能加到一起就完成了整体的设计。 工程设计课程报告 基于51单片机的简易计算器设计 姓名: 学号: 20XX 年6月11日 基于51单片机的简易计算器设计 一.需求分析
随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。电子产品的更新速度快就不足惊奇了。计算器在人们的日常中是比较的常见的电子产品之一。如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题。 今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店,办公室,学校。因此设计一款简单实用的计算器会有很大的实际意义。 根据需求,这个简易计算机可以进行加减乘除类型的运算,也可以运算负数。它的最大运算范围是9999*9999。 二.方案设计和论证 本设计可以采用两种方案,一种是以FPGA为核心处理芯片,配备相应的外设;另外一种是以AT89S52处理器,配备相应的外设。1、方案一:采用FPGA控制 FPGA是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高很快,其集成密度最高达500万门/片以上,系统性能可达200MHz。于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。 但是而基于SRAM编程的FPGA,其编程信息需存放在外部存储器上,需外部存储器芯片,且使用方法复杂
,保密性差,而其对于一个简单的计算器而言,实用FPGA有点大材小用,成本太高。2、方案二:采用AT89S52 单片机是单片微型机的简称,故又称为微控制器MCU。通常单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机广泛用于智能产品,智能仪表,测控技术,智能接口等,具有操作简单,实用方便,价格便宜等优点,而其中AT89S52以MCS-51为内核,是单片机中最典型的代表,应用于各种控制领域。 通过以上两种方案论证和比较,从设计的实用性,方便性和成本出发,选择了以AT89S52单片机作为中央处理单元进行计算器的设计,这样设计能够实现对四位加减乘除和除法四位小点数的运算。 三.系统硬件设计及说明 系统组成及总体框图 元件简介AT89S52特点 LCD液晶显示屏模块AT89S52主控制模4X4键盘模块电源模块图系统组成及总体框图块 图单片机AT89S52 1、主要性能: (1)8031CPU与MCS-51兼容 8K字节可编程FLASH存储器(寿命:1000写/擦循环)
全静态工作:0Hz-33MHz 三级加密程序存储器 128*8位内部RAM 32条可编程I/O线 三个16位定时器/计数器 八个中断源 全双工UART串行通道 低功耗的闲置和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符 片内振荡器和时钟电路 (2)管脚说明: VCC:供电电压。 GND:接地。 2、AT89S52的功能特性描述 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
此外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程Flash。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3、AT89S52引脚功能 AT89S52单片机为40引脚芯片见图。 图AT89S52引脚图 口线:P0、P1、P2、P3共四个八位口。 P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。 对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1
端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。 此外,和分别作定时器/计数器2的外部计数输入和定时器/计数器2的触发输入,具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能: T2,时钟输出 T2EX MOSI MISO SCK P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。 在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。 在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3
端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚于内部电阻的原因,将输出电流。 P3口亦作为AT89S52特殊功能使用,如表所示。 表P3口管脚备选功能:端口引脚 第二功能RXDTXD/INT0/INT1 '