版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、at89c51引脚图及功能at89c51 是美国atmel 公司生产的低电压,高性能cmos8 位单片机,片内含4k bytes的可反复擦写的只读程序存储器(perom )和 128 bytes的随机存取数据存储器(ram ),器件接受atmel 公司的高密度、非易失性存储技术生产,兼容标准mcs-51 指令系统,片内置通用 8 位中心处理器(cpu )和 flash存储单元,功能强大 at89c51 单片机可为您供应很多高性价比的应用场合,可机敏应用于各种把握领域。主要性能参数:·与 mcs-51 产品指令系统完全兼容·4k 字节可重擦写 flash 闪速存储器
2、3;1000 次擦写周期·全静态操作: 0hz 24mhz·三级加密程序存储器·128×8 字节内部ram ·32 个可编程 io 口线·2 个 16 位定时计数器 ·6 个中断源·可编程串行 uart 通道·低功耗空闲和掉电模式功能特性概述:at89c51 供应以下标准功能:4k 字节 flash 闪速存储器,128 字节内部 ram,32 个 io 口线,两个 16 位定时计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器准时钟电路。同时,at89c51 可降至 0hz 的静态规律操
3、作,并支持两种软件可选的节电工作模式。空闲方式停止 cpu 的工作,但允许ram,定时计数器,串行通信口及中断系统连续工作。掉电方式保存 ram 中的内容,但振荡器停止工作并禁止其它全部部件工作直到下一个硬件复位。·p0 口:p0 口是一组 8 位漏极开路型双向 io 口,也即地址数据总线复用口。作为输出口用时,每位能吸取电流的方式驱动 8 个 ttl 规律门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 fiash 编程时,p0 口接收指令字节,而在程序校验时,输出指令字
4、节,校验时,要求外接上拉电阻。·p1 口:p1 是一个带内部上拉电阻的 8 位双向 io 口,p1 的输出缓冲级可驱动(吸取或输出电流)4 个 ttl 规律门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。fiash 编程和程序校验期间,p1 接收低 8 位地址。·p2 口:p2 是一个带有内部上拉电阻的 8 位双向 io 口,p2 的输出缓冲级可驱动(吸取或输出电流)4 个 ttl 规律门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口
5、,作输入口使用时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 movxdptr 指令)时,p2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 movxri 指令)时,p2 口线上的内容(也即特别功能寄存器(sfr)区中 r2 寄存器的内容),在整个访问期间不转变。flash 编程或校验时,p2 亦接收高位地址和其它把握信号。·p3 口:p3 口是一组带有内部上拉电阻的 8 位双向 io 口。p3 口输出缓冲级可驱动(吸取或输出电流)4 个 ttl 规律门电路。对p3 口
6、写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 p3 口将用上拉电阻输出电流(iil)。p3 口除了作为一般的 io 口线外,更重要的用途是它的其次功能,如下表所示:p3 口还接收一些用于flash 闪速存储器编程和程序校验的把握信号。·rst:复位输入。当振荡器工作时,rst 引脚消灭两个机器周期以上高电平将使单片机复位。·aleprog: 当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。即使不访问外部存储器,ale 仍以时钟振荡频率的l6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时
7、目的。要留意的是:每当访问外部数据存储器时将跳过一个ale 脉冲。对 flash 存储器编程期间,该引脚还用于输入编程脉冲(prog)。如有必要,可通过对特别功能寄存器(sfr)区中的 8eh 单元的 do 位置位,可禁止 ale操作。该位置位后,只有一条movx 和 movc 指令ale 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale 无效。·psen:程序储存允许(psen)输出是外部程序存储器的读选通信号,当at89c51 由外部程序存储器取指令(或数据) 时,每个机器周期两次psen有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的
8、psen信号不消灭。·eavpp:外部访问允许。欲使 cpu 仅访问外部程序存储器(地址为 0000hffffh), ea 端必需保持低电平(接地)。需留意的是:假如加密位 lb1 被编程,复位时内部会锁存ea 端状态。如 ea 端为高电平(接vcc 端),cpu 则执行内部程序存储器中的指令。flash 存储器编程时,该引脚加上+12v 的编程允许电源 vpp,固然这必需是该器件是使用12v 编程电压vpp。·xtal1:振荡器反相放大器的及内部时钟发生器的输入端。·xtal2:振荡器反相放大器的输出端。·掉电模式:在掉电模式下,振荡器停止工作,进入掉
9、电模式的指令是最终一条被执行的指令,片内 ram 和特别功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特别功能寄存器但不转变 ram 中的内容,在 vcc 恢复到正常工作电平前,复位应无效,且必需保持肯定时间以使振荡器重启动并稳定工作。89c51 的程序存储器阵列是接受字节写入方式编程的,每次写入一个字符,要对整个芯片的 eprom 程序存储器写入一个非空字节,必需使用片擦除的方法将整个存储器的内容清楚。2 编程方法编程前,设置好地址、数据及把握信号,编程单元的地址加在p1 口和p2 口的p2.0p2.3(11 位地址范围为 0000h0fffh
10、),数据从p0 口输入,引脚p2.6、p2.7 和p3.6、p3.7 的电平设置见表 6,pseb 为低电平,rst 保持高电平,ea/vpp 引脚是编程电源的输入端,按要求加上编程电压,ale/prog 引脚输入编程脉冲(负脉冲)。编程时,可接受420mhz 的时钟振荡器,89c51 编程方法如下:在地址线上加上要编程单元的地址信号在数据线上加上要写入的数据字节。激活相应的把握信号。在高电压编程方式时,将ea/vpp 端加上+12v 编程电压。每对 flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个ale/prog 编程脉冲。转变编程单元的地址和写入的数据,重复15 步骤,知道
11、全部文件编程结束。每个字节写入周期是自身定时的,通常约为1.5ms。·数据查询89c51 单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需要读取最终写入的那个字节,则读出的数据的最高位( p0.7)是原来写入字节的最高位的反码。写周期开头后,可在任意时刻进行数据查询。2.1ready/busy:字节编程的进度可通过 ready/busy 输出信号检测,编程期间,ale 变为高电平“h”后p3.4(ready/busy) 端被拉低,表示正在编程状态(忙状态)。编程完成后,p3.4 变为高电平表示预备就绪状态。·程序校验:假如加密位lb、lb2 没有进行编程,
12、则代码数据可通过地址和数据线读回原编写的数据,接受下图的电路,程序存储器的地址由 p1 口和 p2 口的 p2.0p2.3 输入,数据由 p0 口读出,p206、p2.7 和p3.6、p3.7 的把握信号见表 6,psen 保持低电平,ale、ea 和 rst 保持高电平。校验时,p0 口必需接上10k 左右的上拉电阻。图 2-1-1 编程电路图 2-2-2 校验电路2.2 芯片擦除:利用把握信号的正确组合 (表 6)并保持 ale/prog 引脚 10ms 的低电平脉冲宽度即可将eprom 阵列(4k 字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入”1”,这步骤需在编程
13、之前进行。2.3 读片内签名字节:89c51 单片机内有 3 个签名字节,地址为 030h、031h 和 032h。于声明该器件的厂商、号和编程电压。读签名字节的过程和单元 030h、031h 和 032h 的正常校验相仿,只需要将 p3.6 和p3.7 保持低电平,返回值意义如下:(030h) = 1eh 声 明 产 品 由 atmel 公 司 制 造 。 (031h) = 51h 声 明 为 89c51 单 片机。 (032h) = ffh 声明为 12v 编程电压。 (032h) = 05h 声明为 5 编程电压。89c51 方框图单片机最小系统设计该单片机最小系统具有的功能: (1)具
14、有2 位led 数码管显示功能。 (2)具有八路发光二极管显示各种流水灯。 (3)可以完成各种奏乐,报警等发声音类试验。 (4)具有复位功能。功能分析(1)两位led 数码管显示功能,我们可以利用单片机的p0 口接两个数码管来现这个功能; (2)八路发光二极管显示可以利用 p1 口接八个发光二极管实现这个功能; (3)各种奏乐、报警等发声功能可以接受 p2.0 这个引脚接一蜂鸣器来实现。(4)利用单片机的第 9 脚可以设计成复位系统,我们接受按键复位;利用单片机的 18、19 脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。 设计框图硬件电路设计依据本系统的功能,和单片机的工作条件,
15、我们设计出下面的电路图。元件清单的确定:数码管:共阴极 2 只(分立)电解电容:10uf 的一只 30pf 的电容 2 只 220 欧的电阻 9 只 4.7k的电阻一只 1.2k 的电阻一只 4.7k 的排阻一只, 12mhz 的晶振一只 有源 5v 蜂名器一只 at89s51单片机一片常开按钮开关 1 只紧锁座一只(便利芯取下来的,绿色的)发光二极管(5mm 红色)8 只 万能板电路版 15*17cm s8550 三极管一只45v 电池盒一只,导线相关程序编写若干。 七、硬件电路的焊接依据原理图把上面的元件焊接好,具体步骤省略。针对上面的电路原理图,设计出本单片机最小系统的具体功能: (1)
16、、第一个发光二极管点亮,同时数码管显示“1”。 (2)、其次个发光二极管点亮,同时数码管显示“2”。(3) 、依次类推到第八个发光二极管点亮,同时数码管显示“8”。 以上消灭的是流水灯的效果。(4) 、全部的发光二极管灭了,同时数码管现实“0”。 (5)、数码管显示“1”。(6)、数码管显示“2、”直到“9、a、b、c、d、e、f、y”。 (7)、蜂鸣器发出九声报警声后重复上面全部步骤。(8)程序如下:org 0000h;伪指令,定义下面的程序代码(机器代码)从地址为0000h 的单元存放。 ljmp start;跳转到标号为 start的地方去执行。org 0030h;伪指令,定义下面的程序
17、代码(机器代码)从地址为0030h 的单元存放。 start:mov p1,#0feh;点亮第一个发光二极管。clr p2.7 ;送低电平到第一个数码管,开启数码管。clr p2.6 ;送低电平到其次个数码管,开启数码管。mov p0,#06h;让数码管显示“1” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0fdh;点亮其次个发光二极管。 mov p0,#5bh;让数码管显示“2” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0fbh;点亮第三个发光二极管。 mov p0,#4fh;让数码管显示“3” 。lcall delay;调用
18、延时子程序,起到延时的目的。mov p1,#0f7h;点亮第四个发光二极管。 mov p0,#66h;让数码管显示“4” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0efh;点亮第五个发光二极管。 mov p0,#6dh;让数码管显示“5” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0dfh;点亮第六个发光二极管。 mov p0,#7dh;让数码管显示“6” 。lcall delay;调用延时子程序,起到延时的目的。mov p1,#0bfh;点亮第七个发光二极管。 mov p0,#07h;让数码管显示“7” 。lcall dela
19、y;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“8” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#6fh;让数码管显示“9” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“a” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“b” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“c” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“d” 。lcal
20、l delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“e” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“f” 。lcall delay;调用延时子程序,起到延时的目的。mov p0,#7fh;让数码管显示“y” 。lcall delay;调用延时子程序,起到延时的目的。 mov r4,#9;送蜂鸣器的报警次数。 loop:setb p2.0;不发声lcall delay;调用延时子程序,起到延时的目的。 clr p2.0;发声。lcall delay;调用延时子程序,起到延时的目的。djnz r4,loop;发
21、声九次后向下执行。 setb p2.0;关闭发声ljmp start;跳转到标号为 start处执行,循环本程序。 delay:mov r7,#200;这是延时子程序d1:mov r6,#200 d2:mov r5,#200 d3:djnz r5,d3 djnz r6,d2 djnz r7,d1ret;延时子程序返回指令。end;结束伪指令。九、利用keil c51 软件对上面的程序进行调试和编译,产生*.hex 文件,以便用编程器写入单片机芯片中。十、编程器的使用:用编程器把电脑里生成的*.hex 文件写到芯片中。十一、产品调试:通上 4.5v(三节电池)的电源,可以调试本系统,假如没有错误就可以正常工作了。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动媒体艺术就业方向
- 2026湖南郴州市国控健康养老服务有限公司招聘6人笔试备考试题及答案解析
- 农药中毒患者的吸氧护理
- 2026北京市农林科学院高层次人才引进53人考试参考题库及答案解析
- 2026年调兵山市消防救援局公开补充招录政府专职消防队员7人笔试备考题库及答案解析
- 2026广东旅控集团财务管理部(资金结算中心)部长等岗位招聘2人考试备考试题及答案解析
- 2026广西崇左天等县住房和城乡建设局招聘编外工作人员2人笔试备考试题及答案解析
- 2025年江苏农林职业技术学院单招职业适应性测试题库及答案解析
- 职业规划师行业指南
- 2026年中国科大附中高新中学教师招聘考试备考题库及答案解析
- 加油站防恐安全培训
- 酒店线上推广方案
- 感受生活中的法律完整版
- Micro Shield程序初级应用指南
- GB/T 21837-2023铁磁性钢丝绳电磁检测方法
- 苏州山塘街区
- 职业卫生法律法规职业卫生法律法规
- 船体设计师个人简历模板
- 超声心动检查技术 心脏各瓣膜频谱多普勒的正常波形
- 2023学年完整公开课版《元宵节》
- 药物过敏急救处理
评论
0/150
提交评论