A. 学单片机最重要的知识点是什么
如果你是考试的话
应该是下面几点:
寻址方式(需要认识其寻址方式,并能区分与其它指令的特点)
指令的使用(一般是读一段程序,问寄存器中的内容)
定时器的使用(初始值计算,寄存器的初始化)
外部存储器扩展(知道各个端口的连线,会计算初始地址及片外寻址范围)
LED扩展(知道LED的原理,编程实现一个显示的输出,要知道他的接线方式及对应的显示代码)
键盘扩展(知道键盘的输入原理,程序阅读,初始化编程)
数模转换(连线设计,地址范围计算,初始化编程)
如果你是设计个东西的话
你要会写程序,会使用KeilC,Proteus等软件。
因为程序需要多次调试。
目前我想到的就这么多,希望可以帮到你。
B. 单片机的定义
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
C. 单片机有什么特征
单片机具有以下特点:
1、有优异的性能价格比
目前国内市场上,有些单片机的芯片只有人民币几元,加上少量外围元件,就能构成一台功能相当丰富的智能化控制装置。
2、集成度高,体积小,可靠性好
单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。而且,由于单片机体积小,易于采取电磁屏蔽或密封措施,适合于在恶劣环境下工作。
3、控制能力强
单片机指令丰富,能充分满足。工业控制的各种要求。
4、低功耗,低电压,便于生产便携式产品。
5、易扩展
可根据需要并行或串行扩展,构成各种不同应用规模的计算机控制系统。
(3)单片机的五个知识点扩展阅读
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1、在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
2、在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3、在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
4、在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5、单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6、在各种大型电器中的模块化应用
某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
D. 51单片机中断/定时器/计数器
89C51/52的中断系统有5个中断源 ,2个优先级,可实现二级中断嵌套 。
1、(P3.2)可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。
2、(P3.3)可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。
3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。
4、TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。
5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。
IE寄存器:
中断允许控制寄存器分为两层结构,第一级结构为中断允许总控制EA,只有当EA处于中断允许状态,中断源中断请求才能够得到允许;当EA处于不允许状态时,无论IE寄存器中其他位处于什么状态,中断源中断请求都不会得到允许。第二级结构为5个中断允许控制位,分别对应5个中断源的中断请求,当对应中断允许控制位为1时,中断源中断请求得到允许。
EX0:外部中断0允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。当EX0=1( SETB EX0 )时,同时单片机P3.2引脚上出现中断信号时,单片机中断主程序的执行而“飞”往中断服务子程序,执行完后通过中断返回指令RET 动返回主程序。当EX0=0( CLR EX0)时,即使单片机P3.2引脚上出现中断信程序也不会从主程序“飞” 出去执行,因为此时单片机的CPU相当于被“堵上了耳朵”,根本接收不到P3.2引脚上的中断信号,但是这并不表示这个信号不存在。如果单片机的CPU有空查一下TCON中的IE0位,若为1就说明有中断信号出现过。
ET0:T0溢出中断允许位。ET0=1,允许T0中断;ET0=0,禁止T0中断。
EX1:外部中断1允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。当EX1=1( SETB EX1)时,并且外部P3.3引脚上出现中断信号时,单片机CPU会中断主程序而去执行相应的中断服务子程序;当EX1=0( CLR EX1)时使外部P3.3引脚上即使出现中断信号,单片机的CPU也不能中断主程序转而去行中断服务子程序。 [3] 因此,可以这样认为,EX0和EX1是决定CPU能否感觉到外部引脚P3.2P3.3上的中断信号的控制位。
ET1:T1溢出中断允许位。ET1=1,允许T1中断;ET1=0,禁止T1中断。
ES:串行中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。
EA:中断总允许位。EA=1,CPU开放中断;EA=0,CPU禁止所有的中断请求。总允许EA好比一个总开关。EA就相当于每家水管的总闸,如果总闸不开,各个龙头即使开了也不会有水;反过来,如果总闸开了而各个分闸没开也不会有水,所当我们想让P3.2和P3.3引脚上的信号能够中断主程序则必须将EA位设置为0(CLR EA)。
TCON寄存器:
各位的标识如下:
TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置1,并且申请中断,进入中断服务程序,有硬件自动清0 ,在查询方式下用软件清0.
TR1:定时器运行控制位,TR1置1是开启定时器1,TR1置0时关闭定时器1.
TF0:定时器0溢出标志位。当定时器0计满溢出时,由硬件使TF0置1,并且申请中断,进入中断服务程序,有硬件自动清0 ,在查询方式下用软件清0.
TR0:定时器运行控制位,TR0置1是开启定时器0,TR0置0时关闭定时器0.
IE1:外部中断1请求标志位。
IT1:外部中断1触发方式选择位。当IT1置0时,为低电平触发;当IT1置1时,为下降沿触发。
IE0:外部中断0请求标志位。
IT0:外部中断0触发方式选择位。当IT0置0时,为低电平触发;当IT0置1时,为下降沿触发。
51单片机外部中断响应条件:
1、中断源有中断请求;
2、中断源的中断允许位为1(设置IE寄存器相关位);
3、CPU开中断(设置IE寄存器开中断,即EA=1)
CPU时序的有关知识:
振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期)
状态周期:2个振荡周期为1个状态周期,用S表示。
机器周期:1个机器周期含6个状态周期,12个振荡周期。
指令周期:完成1条指令所占用的全部时间,它以机器周期为单位。
定时器的其他知识点:
1、51单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。
2、定时器/计数器和单片机的CPU是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU的参与。
3、51单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器中的数据加1。
4、有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加1的工作可以交给定时器/计数器处理。CPU转而处理一些复杂的事情。同时可以实现精确定时作用。
与定时器/计数器有关的寄存器:
1、TMOD寄存器
2、TCON寄存器
3、IE寄存器
4、THx/TL寄存器
工作方式寄存器TMOD:
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:
M1M0:工作方式设置位。定时/计数器有四种工作方式。一般我们厅方式1和方式2:
控制寄存器TCON:
TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:
TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。
TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。
TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。
TR0(TCON.4):T0运行控制位,其功能与TR1类同。
IE中断开关寄存器:
用于开启cpu中断和对应的中断位。
THx和TL定时/计数存储寄存器:
THx存储高8位数据,TLx存储低8位数据。
定时器/计算器初值计数公式:
计数个数与计数初值的关系为:X=2^n-N
N是需要计数的值;n与设置定时器/计数器的工作方式有关(可能为8、13、16);X是需要设置在THx和TLx的初值。
使用定时器/计算器的初始化流程:
1、对TMOD赋值,以确定T0和T1的工作方式。
2、计算初值,并将其写入TH0、TL0或TH1、TL1。
3、中断方式选择,则对EA赋值,开放定时器中断。
4、使TR0或TR1置位,启动定时/计数器定时或计数。
E. 51单片机内部包含哪些主要功能部件他们的作用是什么
MCS-51单片机是在一块芯片中集成了 CPU、 RAM、 ROM、定时器/ 计数器和多种功能的I/O接口等一台计算机所需要的基本功能部件。
F. 51单片机内部包含哪些主要功能部件各功能部件的主要作用是什么
部件、功能如下:
运算器 :由算术逻辑单元 ALU、累加器ACC、B寄存器、两个暂存寄存器、程序状态寄存器组成 PSW ; 8 位,可以进行算术云算(加,减,乘,除,乘除运算与寄存器 B 有关)、逻辑运算及移位运算等。
控制器:由指令寄存器 IR 、指令译码器 ID 、定时及控制逻辑电路、程序计数器 PC 组成,使单片机的运行控制中心。 PC 的结构与功能: 16 位的程序寄存器,控制程序的执行。 IR , ID 的功能;
ROM : 4KB ,地址 0000H--0FFFH (使用时)
RAM : 128B ,地址 00H--7FH 三、 8051 的 I/O 端口电路四、定时器 / 计数器: 2 个 16 位的定时器 / 计数器 五、中断控制系统: 5 个中断源,其中两个外部中断、两个定时 / 计数器中断、 1 个串行口中断。
G. AT89S51单片机的内部资源有哪些,分别是怎么使用的
单片机对于初学者来说确实很难理解,不少学过单片机的同学或电子爱好者,甚至在毕业时仍旧是一无所获。基于此,电子发烧友网将整合《单片机关键知识点全攻略》,共分为四个系列,以飨读者,敬请期待!此系列对于业内电子工程师也有收藏和参考价值。
单片机关键知识点一览:
系列一
点击浏览下一页1:单片机简叙
点击浏览下一页2:单片机引脚介绍
点击浏览下一页3:单片机存储器结构
点击浏览下一页4:第一个单片机小程序
点击浏览下一页5:单片机延时程序分析
点击浏览下一页6:单片机并行口结构
点击浏览下一页7:单片机的特殊功能寄存器
系列二
点击浏览下一页8:单片机寻址方式与指令系统
点击浏览下一页9:单片机数据传递类指令
点击浏览下一页10:单片机数据传送类指令
点击浏览下一页11:单片机算术运算指令
点击浏览下一页12:单片机逻辑运算类指令
点击浏览下一页13:单片机逻辑与或异或指令祥解
点击浏览下一页14:单片机条件转移指令
系列三
点击浏览下一页15:单片机位操作指令
点击浏览下一页16:单片机定时器与计数器
点击浏览下一页17:单片机定时器/计数器的方式
点击浏览下一页18:单片机的中断系统
点击浏览下一页19:单片机定时器、中断试验
点击浏览下一页20:单片机定时/计数器实验
点击浏览下一页21:单片机串行口介绍
系列四
点击浏览下一页22:单片机串行口通信程序设计
点击浏览下一页23:LED数码管静态显示接口与编
点击浏览下一页24:动态扫描显示接口电路及程序
点击浏览下一页25:单片机键盘接口程序设计
点击浏览下一页26:单片机矩阵式键盘接口技术及
点击浏览下一页27:关于单片机的一些基本概念
点击浏览下一页28:实际案例实践——单片机音乐程序设计
1:单片机简叙
什么是单片机 一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。
2:单片机引脚介绍
点击浏览下一页
单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈ 电源:
⑴ VCC - 芯片电源,接+5V;
⑵ VSS - 接地端;
⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,
⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲
① ALE功能:用来锁存P0口送出的低8位地址
② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋ I/O线
80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。
1、 电源:这当然是必不可少的了。单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、 振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、 复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、 EA管脚:EA管脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。(见图1,其中R1是限流电阻)
按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不能由我们来更改。
点击浏览下一页
图1
名字有了,我们又怎样让它变‘高’或变‘低’呢?叫人做事,说一声就能,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。让一个管脚输出高电平的指令是SETB,让一个管脚输出低电平的指令是CLR。因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写 CLR P1.0就能了。
现在我们已经有办法让计算机去将P10输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。要解决这个问题,还得有几步要走。第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。计算机能懂什么呢?它只懂一样东西——数字。因此我们得把SETB P1.0变为(D2H,90H ),把CLR P1.0变为 (C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具“编程器”。如果你还不知道是什么是编程器,我来介绍一下,就是把你在电脑上写出来来的代码用汇编器等编译器生成的一个目标烧写到单片机的eprom里面去的工具,80c51这种类型的单片机编程是一件很麻烦的事情,必要要先装到编程器上编程后才能在设备上使用,而目前最新的89s51单片机居然在线编程(isp)功能,不用拔出来利用简单的电路就可以实现把代码写入单片机内部,本站有详细的at89s51编程器制作教程
我们将编程器与电脑连好,运行编程器的软件,然后在编缉区内写入(D2H,90H)见图2,
点击浏览下一页
图2
写入……好,拿下片子,把片子插入做好的电路板,接通电源……什么?灯不亮?这就对了,因为我们写进去的指令就是让P10输出高电平,灯当然不亮,要是亮就错了。现在我们再拨下这块芯片,重新放回到编程器上,将编缉区的内容改为(C2H,90H),也就是CLR P1.0,写片,拿下片子,把片子插进电路板,接电,好,灯亮了。因为我们写入的()就是让P10输出低电平的指令。这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就能改变电路的输出效果。
3:单片机存储器结构
单片机内部存储结构分析
我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即ROM(READ ONLY MEMORY)。为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在89C51中的ROM是一种电可擦除的ROM,称为FLASH ROM,刚才我们是用的编程器,在特殊的条件下由外部设备对ROM进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为ROM。
数的本质和物理现象:我们知道,计算机能进行数学运算,这可令我们非常的难以理解,计算机吗,我们虽不了解它的组成,但它总只是一些电子元器件,怎么能进行数学运算呢?我们做数学题如37+45是这样做的,先在纸上写37,然后在下面写45,然后大脑运算,最后写出结果,运算的原材料:37、45和结果:82都是写在纸上的,计算机中又是放在什么地方呢?为了解决这个问题,先让我们做一个实验:这里有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们能用’0’和’1’来代替这两种状态,规定亮为’1’,不亮为’0’。现在放上两盏灯,一共有几种状态呢?我们列表来看一下:
请大家自已写上3盏灯的情况000 001 010 011 100 101 110 111
我们来看,这个000,001,101 不就是我们学过的的二进制数吗?本来,灯的亮和灭只是一种物理现象,可当我们把它们按一按的次序排更好后,灯的亮和灭就代表了数字了。让我们再抽象一步,灯为什么会亮呢?看电路1,是因为输出电路输出高电平,给灯通了电。因此,灯亮和灭就能用电路的输出是高电平还是低电平来替代了。这样,数字就和电平的高、低联系上了。(请想一下,我们还看到过什么样的类似的例程呢?(海军之)灯语、旗语,电报,甚至红、绿灯)
什么是位:
通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,能代表两种状态:0和1。实际上这就是一个二进制位,因此我们就把一根线称之为一“位”,用BIT表示。
什么是字节:
一根线能表于0和1,两根线能表达00,01,10,11四种状态,也就是能表于0到3,而三根能表达0-7,计算机中常常用8根线放在一起,同时计数,就能表过到0-255一共256种状态。这8根线或者8位就称之为一个字节(BYTE)。不要问我为什么是8根而不是其它数,因为我也不知道。(计算机世界是一本人造的世界,不是自然界,很多事情你无法问为什么,只能说:它是一种规定,大家在以后的学习过程中也要注意这个问题)
存储器的工作原理:
1、存储器构造
存储器就是用来存放数据的地方。它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘的吗。
点击浏览下一页
图2
点击浏览下一页
图3
让我们看图2。单片机里面都有这样的存储器,这是一个存储器的示意图:一个存储器就象一个个的小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放“电荷”的,电荷通过与它相连的电线传进来或释放掉,至于电荷在小格子里是怎样存的,就不用我们操心了,你能把电线想象成水管,小格子里的电荷就象是水,那就好理解了。存储器中的每个小抽屉就是一个放数据的地方,我们称之为一个“单元”。
有了这么一个构造,我们就能开始存放数据了,想要放进一个数据12,也就是00001100,我们只要把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了(看图3)。可是问题出来了,看图2,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的,因此,要在结构上稍作变化,看图2,在每个单元上有个控制线,我想要把数据放进哪个单元,就给一个信号这个单元的控制线,这个控制线就把开关打开,这样电荷就能自由流动了,而其它单元控制线上没有信号,所以开关不打开,不会受到影响,这样,只要控制不一样单元的控制线,就能向各单元写入不一样的数据了,同样,如果要某个单元中取数据,也只要打开对应的控制开关就行了。
2、存储器译码
那么,我们怎样来控制各个单元的控制线呢?这个还不简单,把每个单元元的控制线都引到集成电路的外面不就行了吗?事情可没那么简单,一片27512存储器中有65536个单元,把每根线都引出来,这个集成电路就得有6万多个脚?不行,怎么办?要想法减少线的数量。我们有一种办法称这为译码,简单介绍一下:一根线能代表2种状态,2根线能代表4种状态,3根线能代表几种,256种状态又需要几根线代表?8种,8根线,所以65536种状态我们只需要16根线就能代表了。
点击浏览下一页
3、存储器的选片及总线的概念
至此,译码的问题解决了,让我们再来关注另外一个问题。送入每个单元的八根线是用从什么地方来的呢?它就是从计算机上接过来的,一般地,这八根线除了接一个存储器之外,还要接其它的器件,如图4所示。这样问题就出来了,这八根线既然不是存储器和计算机之间专用的,如果总是将某个单元接在这八根线上,就不好了,比如这个存储器单元中的数值是0FFH另一个存储器的单元是00H,那么这根线到底是处于高电平,还是低电平?岂非要打架看谁历害了?所以我们要让它们分离。办法当然很简单,当外面的线接到集成电路的管脚进来后,不直接接到各单元去,中间再加一组开关(参考图4 )就行了。平时我们让开关关闭着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关接通就行了。这组开关由三根引线选择:读控制端、写控制端和片选端。要将数据写入片中,先选中该片,然后发出写信号,开关就合上了,并将传过来的数据(电荷)写入片中。如果要读,先选中该片,然后发出读信号,开关合上,数据就被送出去了。注意图4,读和写信号同时还接入到另一个存储器,但是由于片选端不一样,所以虽有读或写信号,但没有片选信号,所以另一个存储器不会“误会”而开门,造成冲突。那么会不一样时选中两片芯片呢?只要是设计好的系统就不会,因为它是由计算控制的,而不是我们人来控制的,如果真的出现同时出现选中两片的情况,那就是电路出了故障了,这不在我们的讨论之列。