C51单片机扩展存储器的设计
- 格式:ppt
- 大小:1.20 MB
- 文档页数:64
《C51单片机》课程标准一、课程性质本课程为智能产品开发与应用专业核心课程,目标是让学生掌握单片机系统的硬件电路组成,学会单片机系统的软件设计方法,体会真实、完整的单片机开发工作过程(硬件电路焊接、电路调试、软件编程、程序下载等)。
从而使学生能够胜任小型智能化电子产品的设计与开发岗位。
它要以《实用电工技术》、《模拟与数字电路》、《C语言程序设计》课程的学习为基础,也是进一步学习《嵌入式技术应用》、《智能产品开发与实践》课程的基础。
二、课程设计思路本课程联合采用讲授法、案例教学法、多媒体组合教学法等多种教学方式,针对该课程特点,努力走实践、理论、再实践之路,将理论学习、实践应用、产品制作有机地结合为一体,以理论教学为基础,以实践训练为重点,以掌握知识和技能为教学目标,充分发挥教与学的积极性,激发学生的学习热情,提高课堂教学效果。
三、课程目标(一)总体目标通过本课程学习,使学生能够理解单片机应用系统的组成,能够根据实际控制系统要求,合理地选择单片机并对其硬件、软件进行设计;养成良好的沟通能力;培养团队协作精神;具有安全文明的工作习惯,良好的职业道德;较强的质量意识和创新精神。
具体应具备以下能力:(二)具体目标1.专业能力学生能够掌握微型计算机的基本知识和基本概念;学生能够掌握51系列单片机的基本结构和工作原理;学生能够掌握51系列单片机I/O口的特征和使用方法;学生能够掌握51系列单片机中断的工作原理和使用方法;学生能够掌握51系列单片机定时/计数器的工作原理和使用方法;学生掌握51系列单片机C51程序设计方法;学生能够掌握51系列单片机接口扩展技术和编程方法。
2.方法能力学生具有单片机应用产品电路识图、绘图能力;学生具有单片机应用产品焊接、制作、调试、故障排除、维修能力;学生具有单片机应用产品分析能力;学生具有单片机应用产品设计能力;学生具有单片机产品C语言编程能力;学生具有单片机产品软、硬件调试能力;学生具有资料查询、收集、分析、归类应用能力;学生具有常用测量工具和测量仪器使用能力。
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存储器地址。
典型外部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位锁存器。
单片机原理及应用与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. 采用部分译码为什么会出现地址重叠情况,它对存储器容量有何影响?答:部分译码就是存储器芯片的地址线与单片机系统的地址线顺次相接后,剩余的高位地址线仅用一部分参加译码。
参加译码的地址线对于选中某一存储器芯片有一个确定的状态,而与不参加译码的地址线无关。
也可以说,只要参加译码的地址线处于对某一存储器芯片的选中状态,不参加译码的地址线的任意状态都可以选中该芯片。
第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个字节空间*/如果在变量定义时省略存储类型标志符,编译器会自动默认存储类型。