基于AT89S51单片机控制的八路LED显示设计.docVIP

基于AT89S51单片机控制的八路LED显示设计.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、单片机的内部结构  AT89S51单片机兼容标准8051的指令系统及引脚。下面以AT89S51单片机为例,简要介绍51系列单片机的内部结构。   通常,单片机片内含CPU、ROM、RAM、并行I/O口、定时器/计数器、中断控制系统、时钟电路、系统总线等。   1.中央处理器(CPU)   中央处理器是AT89S51单片机的核心,完成运算和控制功能。其CPU能处理8位二进制数或代码。   2.程序存储器   程序存储器用于存放用户编写的程序、原始数据或表格,分为片内程序存储器和片外程序存储器。   AT89S51采用片内、片外统一编址的64kB(0000H~FFFFH)程序存储器地址空间。片内有4kB Flash Memery.地址范围为0000H~OFFFH.   既可在线编程(ISP),也可以用传统方法进行编程。   采用汇编语言或C语言编写的源程序,必须通过编译软件(如Keil C51)把编译生成二进制代码,即机器码。用户编写的程序、原始数据、表格等,都是以二进制的形式存放在程序存储器中的。计算机的工作,就是按照事先编好的程序从0000H地址单元一条条地循序执行的。   当AT89S51(31) 脚EA接高电平时,从片内ROM 中的0000H地址单元开始执行程序。当AT89S51(31)脚EA接低电平时,片内ROM不起作用,CPU只能从片外ROM 中取指令。   内部ROM 0000H~002AH共43个单元。被分为六段,作为程序运行的入口地址使用。其中:   0000H~0002H 为复位后或初始化引导程序地址区;0003H~000AH 外部中断0中断入口地址区;000BH~001 2H 定时器/计数器0中断入口地址区;001 3H~001 AH 外部中断1中断入口地址区;001 BH~0022H 定时器/计数器1中断入口地址区;0023H ~ 002AH 串行中断入口地址区。   通常, 我们编写程序时不得占用上述中断程序入口地址单元, 即0003H~002AH单元。也就是说, 主程序一般不放在该地址空间。编程时, 可以采用起始伪指令ORG,跳过0003H~002AH单元。   伪指令,是告诉汇编程序如何进行汇编的一类指令,不会被汇编成机器代码,只能为汇编软件(如Keil C51)所识别。   单片机复位后,是从0000H单元开始取指令执行程序的。因此,应在O000H~O002H三个单元存放一条无条件转移指令,转到主程序,程序结构如下:   ORG O00H:用伪指令ORG指示随后的指令代码从0000H地址单元开始存放。   LJMP START;在O000H~0002H存放一条长跳转指令,执行该指令,程序转到以START为语句标号的地址执行。   ORG 0030H;伪指令ORG指示随后的指令代码从0030H地址单元开始存放。   START: ;START是主程序入口地址标号,主程序开始。   ……   END ;结束伪指令,标志程序代码到此结束。   通过该程序,保留了各中断入口地址。对各个中断入口地址的使用,我们在学习中断系统时再进行介绍。   3.数据存储器(RAM )   单片机的数据存储器有片内和片外之分,AT89S51片内有256字节RAM,其中高128单元被专用寄存器占用,低128字节供用户使用,用于存放可读写的数据。片外数据存储器可扩展6kB存储空间,地址范围为0000H~FFFFH.片内和片外RAM 的地址空间各自独立, 指令MOV用于片内数据存储器之间的传送,指令MOVX用于片外数据存储器和累加器A之间的数据传送。   AT89S51内部RAM共有256字节,通常分为低128字节(地址00H~7FH)和高128字节(地址80H~FFH)两部分。低128字节,按其用途分为三个区域,如表1所示。 表1 (1)工作寄存器区   工作寄存器区有四组工作寄存器,每组8个寄存器,用于存放操作数及中间结果等。其地址为内部RAM 的00H~1FH单元地址。在任一时刻,CPU只能使用其中一组寄存器,并把正在使用的那组寄存器称为当前寄存器组,用R0~R7表示。当前使用的到底是哪一组工作寄存器,则由程序状态字寄存器PSW 得RS1、RS0位的状态组合决定,表2为工作寄存器选择。 表2 工作寄存器选择   RS1和RS0的状态可以通过指令修改,如指令:   SETB RS1 :置RS1为1   CLR RS0 ;置RS0为0   置当前工作寄存器为第2组,R0~R7的物理地址为10H~17H.   (2)位寻址区。   内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对各RAM单元的每一位进行位操作,因此,把该区又称为位寻址区。位寻址区有16字节RAM单元,共128位,位地址为00H

文档评论(0)

企管文库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档