AT89C51单片机简单介绍教程教案.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AT89C51单片机简单介绍教程教案.ppt

AT89C51单片机简单介绍 沈飞 什么是单片机 一台能够工作的计算机要有这样几个部分构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备。在个人计算机上这些部分被分成若干块芯片,安装一个称之为主板的印刷线路板上。 而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机除了上述部份外,还集成了其它部份如A/D,D/A等。 AT89C51 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4K bytes的可反复擦写的只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和flash存储单元。 AT89C51引脚图 1、32可编程I/O线 2、两个16位定时器/计数器 3、5个中断源 4、片内振荡器和时钟电路 P0和P1口 VCC:供电电压。 VSS:接地。   P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。   P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:   口管脚 备选功能   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(外部数据存储器读选通)   P3口同时为闪烁编程和编程校验接收一些控制信号。 复位管脚 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。   其它的管脚   /EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器,EA端必须保持低电平。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。 Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 简单的程序 LOOP: SETB P10; 让P10灯灭 LCALL DELAY; //长跳转指令 (当遇到RET,则回到此下行程序) CLR P10; //让灯P10亮 LCALL DELAY; AJMP LOOP; //绝对跳转到LOOP DELAY: MOV R7,#250; D1: MOV R6,#250; D2:DJNZ R6,D2; //将R6减1,如果变为0,往下执行,如果不为0,就转到D2 DJNZ R7,D1; //最终DJNZ R6,D2这句话被执行了250*250=62500次 R6,R7是工作寄存器 RET; //子

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档