C51单片机扩展存储器的设计

合集下载

51单片机:存储器

51单片机:存储器
特殊功 能寄存器
内部 RAM 0000 H
RAM (64K )
007FH
0000 H
数据存储器
引脚接为高电平时,CPU可访问内部和外部ROM,并 且程序自片内程序存储器开始执行,PC值超出片内 ROM容量时,会自动转向片外程序存储器中的程序。 引脚接为低电平时,CPU只 能访问外部ROM,无法使 用片内程序存储器。
(3)EPROM型(Erasable Programmable ROM,可擦除可编程 ROM),其典型外观标志是芯片上有一个紫外线擦除窗口。 这种存储器编程使用一定的直流电源(如+21V电压),而 擦除则用紫外线灯光照射芯片窗口(一般需15~30分钟), 重新编程后用不透明标签将窗口贴覆遮盖住即可。 MCS-51系列单片机8751的片内ROM以及27系列存储器 芯片都属于此类产品。 (4)E2PROM型(Electrically Erasable Programmable ROM,电可擦除可编程ROM)。这种存储器可以直接用电擦 写,比较方便数据的改写,较新型只读存储器,编程速度较 快。擦除、写入和读出电压均为+5V。28系列存储器属于此 类产品。
(二) 存储器的分类
sk ROM 型 OTPROM型
ROM
半导体存储器 (Memory)
EPROM型 E2PROM型 Flash ROM型 SRAM
RAM
DRAM
(1)Mask ROM 型:掩膜ROM。其编程只能由制造商通过 半导体掩膜技术完成,用户无法改写,所以对用户而言, 它是严格意义的只读存储器。如8051中的4KB程序存储器 就是这一种,这种ROM适用于有固定程序且大批量生产的 产品中。 一次可编程ROM(One Time 型:一次可编程 (2)OTPROM型: Programmable ROM)。用户可通过专门设备对其一次性写 入程序,此后便不能改写。这种程序存储器可靠性很高, 适合于存放已调试成功的用户程序,投入规模生产,但调 试阶段不宜用。目前,国内外有很多单片机制造商提供片 内集有OTPROM的单片机产品,可供用户选择。

《C51单片机》课程标准

《C51单片机》课程标准

《C51单片机》课程标准一、课程性质本课程为智能产品开发与应用专业核心课程,目标是让学生掌握单片机系统的硬件电路组成,学会单片机系统的软件设计方法,体会真实、完整的单片机开发工作过程(硬件电路焊接、电路调试、软件编程、程序下载等)。

从而使学生能够胜任小型智能化电子产品的设计与开发岗位。

它要以《实用电工技术》、《模拟与数字电路》、《C语言程序设计》课程的学习为基础,也是进一步学习《嵌入式技术应用》、《智能产品开发与实践》课程的基础。

二、课程设计思路本课程联合采用讲授法、案例教学法、多媒体组合教学法等多种教学方式,针对该课程特点,努力走实践、理论、再实践之路,将理论学习、实践应用、产品制作有机地结合为一体,以理论教学为基础,以实践训练为重点,以掌握知识和技能为教学目标,充分发挥教与学的积极性,激发学生的学习热情,提高课堂教学效果。

三、课程目标(一)总体目标通过本课程学习,使学生能够理解单片机应用系统的组成,能够根据实际控制系统要求,合理地选择单片机并对其硬件、软件进行设计;养成良好的沟通能力;培养团队协作精神;具有安全文明的工作习惯,良好的职业道德;较强的质量意识和创新精神。

具体应具备以下能力:(二)具体目标1.专业能力学生能够掌握微型计算机的基本知识和基本概念;学生能够掌握51系列单片机的基本结构和工作原理;学生能够掌握51系列单片机I/O口的特征和使用方法;学生能够掌握51系列单片机中断的工作原理和使用方法;学生能够掌握51系列单片机定时/计数器的工作原理和使用方法;学生掌握51系列单片机C51程序设计方法;学生能够掌握51系列单片机接口扩展技术和编程方法。

2.方法能力学生具有单片机应用产品电路识图、绘图能力;学生具有单片机应用产品焊接、制作、调试、故障排除、维修能力;学生具有单片机应用产品分析能力;学生具有单片机应用产品设计能力;学生具有单片机产品C语言编程能力;学生具有单片机产品软、硬件调试能力;学生具有资料查询、收集、分析、归类应用能力;学生具有常用测量工具和测量仪器使用能力。

51单片机数据存储器结构详解

51单片机数据存储器结构详解

51单片机数据存储器结构详解1、bit是在内部数据存储空间中20H..2FH区域中一个位的地址,这在DATA的20H以后以字节形式出现,可互相参照。

另外加上8051可寻址的SFR,但刚刚试过,只是00H--7FH起作用,也就是说当数据有变化时颜色变红,以后的从80H到--FFH就不是位寻址区了,是位寻址的特殊寄存器,如涉及到了可位寻址的那11个当然会有反应。

复位后,程序计数器PC的内容为0000H,内部RAM各单元的值不确定。

各功能寄存器的复位值如下:堆栈指针SP的复位值为07H,累加器ACC、寄存器B的复位值为00H,数据指针DPTR的复位值为0000H,而p0、p1、p2、p3四个口的复位值为0FFH。

其他SFR如PSW、TCON、TMOD、TL0、TH0、TL1、TH1的复位值也为00H。

2、wave中是低128字节和高128字节(0-7FH),低128字节是片内RAM区,高128字节(80-FFH)是SFR(特殊功能寄存器)bit则是位于低128字节的20H..2FH区域,即data的20H..2FH区域3、code是在0000H..0FFFFH之间的一个代码地址。

例如:ORG5000HTAB:DB22H,3BH,43H,66H,5H,6DH,88H后,CODE从5000H开始以后变成DB各位4、data是在0到127之间的一个数据存储器地址,或者加128..255范围内的一个特殊功能寄存器(SFR)地址。

两者访问的方式不同。

实际上由于PSW的复位设置PSW.3=RS0和PSW.4=RS1皆为0,所以通用工作寄存器区就是第0区,所以data的00--07H部分是与REG栏中的R0--R7对应的。

以后的则仅代表低128字节的内部RAM。

5、idata是0to255范围内的一个idata存储器地址。

idata与data 重合低128字节,有的地方只有DATA表示256字节的片内RAM,某data 是0to65535范围内的一个某data存储器地址。

RAM和ROM

RAM和ROM

典型外部ROM和RAM器件的使用实例详解来源:开拓电子()录入: autumn1 实例功能在很多应用场合,51单片机自身的存储器和I/O口资源不能满足系统设计的需要,这时就要进行系统扩展。

在本例中,将结合片外ROM和片外RAM的典型芯片的应用,说明如何扩展单片机的数据存储器和程序存储器。

本例中3个功能模块描述如下:∙单片机系统:扩展单片机的存储器,实现片外存储器的访问。

∙外围电路:分为3个内容。

首先是用地址锁存器完成单片机系统总线的扩展,其次是扩展片外ROM器件2764,第三是扩展片外RAM6264.∙C51程序:用C51完成对片外存储器的读写。

本例目的在于希望keiltop读者在读完本例后,能完成相关的电路设计。

∙器件原理本实例中将首先介绍单片机的三总线概念和形成,随后介绍单片机弦叫线的扩展。

在单片机系统扩展时,引入片外典型存储器件,最后给出典型片外ROM和RAM的电路连接和使用方法。

2.1单片机的三总线(1)什么是单片机的三总线?单片机三总线指数据线、地址线和控制线。

单片机CPU所要处理的就是这3种不同的总线信号。

数据线:数据总线用来传送指令和数据信息。

P0口兼做数据总线DB0~DB7.地址线:用来指定数据存储单元的志趣分配信号线。

在8051系列中,提供了引脚ALE,在ALE为有效高电平,在P0口上输出的是地址信息,A7-A0。

另外,P2口可以用于输出地址高8位的A15~A8,所以对外16位地址总线由P2和P0锁存器构成。

控制线:8051系列中引脚输出控制线,如读写信号线、PSEN、ALE以及输入控制信号线,如EA、TST、T0、T1等构成了外部的控制总线。

(2)如何实现外部总线的扩展?由于单片机的输入输出引脚有限,一般的,我们采用地址锁存器进行单片机系统总线的扩展。

常用的单片机地址锁存器芯片有74LS373,图1-22所示为74LS373的引脚以及它们用作地址锁存器的连接方法。

74LS373是带三态输出的8位锁存器。

教学课件PPT 89C51单片机的C51程序设计

教学课件PPT 89C51单片机的C51程序设计

程序存储器(64K字节)
对应MOVC @DPTR访问
可位寻址片内数据存储器(16字节,128位) 允许位和字节混合访问
间接寻址片内数据存储器(256字节)
可访问片内全部RAM空间
分页寻址片外数据存储器(256字节)
对应MOVX @R0访问
4.2 C51程序设计基础
C51存储类型定义举例:
unsigned char data x,y,z; /*在内部RAM区定义了3个无符号字节型变量x,y,z*/
40M/80M/100M,而且还有很多是单周期的。
4.2 C51程序设计基础
4.2.1 C51变量/常量存储类型
C51存储类型 对应89C51单片机存储器空间
data
直接寻址片内数据存储器(128字节)
xdata
片外数据存储器(64K字节)
说明 访问速度快 对应MOVX @DPTR访问
code bdata idata pdata
序号 语句
1
=
2
if
3
表达式1 ? 表达式2 : 表达式3
4
switch/case
5
while
6
do-while
7
for
8
函数
含义 赋值语句 条件语句 条件运算符 多分支语句 循环语句 循环语句 循环语句 模块化程序设计
4.2 C51程序设计基础
表4-6 常用语句
序号 语句
1
=
2
if
3
表达式1 ? 表达式2 : 表达式3
4.3 C51程序举例
例4:把外部数据RAM中从地址2000H单元开始的100个有符号 数逐一取出,若为正数则放回原单元,若为负数则求补后放回。

单片机技术及其C51程序设计(第2版)答案解析

单片机技术及其C51程序设计(第2版)答案解析
1-3已知X、Y是两个有符号数的定点整数,它们的补码为:[X]补=00010011B,[y]补=11111001B,求[X+Y]补等于多少?
解:[X+Y]补=[X]补+[y]补=00001100B
1-4请选择正确答案填在括号中:将-33以补码形式存入8位寄存器中,寄存器中的内容为(A)
A.DFHB.A1HC.5FHD.DEH
解:
#include <reg52.h>//包含特殊功能寄存器库
#include <stdio.h>//包含I/O函数库
void main(void)//主函数
{
int a,b,c,t;//定义整型变量a,b,c,t
A.11101101B.10010011C.00010011D.10010010
1-78051与8751的区别是(C)
A.内部数据存储数目的不同B.内部数据存储器的类型不同
C.内部程序存储器的类型不同D.内部寄存器的数目不同
1-8单片机与普通计算机的不同之处在于其将(CPU)(存储器)和(I/O接口)三部分集成于一块芯片上(的单片微机)
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%d,%d,%d",c,b,a);
while(1);//结束
}
4-15用三种循环结构编写程序实现输出1到10的平方之和。
解:
1、通过while语句实现计算并输出1到10的平方之和。
#include <reg52.h>//包含特殊功能寄存器库
default:printf("error"\n)

单片机原理及应用与C51程序设计(第三版)第8章作业

单片机原理及应用与C51程序设计(第三版)第8章作业

单片机原理及应用与C51程序设计(第三版)第8章作业习题1. 什么是MCS-51单片机的最小系统?答:所谓最小系统,是指一个真正可用的单片机的最小配置系统。

对于单片机内部资源已能够满足系统需要的,可直接采用最小系统。

2. 简述半导体存储器的分类?答:半导体存储器按读写工作方式可分为两种:只读存储器ROM(Read Only Memory)和随机读写存储器RAM(Random Access Memory)。

只读存储器ROM 有MROM-掩膜型ROM, PROM-可编程ROM, EPROM-可擦除的PROM, E2PROM -电擦除的PROM, Flash Memory-快擦型存储器; 随机读写存储器RAM有静态RAM-SRAM, 动态RAM-DRAM, 非易失性RAM-NVRAM。

3. 简述存储器扩展的一般方法。

答:存储器芯片与单片机扩展连接具有共同的规律。

即不论何种存储器芯片,其引脚都呈三总线结构,与单片机连接都是三总线对接。

另外,电源线接电源线,地线接地线。

4. 什么是部分译码法?什么是全译码法?它们各有什么特点?用于形成什么信号?答:部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。

部分译码使存储器芯片的地址空间有重叠,造成系统存储器空间的浪费。

全译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线全部参加译码。

这种译码方法中存储器芯片的地址空间是唯一确定的,但译码电路要相对复杂。

译码形成存储器芯片的片选信号线CE。

5. 采用部分译码为什么会出现地址重叠情况,它对存储器容量有何影响?答:部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。

参加译码的地址线对于选中某一存储器芯片有一个确定的状态,而与不参加译码的地址线无关。

也可以说,只要参加译码的地址线处于对某一存储器芯片的选中状态,不参加译码的地址线的任意状态都可以选中该芯片。

C51程序设计(完整)

C51程序设计(完整)

第1章C51数据类型与运算1.1C51数据类型C51的数据类型如下所示:C51编译器支持的数据类型、长度和值域如下表1-1所示。

与面向数学运算的计算机相比,51单片机对变量类型或数据类型的选择更具有关键性意义。

如果在程序设计中使用大量而不必要的变量类型,这会导致C编译器调用库函数的数量,以处理大量的变量类型和数据类型。

所以必须特别慎重地进行变量和数据类型的选择。

1.2C51数据存储类型C51编译器还可以通过将变量、常量定义成不同的存储类型(data,bdata,idata,pdata,xdata,code)的方法,将它们定义在不同的存储区中。

存储类型与51单片机实际存储空间的对应关系如表1-2所示。

储区中。

片内RAM是存放临时性传递变量或使用频率较高变量的理想场所。

访问片内数据存储器(data、bdata、idata)比访问片外数据存储器(xdata、pdata)相对快一些,因此可将经常使用的变量置于片内数据存储器,而将规模较大的或不常使用的数据置于片外数据存储器中。

C51存储类型及其大小和值域如表1-3所示。

例如:表1-3 C51存储类型及其大小和值域char data var1; /*字符变量var1被定义为data存储类型,定位在片内RAM中*/bit bdata flags; /*位变量flags被定义为data存储类型,定位在片内RAM中的位寻址区*//*(20H~2FH)*/float idata x,y,z; /*浮点变量x,y,z被定义为idata存储类型,定位在片内RAM中,并只能用间接寻址的方法进行访问*/unsigned int pdata dimension; /*无符号整型变量dimension被定义为pdata存储类型,定位在片外RAM中,并用MOVX @Ri访问*/ unsigned char xdata vector[10][4][4]; /*无符号字符三维数组变量vector[10][4][4]被定义为xdata存储类型,定位在片外RAM中,占据10×4×4=160个字节空间*/如果在变量定义时省略存储类型标志符,编译器会自动默认存储类型。

No.5C51程序设计

No.5C51程序设计
指针的存放区默认 指定指针的存放区
– 指定存储区的指针
• 指定存储区的指针在指针的声明中经常包含一个 存储类型标识符指向一个确定的存储区。 • 例如: char data *str; int xdata *ptr; long code *tab;
• 指定存储区指针存放时不再像通用指针那样需 要保存存储类型,指向idata、data 、bdata 和pdata存储区的指针只需要一个字节存放, 而code和xdata指针也才需要两字节。从而减 少了指针长度,节省了存储空间。
– 如:sfr16 TL0=0x8A;
– 特殊功能寄存器中特定位的定义
• 在C51中可以利用关键字sbit定义可独立寻址访问 的位变量
• 对一般位变量的定义
– 当位变量位于内部RAM的可位寻址区(20H~2FH 单元)时,可以利用C51编译器提供的bdata存储器 类型进行访问 – 带有bdata类型的变量可以进行字节或位寻址,用 sbit指定bdata变量的相应位后就可以进行位寻址。
– 考虑存储器结构 – 正确使用片内外RAM、特殊功能寄存器 – 正确处理接口芯片收发数据 – 不需要具体组织和分配存储器资源 – 结构模块化,思路与思维相同 – 但要与单片机结构相关联,否则不能正确映射
• C程序:
• C51:
– – – –
自动完成存储单元分配(内定义) 可编制常见接口芯片通用驱动函数 可采用模块化设计应用程序 加快开发速度
var=XBYTE[0x8000]; 头文件内定义的函数 XBYTE[0x8000]=0x21;
P71
– 例如:unchared xdta xram[0x8000]_at_0x1000; //在外部RAM1000H开始定义了一个一维数组

C51单片机并行口扩展的设计与实现

C51单片机并行口扩展的设计与实现

De i n a d Re lz t n o S n lc i sg n aia i fC5 i ge h p o 1
P r l l n e f c p n e a a l t r a eEx a d d e I
GUO n—e g W ANG o, Ya f n , Ha ZHANG u Jn
维普资讯
第 2 卷 第 4期 7
20 0 7年 8 月
辽 宁 工 学 院 学 报
J u a a n n ns t eo c n o y o r l of n Li o i g I t ut fTe h ol g i
Vo .7, 4 12 No.
口。在此基础上 以实例的方法介绍了一种 C 1 5 单片机 并行 口的扩展方法 ,详述 了其原理和设计思想,以此来满足
较复杂的应用系统 的使用 。 关键词 :选通信号;并行 口:模拟信号 中图分类号 :T 3 8 P6 文献标识码 :B 文章编号:10 .0 02 0 )40 4 .2 0 519 (0 70 .220
f rC51 sng e h p wa r s n e a e n t ee a l s t rncp e a d d sgn i e r p c fe n o i lc i sp e e t d b s d o x mp e .Isp i i l e i d awe es e i d i h n i d t i s st a sy s l r omplc t da p a o s tm . ea l o a o s t f t lmo e c i i ia e p Hc t n yse i
C5 l单片机 是最 常用 的系列 ,MC 一 l系 列单 S5
片机 有 4个 I 口 (0 l 2 3口) / 0 P 、P 、P 、P ,但 对 一个

单片机原理与应用及c51程序设计谢维成

单片机原理与应用及c51程序设计谢维成

单片机原理与应用及c51程序设计谢维成下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!单片机原理与应用及C51程序设计1. 导言单片机作为嵌入式系统中的核心组成部分,在现代科技中扮演着重要的角色。

单片机c51程序设计

单片机c51程序设计

单片机c51程序设计单片机C51程序设计是一门结合了硬件知识和软件编程技能的学科,它广泛应用于自动化控制、智能设备、嵌入式系统等领域。

C51单片机是指使用C语言进行编程的8051系列单片机,它具备丰富的指令集和灵活的编程方式。

下面将从单片机的基本概念、C51编程基础、程序设计步骤以及实例分析等方面进行介绍。

单片机的基本概念单片机,又称微控制器,是一种集成了处理器核心、存储器、输入/输出接口等的微型计算机系统。

它具有体积小、功耗低、成本低、可靠性高等特点。

C51单片机是基于Intel 8051微控制器架构的,具有8位数据总线和16位地址总线,支持多种外设接口。

C51编程基础1. C语言基础:熟悉C语言的基本语法,如变量声明、条件语句、循环语句、函数等。

2. 数据类型:了解C51单片机支持的数据类型,包括特有寄存器位操作。

3. 内存结构:掌握C51单片机的内存结构,包括内部RAM、外部RAM、程序存储器等。

4. 中断系统:理解中断的概念和中断服务程序的编写。

5. 定时器/计数器:了解如何使用单片机的定时器/计数器进行时间控制和事件计数。

程序设计步骤1. 需求分析:明确程序设计的目标和功能需求。

2. 系统设计:设计系统的整体架构,包括硬件连接和软件模块划分。

3. 编写代码:根据设计编写C51程序代码,包括初始化代码、主函数、中断服务程序等。

4. 调试:使用仿真软件或实际硬件对程序进行调试,确保程序正确运行。

5. 优化:根据调试结果对程序进行优化,提高效率和稳定性。

6. 测试:进行全面的测试,确保程序在各种条件下都能稳定运行。

实例分析以一个简单的LED闪烁程序为例,介绍C51程序设计的基本流程:```c#include <reg51.h>// 定义LED连接的端口#define LED_PORT P1void delay(unsigned int ms) {unsigned int i, j;for (i = ms; i > 0; i--)for (j = 110; j > 0; j--);}void main() {while (1) {LED_PORT = 0xFF; // 关闭所有LED灯delay(500); // 延时500msLED_PORT = 0x00; // 打开所有LED灯delay(500); // 延时500ms}}```在这个例子中,我们首先包含了8051单片机的寄存器定义文件`reg51.h`,定义了LED灯连接的端口为P1。

基于C51单片机的MP3播放器设计

基于C51单片机的MP3播放器设计

基于C51单片机的MP3播放器设计一、引言随着科技的不断发展,人们对音乐的需求也越来越高。

MP3播放器作为一种便携式的音乐播放设备,已经成为人们日常生活中不可缺少的一部分。

本文将介绍一种基于C51单片机的MP3播放器设计。

二、硬件设计1.主控芯片:选择C51单片机作为主控芯片,因为它具有较低的成本、较好的性能和广泛的应用。

2.存储器:通过串口与单片机连接一个外部闪存芯片作为存储设备,用于存储MP3文件。

闪存芯片的容量可以根据需求进行选择,一般选择4GB以上的容量。

3.音频解码芯片:为了解码MP3文件并输出音频信号,需要选择一个音频解码芯片。

常用的音频解码芯片有VS10XX系列芯片,可以通过SPI接口与单片机通信。

4.音频输出电路:为了使音频信号能够输出到扬声器或耳机上,需要设计一个音频输出电路。

这个电路一般包括运放、耳机插座等组件。

5.控制界面:为了方便用户对MP3播放器的控制,需要设计一个控制界面。

可以选择使用按键、旋钮、触摸屏等方式进行控制。

6.电源电路:为了给MP3播放器提供电源,需要设计一个电源电路。

可以选择使用直流电池或者USB供电。

三、软件设计1.系统初始化:在系统启动时,需要进行一系列的初始化操作,包括初始化串口、外部存储器、音频解码芯片等。

2.文件读取:通过串口从外部存储器读取MP3文件,并将其存储到内存中。

3.解码与播放:将MP3文件解码,并通过音频解码芯片输出音频信号。

可以通过SPI接口与音频解码芯片进行通信,控制解码过程和音频输出。

4.控制界面处理:根据用户的操作,通过控制界面进行相应的处理。

例如,用户可以通过按键或旋钮控制音量、切换歌曲等。

5.电源管理:对于电源供应方面,需要设计合适的电源管理模块。

例如,在电池电量过低时,需要提醒用户充电或自动关闭设备。

6.其他功能:根据实际需求,可以添加其他功能。

例如,可以设计一个定时关闭功能,让播放器在一定时间后自动关闭。

四、总结本文介绍了一种基于C51单片机的MP3播放器设计。

C51单片机的存储器结构ppt课件

C51单片机的存储器结构ppt课件
当内部数据存储器不够用时,在单片机的总
线上可以最大扩展64K的RAM,可独立寻址,有公 用指令系统〔MOVX传送指令〕,不能用于数据的 运算及处置,所以仅有4条指令,两条读,两条写, 用于普通数据的存放,地址为0000H-FFFFH。寻 址方式采用存放器间接寻址的方式,如MOVX A , @DPTR.,指令中DPTR,开辟在特殊功能存放器 〔SFR〕中,是一个16位的数据存储器〔数据指针
图3-3 内部数据存储器构造
7FH
用户区
30H 2FH
位寻址区
20H 1FH
工作寄存 器区
00H
〔1〕任务存放器区〔00H~1FH〕
共32个单元,又分为4组,每组8个单元,都用 R0~R7表示,如图3-4所示,
1FH
R7
3组
18H
R0
17H
R7
2组
10H
R0
0FH
R7
1组
08H
R0
07H
R7
06H
3-5所示, 指令MOV A , @R0 操作表示。 可以用〔〔R0〕〕=(40H)=AAH表示。
40H 1 0 1 0 1 0 1 0 30H 2FH 20H 1FH 00H 0 1 0 0 0 0 0 0 R0
注:
★ 在存放器寻址中〔Rn〕,这4组存放器,由 用户运用中经过PSW中的RS1和RS0的设定,来确 定用户运用的组。
1000H 0FFFH
外部程序储 存器64K (ROM)
80H 7FH 内部数据
储存器
128B (SRAM) 00H
0000H
内部程序储 存器4K
(ROM)
0000H
★内部数据存储器和外部数据存储器相互之间独立编址,

单片机(C51)实验报告

单片机(C51)实验报告

实验一熟悉ADEK单片机教学实验系统一、实验目的1.熟悉 ADEK 单片机教学实验系统和仿真器的结构和功能。

2.了解如何安装 51MINI 仿真器驱动程序。

二、ADEK 单片机教学实验系统组成图 1-1 AEDK 单片机教学实验系统外观图如图 1-1 所示, ADEK-EAT598 单片机教学实验系统遵循了模块化的设计思路,有丰硕的接口,而且具有良好的扩展性,以下为组成模块和利用的要紧芯片。

1.步进电机2.直流电机3.温度操纵( DS18B20、热敏电阻 B3470)4.模数转换( ADC0809)5.串行实验区( EEPROM X25045、 AT24C08、时钟芯片 HT1380、数模转换 TLC5615、模数转换 TLC1543)6. RAM( HM62256)7. ROM( M27C512)8.地址译码( 74LS138)9.数模转换( DAC0832)10.仿真机通信口:原厂仿真器的串口通信口,这部份功能已不用。

11.串并转换( 74LS164)12.频率源( CD4020)213.扩展输出( 74LS273)14.扩展输入(74LS244)15.电源开关16.液晶显示(MSC-G12232DYEW-7N)17.语音录放(ISD1730)18.扩展通信口(D8251、HIN232)19.八位开关20.交通灯21.单脉冲(HD74LS240)22.继电器(946H-1C-5D)23.电辅音调(9012)24.蜂鸣器25.光耦(TLC521)26.电位器27.点阵显示28.PS2 接口29.并行接口(8255)30.键盘显示(8279)31.扩展实验区32.打印机接口33.单片机核心板(EAT598_31)34.带USB 接口的51MINI 仿真器三、实验内容1.熟悉整个实验箱的硬件资源。

2.利用51MINI仿真器连接电脑,在电脑的设备治理器中可找到以下图所示的COM口。

实验二Keil集成开发环境练习一、实验目的1.把握开发环境Keil的安装方式。

《单片机微型计算机原理与接口技术》第八章 80C51单片微机的系统扩展原理与接口技术

《单片机微型计算机原理与接口技术》第八章 80C51单片微机的系统扩展原理与接口技术

②开始数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线(SDA )上发生一个由高电平到低电平的变化作为起始信号(START) ,启动I2C 总线。I2C总线所有命令必须在起始信号以后进行。 ③停止数据传送 在串行时钟线(SCL)保持高电平的情况下,串行数据线 (SDA)上发生一个由低电平到高电平的变化,称为停止信号( STOP)。这时将停止I2C 总线上的数据传送。 ④数据有效性 在开始信号以后,串行时钟线(SCL)保持高电平的周期 期间,当串行数据线(SDA)稳定时.串行数据线的状态表示数 据线是有效的。需要一个时钟脉冲。 每次数据传送在起始信号(START)下启动,在停止信号 (STOP)下结束。 在I2C总线上数据传送方式有两种,主发送到从接收和从发 送到主接收。它们由起始信号(START)后的第一个字节的最低 位(即方向位R/W)决定。
①串行数据线(MISO、MOSI) 主机输入/从机输出数据线(MISO)和主机输出/ 从机输入数据线(MOSI),用于串行数据的发送和接收。 数据发送时.先传送MSB(高位),后传送LSB(低位)。 在SPI设置为主机方式时,MISO线是从机数据输入线 ,MOSI是主机数据输出线;在SPI设置为从机方式时, MISO线是从机数据输出线,MOSI是从机数据输入线。
8.1.1外部并行扩展原理
单片微机是通过芯片的引脚进行系统扩展的。 80C51系列带总线的单片微机芯片引脚可以构成图8-1所 示的三总线结构.即地址总线(AB)数据总线(DB)和控制总 线(CB)。具有总线的外部芯片都通过这三组总线进行扩展。 (1)地址总线(AB) 地址总线由单片微机P0口提供 低8位地址A0~A7,P2口提 供高8位地址A8~A15。P0口是地址总线低8位和8位数据总线复 用口,只能分时用作地址线。故P0口输出的低8位地址A0~A7必 须用锁存器锁存。 锁存器的锁存控制信号为单片微机ALE引脚输出的控制信 号。在ALE的下降沿将P0口输出的地址A0~A7锁存。P0、P2口 在系统扩展中用做地址线后便不能作为一般I/O口使用。 由于地址总线宽度为16位,故可寻址范围为64 KB。 (2)数据总线(DB) 数据总线由P0口提供,用D0~D7表示。P0口为三态双向
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/9/12
1.以P0口作为低8位地址/数据总线 AT89C51由于受引脚数目的限制,数据线和低8位地址线复用。 为了将它们分离出来,需要外加地址锁存器,从而构成与一般
CPU相类似的片外三总线,见图8-2。
2020/9/12
2020/9/12
图8-2
2. 以P2口的口线作为高位地址线 P2口的全部8位口线用作高位地址线,再加上P0口经地址锁存
1.线选法 直接利用系统的高位地址线作为存储器芯片(或I/O接口芯
片)的“片选”控制信号。为此,只需要把用到的高位 地址线与存储器芯片的“片选”端直接连接即可。 线选法的优点是电路简单,不需要另外增加地址译码器硬 件电路,体积小,成本低。 缺点是可寻址的芯片数目受到限制。 另外,地址空间不连续,每个存储单元的地址不唯一,不
(2)RD*和WR*信号作为外扩数据存储器和I/O接口的读、写选 通控制信号。
(3)ALE信号作为低8位地址的锁存控制信号。 (4)EA*信号作为内、外程序存储器的选择控制信号。 可看出,尽管89C51单片机有4个并行的I/O口,共32条口线,
但由于系统扩展的需要,真正作为数字I/O使用的,就剩 下P1口和P3口的部分口线了。
2020/9/12
为部分译码。部分译码存在着部分存储器地址空间相重叠的 情况。
两种常用的译码器芯片。 (1)74LS138 74LS138是3-8译码器,有3个数据输入端,经译码产生8种状态
。其引脚如图8-3所示,真值表如表8-1所示。 由表8-1可见,当译码器的输入为某一固定编码时,其输出仅
有一个固定的引脚输出为低电平,其余的为高电平。而输 出为低电平的引脚就作为某一存储器芯片的片选端的控制 信号。
和I/O接口芯片中的寄存器选择。地址总线是单向传输的。 (2)数据总线(Data Bus,DB) 数据总线用于在单片机与存储器之间或与I/O端口之间传送数
据。数据总线是双向的,可以进行两个方向的传送。 (3)控制总线(Control Bus,CB) 控制总线实际上就是单片机发出的各种控制信号线。 下面讨论如何构造系统三总线
一是必须选中该存储器芯片(或I/O接口芯片),这称为“片 选”,只有被“选中”的存储器芯片才能被AT89C51读出或 写入数据。为了片选的需要,每个存储器芯片都有片选信号 引脚,
二是在“片选”的基础上再选择该芯片的某一单元,称为“单 元选择”。
2020/9/12
常用的存储器地址空间分配方法有两种:线性选择法(简 称线选法)和地址译码法(简称译码法),下面分别介 绍。
如果用74LS138把64K空间全部划分为每块4KB,如何划分呢? 由于4KB空间需要12条地址线进行“单元选择”,而译码器 的输入有3条地址线(P2.6~P2.4),P2.7没有参加译码, P2.7发出的0或1决定了选择64KB存储器空间的前32KB还是后 32KB,由于P2.7没有参加译码,就不是全译码方式,这样前 后两个32KB空间就重叠了。
2020/9/12
2020/9/12
图8-3

G1 G2A* G2B*
表8-1 74LS138译码器真值表Leabharlann 入输出CBA
Y7* Y6* Y5* Y4* Y3* Y2* Y1* Y0*
2020/9/12
(2)74LS139 74LS139是双2-4译码器。两个译码器完全独立,分别有各自的
数据输入端、译码状态输出端以及数据输入允许端。其引脚 如图8-4所示,真值表如表8-2所示(见P138)。
2020/9/12
能充分有效地利用存储空间,这会给程序设计带来一些不便 ,只适用于外扩芯片数目不多的单片机系统的存储器扩展 。
2.译码法 使用译码器对89C51的高位地址进行译码,将译码器的译码输
出作为存储器芯片的片选信号。是最常用的地址空间分配 的方法,它能有效地利用存储器空间,适用于多芯片的存 储器扩展。 常用的译码器芯片有74LS138(3-8译码器)74LS139(双2-4 译码器)74LS154(4-16译码器)。若全部高位地址线都参 加译码,称为全译码;若仅部分高位地址线参加译码,称
2020/9/12
图8-4
2020/9/12
下面以74LS138为例,介绍如何进行地址分配。 例 要扩8片8KB的RAM 6264,如何通过74LS138把64KB空间分
配给各个芯片? 64KB地址空间的分配如图8-5所示。
2020/9/12
图8-5
采用全地址译码方式,单片机发地址码时,每次只能选中一个 存储单元。同类存储器间不会产生地址重叠的问题。
89C51单片机采用并行总线结构,大大增加了系统的灵活性 ,使扩展易于实现,各扩展部件只要符合总线规范,就 能很方便地接入系统。
由于系统扩展是通过总线把AT89C51与各扩展部件连接起来 。因此,要进行系统扩展首先要构造系统总线。
2020/9/12
系统总线按功能分为三组,如图8-1所示。 (1)地址总线(Adress Bus,AB) 地址总线用于传送单片机发出的地址信号,以便进行存储单元
第8章 89C51单片机扩展存储器的设计
8.1 系统扩展结构 AT89C51系统并行扩展结构如图8-1所示。
2020/9/12
图8-1
由图8-1可以看出,系统扩展主要包括存储器扩展和I/O接 口部件扩展。
外部存储器扩展又包括程序存储器扩展和数据存储器扩展 。AT89C51采用的是哈佛结构。扩展后,系统形成了两个 并行的外部存储器空间。
8.2 地址空间分配和外部地址锁存器 8.2.1 存储器地址空间分配
2020/9/12
如何把外部各自的64KB空间分配给各个程序存储器、数据存储 器芯片,并且使程序存储器的各个芯片之间,数据存储器各 芯片之间,为避免发生数据冲突,一个存储器单元对应一个 地址,这就是存储器的地址空间的分配问题。
在外扩的多片存储器芯片中,AT89C51要完成这种功能,必须 进行两种选择:
器提供的低8位地址,便形成了完整的16位地址总线(见图 8-2),使寻址范围达到64KB。 3.控制信号线 除了地址线和数据线之外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。其中包括: (1)PSEN*信号作为外扩程序存储器的读选通控制信号。
2020/9/12
相关文档
最新文档