1、51单片机SCON=0xDA,工作在方式3(方式2也可以)
串口 1 模式 3:
波特率是可变的,其它和模式2 相同
11 位数据通过TxD/P31 发送,通过RxD/P30 接收。一帧数据包含一个起始位(0),8 个数据位(低位在
先),一个可编程的第9 位,和一个停止位(1)。发送时,第9 位数据位来自特殊功能寄存器SCON 的
TB8 位接收时,第9 位进入特殊功能寄存器SCON 的RB8 位。
SMOD
串口1波特率在模式3 = ( 2 / 32 ) x BRT独立波特率发生器的溢出率
当SMOD = 0时,串口1波特率 = BRT 独立波特率发生器的溢出率 / 32,
当SMOD = 1时,串口1波特率 = BRT 独立波特率发生器的溢出率 / 16,
BRT独立波特率发生器的溢出率 = Fosc/12/( 256 - BRT ),当BRTx12 = 0时,
BRT独立波特率发生器的溢出率 = Fosc / ( 256 - BRT ),当BRTx12 = 1时
TB8:发送时校验位,可以奇校验或偶校验(直接置0或1),然后再发送。
RB8:接收时校验位,判断接数据是否正确。
2、程序
/
串口1中断
/
void RXD_Int_Service() interrupt 4
{
uint8 ch;
if(RI)
{
RI=0;
Usart1RxdDly=6; //超过03S清空计数
Usart1RxdBuf[Usart1RxdCnt]=ch;
Usart1RxdCnt++;
if(Usart1RxdCnt>=10)
{
Usart1RxdTrue=1; //接收正确。
Usart1RxdNum=Usart1RxdCnt;
Usart1RxdCnt=0;
}
}
if(TI)//防止发送中断
{
TI=0;
}
}
void Timer0_InSevice() interrupt 1
{
TH0=0xdc; //定义50ms 正常值0xfe 0x0c ,修正值:0xfe 0x16;
TL0=0x00; //110592MHz晶振
if(Usart1RxdDly)
{
Usart1RxdDly--; //03S没有接收到数据,清0计数。
if(Usart1RxdDly==0)
{
Usart1RxdCnt =0; //记数清0
}
}
}
分类: 电脑/网络 >> 硬件
解析:
内存,或内存储器,又称为主存储器,是关系到计算机运行性能高低的关键部件之一,无疑是非常重要的。为了加快系统的速度,提高系统的整体性能,我们看到,计算机中配置的内存数量越来越大,而内存的种类也越来越多。
内存新技术
计算机指令的存取时间主要取决于内存。对于现今的大多数计算机系统,内存的存取时间都是一个主要的制约系统性能提高的因素。因此在判断某一系统的性能时,就不能单凭内存数量的大小,还要看一看其所用内存的种类,工作速度。
有关内存的名词
关于内存的名词众多。为了便于读者查阅,下面集中进行介绍。
ROM:只读存储器
RAM(Random Access Memory):随机存储器
DRAM(Dynamic RAM):动态随机存储器
PM RAM(Page Mode RAM):页模式随机存储器(即普通内存)
FPM RAM(Fast Page Mode RAM):快速页模式随机存储器
EDO RAM(Extended Data Output RAM)扩充数据输出随机存储器
BEDO RAM(Burst Extended Data Output RAM):突发扩充数据输出随机存储器
SDRAM(Sychronous Dynamic RAM):同步动态随机存储器
SRAM(Static RAM):静态随机存储器
Async SRAM(Asynchronous Static RAM):异步静态随机存储器
Sync Burst SRAM(Synchronous Burst Stacic RAM):同步突发静态随机存储器
PB SRAM(Pipelined Burst SRAM):管道(流水线)突发静态随机存储器
Cache:高速缓存
L2 Cache(Level 2 Cache):二级高速缓存(通常由SRAM组成)
VRAM(Video RAM):视频随机存储器
CVRAM(Cached Vedio RAM):缓存型视频随机存储器
SVRAM(Synchronous VRAM):同步视频随机存储器
CDRAM(Cached DRAM):缓存型动态随机存储器
EDRAM(Enhanced DRAM):增强型动态随机存储器
各种内存及技术特点
DRAM 动态随机存储器
DRAM主要用作主存储器。长期以来,我们所用的动态随机存储器都是PM RAM,稍晚些的为FPM RAM。为了跟上CPU越来越快的速度,一些新类型的主存储器被研制出来。它们是EDO RAM、BEDO RAM、SDRAM等。
DRAM芯片设计得象一个二进制位的矩阵,每一个位有一个行地址一个列地址。内存控制器要给出芯片地址才能从芯片中读出指定位的数据。一个标明为70ns的芯片要用70ns的时间读出一个位的数据。并且还要用额外的时间从CPU得到地址信息设置下一条指令。芯片制作技术的不断进步使这种处理效率越来越高。
FPM RAM 快速页模式随机存储器
这里的所谓“页”,指的是DRAM芯片中存储阵列上的2048位片断。FPM RAM是最早的随机存储器,在过去一直是主流PC机的标准配置,以前我们在谈论内存速度时所说的“杠7”,“杠6”,指的即是其存取时间为70ns,60ns。60ns的FPM RAM可用于总线速度为66MHz(兆赫兹)的奔腾系统(CPU主频为100,133,166和200MHz)。
快速页模式的内存常用于视频卡,通常我们也叫它“DRAM”。其中一种经过特殊设计的内存的存取时间仅为48ns,这时我们就叫它VRAM。这种经过特殊设计的内存具有“双口”,其中一个端口可直接被CPU存取,而另一个端口可独立地被RAM“直接存取通道”存取,这样存储器的“直接存取通道”不必等待CPU完成存取就可同时工作,从而比一般的DRAM要快些。
EDO RAM 扩充数据输出随机存储器
在DRAM芯片之中,除存储单元之外,还有一些附加逻辑电路,现在,人们已注意到RAM芯片的附加逻辑电路,通过增加少量的额外逻辑电路,可以提高在单位时间内的数据流量,即所谓的增加带宽。EDO正是在这个方面作出的尝试。扩展数据输出(Extended data outEDO,有时也称为超页模式hyper-page-mode)DRAM,和突发式EDO(Bust EDO-BEDO)DRAM是两种基于页模式内存的内存技术。EDO大约1996年被引入主流PC机,从那以后成为许多系统厂商的主要内存选择。BEDO相对更新一些,对市场的吸引还未能达到EDO的水平。
EDO的工作方式颇类似于FPM DRAM,EDO还具有比FPM DRAM更快的理想化突发式读周期时钟安排。这使得在66MHz总线上从DRAM中读取一组由四个元素组成的数据块时能节省3个时钟周期。
BEDO RAM 突发扩充数据输出随机存储器
BEDO RAM,就像其名字一样,是在一个“突发动作”中读取数据,这就是说在提供了内存地址后,CPU假定其后的数据地址,并自动把它们预取出来。这样,在读下三个数据中的每一个数据时,只用仅仅一个时钟周期,CPU能够以突发模式读数据(采用52ns BEDO和66MHz总线),这种方式下指令的传送速度就大大提高,处理器的指令队列就能有效地填满。现今这种RAM只被VIA芯片组580VP,590VP,860VP支持。这种真正快速的BEDO RAM也是有缺陷的,这就是它无法与频率高于66MHz的总线相匹配。
SDRAM 同步动态随机存储器
SDRAM 可以说是最有前途的一种内部存储器,当前这种RAM很受欢迎。目前市面上的绝大多数奔腾级主板和Pentium Ⅱ主板都支持这种内存。就像这种内存的名字所表明的,这种RAM可以使所有的输入输出信号保持与系统时钟同步。而在不久以前,这只有SRAM 才能办到。
SDRAM与系统时钟同步,采用管道处理方式,当指定一个特定的地址,SDRAM就可读出多个数据,即实现突发传送。
具体来说,第一步,指定地址;第二步,把数据从存储地址传到输出电路;第三步,输出数据到外部。关键是以上三个步骤是各自独立进行的,且与CPU同步,而以往的内存只有从头到尾执行完这三个步骤才能输出数据。这就是SDRAM高速的秘诀。SDRAM的读写周期为10至15ns。
SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据的同时,另一个已准备好读写数据。通过两个存储阵列的紧密切换,读取效率得到成倍提高。1996年推出的SDRAM最高速度可达100MHz,与中档Pentium同步,存储时间短达5~8ns,可将Pentium系统性能提高140%,与Pentium 100、133、166等每一档次只能提高性能百分之几十的CPU相比,换用SDRAM似乎是更明智的升级策略。目前市场上的奔腾级以上的主板几乎都支持SDRAM。
SDRAM不仅可用作主存,在显示卡专用内存方面也有广泛应用。对显示卡来说,数据带宽越宽,同时处理的数据就越多,显示的信息就越多,显示质量也就越高。以前用一种可同时进行读写的双端口视频内存(VRAM)来提高带宽,但这种内存成本高,应用受到很大限制。因此在一般显示卡上,廉价的DRAM和高效的EDO DRAM应用很广。但随着64位显示卡的上市,带宽已扩大到EDO DRAM所能达到的带宽的极限,要达到更高的1600×1200的分辨率,而又尽量降低成本,就只能采用频率达66MHz、高带宽的SDRAM了。
SDRAM也将应用于共享内存结构(UMA),一种集成主存和显示内存的结构。这种结构在很大程度上降低了系统成本,因为许多高性能显示卡价格高昂,就是因为其专用显示内存成本极高,而UMA技术将利用主存作显示内存,不再需要增加专门显示内存,因而降低了成本。
SRAM Statu RAM 静态随机存储器
按产生时间和工作方式来分,静态随机存储器也分为异步和同步。在一定的纳米制造技术下,SRAM容量比其他类型内存低,这是因为SRAM需要用更多的晶体管存储一个位(bit),因而造价也贵得多。静态随机存储器多用于二级高速缓存(Level 2 Cache)。
1 Async SRAM 异步静态随机存储器
自从第一个带有二级高速缓存(Cache)的386计算机出现以来,这种老型号的属于“Cache RAM(缓存型随机存储器)”类型的内存就开始应用了。异步静态随机存储器比DRAM快些,并依赖于CPU的时钟,其存取速度有12ns、15ns和18ns三种,值越小,表示存取数据的速度越快。但在存取数据时,它还没有快到能够与CPU保持同步,CPU必须等待以匹配其速度。
2 Sync Burst SRAM同步突发静态随机存储器
在计算机界存在这样的争论:Sync Burst SRAM 和FB SRAM 谁更快些?诚然,在总线速度为66MHz的系统上,Sync Burst SRAM确实是最快的,但当总线速度超过66MHz时(比如Cyrix公司的6x86p200+型号),Sync burst SRAM就超负荷了,大大低于PB SRAM 传输速度。因此用现行的Pentium主板(总线速度为66MHz),我们应该采用Sync Burst SRAM,这样效率最高、速度最快。但目前的问题是:生产支持Sync Burst SRAM的主板供应商很少,所以能支持Sync Burst SRAM的主板的价格都很高。
3 PB SRAM 管道突发静态随机存储器
管道(Pipeline,或流水线)的意思是:通过使用输入输出寄存器,一个SRAM可以形成像“管道”那样的数据流水线传输模式。在装载填充寄存器时,虽然需要一个额外的启动周期,但寄存器一经装载,就可产生这样的作用:在用现行的地址提供数据的同时能提前存取下一地址。在总线速度为75MHz和高于75MHz时,这种内存是最快的缓存型随机存储器(Cache RAM)。实际上,PB SRAM可以匹配总线速度高达133MHz的系统。同时,在较慢的系统中,PB SRAM也并不比Sync Burst SRAM慢多少。
应用PB SRAM,可达到45到8ns的“地址-数据”时间。
L2 Cache 二级高速缓存
现今解决CPU与主内存之间的速度匹配的主要方法是在CPU与DRAM间加上基于SRAM的二级高速缓存,这种内存系统可以承担85%的内存请求,而不需CPU增加额外的等待周期。
在用DOS、Windows31、Windows32和WFW311(Windows for Workgroups)作为主要的 *** 作系统时,确实没有必要设置高于256KB的L2 Cache。但自从Windows95 *** 作系统推出以来,经测试,在系统的RAM只有16MB时,设置512KB的缓存比256KB的缓存更能大大提高系统的性能。
再者,应用多媒体软件日益普遍,而以前的系统不能缓存大多数图形和视频信息,这使得CPU不断地与速度较慢的主内存打交道,降低了系统的性能,而增加CPU的二级高速缓存就能解决这个问题。
目前,人们越来越倾向应用32位的 *** 作系统。在多任务的 *** 作系统中,增加L2 Cache直到2MB都具有实际意义,能够增强系统性能,这是因为应用程序越来越大,并且越来越多的程序在同一时间运行,当CPU在多任务之间切换时,如果Cache没有足够大的空间来装入所有被执行代码,就必须从速度非常慢的主内存器获得它所需的信息,多任务 *** 作系统就不能充分发挥其作用。因此,在应用现代的 *** 作系统时,在系统装入512KB的L2 Cachee是计算机系统发展的需要。
基于以下特点,Sync Burst SRAM比Async SRAM更适合作二级高速缓存:
(1)同步于系统时钟
(2)突发能力
(3)管道能力
以上这些特点使得微处理器在存取连续内存位置时用同步SRMA比异步SRAM更快。目前,有些RAM供应商提供的33V异步的SRAM的“时钟到数据时间”(clock-to-data指开始加入时钟脉冲到数据输出的时间)为15ns,而采用类似技术的同步SRAM的“时钟到数据时间”甚至不到6ns。
随着总线速度的增加,性能价格比最佳点的SRAM技术是从异步到同步,再到管道同步的。
但目前只有少数供应商能提供采用同步的SRAM,所以在系统性能不是非常重要时,设计者在总线速度为50MHz到66MHz时采用“管道同步”技术的内存是一种明智的选择。
有些内存设计方案把Cache、DRAM、SRAM结合起来,如CDRAM、EDRAM、CVRAM、SVRAM、EDO SRAM、EDO VRAM。也有些内存设计方案在存储器中增加了一些内置式微处理器,如智能RAM(Smart RAM)、3D RAM(用于3维视频信号处理的RAM)、RDRAM(Rambus DRAM)、WRAM(Windows RAM,一种采用双端口内存视频加速技术的内存)。内存的多样性可见一斑,不一而论。
快闪存储器,快擦写存储器和铁电体随机存储器
快闪存储器是1983年推出的电可擦非易失性半导体存储器,它采用一种非挥发性存储技术,即若不对其施加大电压进行擦除,可一直保持其状态,在不加电状态下可安全保存信息长达十年;它也具有固态电子学特性,即没有可移动部件,抗震性能好;同时,它具有优越的性能,它的存取时间仅为30ns。与以往的电可擦存储器EEPROM相比,快闪存储器的最大差别是采用了块可擦除的阵列结构,这种结构不仅使其有了快的擦除速度,而且具有了像EEPROM那样的单管结构的高密度,由此带来了低的制造成本和小的体积。快闪存储器兼有了ROM和RAM二者的性能及高密度,是目前为数不多的同时具备大容量、高速度、非易失性、可在线擦写特性的存储器。
快闪存储器多用于系统的BIOS、Modem(调制解调器)和一些网络设备(Hub、路由器)。
铁电体随机存储器也采用非挥发性存储技术,在生产中使用了铁氧体,它优越于快闪存储器的特点是其经过多次写 *** 作后性能不退化,而快闪存储器存在退化问题。这使得铁电体随机存储器更具有广阔的前景。
各种内存条及技术特点
目前市场上计算机产品升级频繁。CPU已进入奔腾时代,与此同时,内存系列产品的技术与性能也逐渐更新提高。
内存条的格式分30线、72线和168线。当今流行的内存条有EDO和SDRAM。现在的Pentium级以上的计算机在设计上均支持EDO和SDRAM内存条。
衡量内存条技术的一个重要指标是DRAM芯片的存取时间,常见的有60ns、70ns、80ns,数值越小,速度越快。
SIMM内存条
SIMM内存条的全称为单列存储器模块,是一块装有3~36片DRAM的电路板。早期PC机的主存储器采用的是双列直插封装(DIP)的DRAM芯片,因其安装位置较大,不便于扩展,故现在普遍采用SIMM内存条,安装一条SIMM相当于安装原来的9片DIP型DRAM芯片。目前在SIMM内存条集成的多为EDO/FPM内存,其主要参数有:
1引脚数
SIMM内存条上的引脚,俗称为“金手指”。使用时,内存条引脚数必须与主板上SIMM槽口的针数相匹配。SIMM槽口有30针、72针两种,相对应内存条的引脚有30线和72线两种。在72针系统中,有奇偶校验使用36位的内存条,无奇偶校验使用32位的内存条;在30针的普通系统中,有奇偶校验使用9位的内存条,无奇偶校验则使用8位的内存条。目前30针的SIMM内存条已被淘汰。
2容量
30线内存条常见容量有256KB、1MB和4MB。72线内存条常见容量有4MB、8MB、16MB和32MB。30针引脚系统中,8位或9位内存条的数据宽度为8位,286、386SX、486SX CPU数据宽度为16位,因此必须成对使用;386DX、486DX CPU数据宽度为32位,因此必须4条一组使用。72针引脚系统中,32位或36位内存条的数据宽度为32位,适用于386DX、486DX和Pentium(586)微机,可以单条或成对使用。
3速率
内存条的一个重要性能指标是速率,以纳秒(ns)表示,代表系统给予内存在无错情况下作出反应的时间。一般有60ns、70ns、80ns、120ns等几种,相应在内存条上标有“-6”、“-7”、“-8”、“-12”等字样。这个数值越小,表示内存条速度越快。只有当内存与主板速度相匹配时才能发挥最大效率。
4奇偶校验
微机要求内存有奇偶校验,但没有奇偶校验也能运行。奇偶校验需要额外的内存芯片。选购内存条时常会听到2片、3片、真3片、假3片、8片、9片等说法,这是指内存条是否带奇偶校验。2片和8片内存条肯定不带奇偶校验;3片和9片内存条应该带奇偶校验,但有些生产厂商为了谋取更高利润,将坏的芯片作为奇偶校验,被称为假3片或假9片,假3片或假9片一般能正常使用,只是制造成本低。鉴别内存是否带奇偶校验比较简单,装好内存开机后执行BIOS SETUP程序,选择允许奇偶校验,如果机器可正常引导,则说明内存带奇偶校验,如果屏幕出现奇偶校验错的提示后死机,则说明内存不带奇偶校验。
DIMM内存条
在内存条模块生产技术上,新型的168线DIMM内存条模块为当今最流行的内存条,如下图所示。DIMM是指双在线模块,它与早期的SIMM单在线模块有着很大区别。
它使内存条在长度增加不多的情况下将模块的总线宽度增加一倍。DIMM技术的另一个优点是能够制作非常小的32位模块。这就是所谓的SODIMM。它的尺寸仅是72针的SIMM模块的一半,因此许多笔记本电脑制造商均采用SODIMM作为内存条的标准模式。
其实,无论是内存条技术的革新还是内存条模块的改造,最终目的还是适应
广大电脑用户的多层次需求。世界著名的内存条生产厂商金士顿(Kingston)公司在其产品的生产上强调了专业性与针对性,根据每一种不同的系统进行特别设计。今后的市场是技术与服务并重的市场,优秀的技术革新与优质的服务保障会使计算机用户收益无穷。
奇偶校验是收发两端配合使用的。自己觉得奇校验还是偶校验
如奇校验:
发送:
void Send_B(uchar i)
{
bit j;
uchar k;
for(k=8;k!=0;k--)j|=_crol_(i,1); //累加8位
if(j)TB8=0; //1为奇数个 则校验位0 总1为奇数个
else TB8=1; //如果是偶校验则反过来
SBUF=i;
while(TI);TI=0; //等待9位发完
}
接受端口我想你应该知道怎么做了。
多给点分,呵呵,我第一次这么详细的回答。
呵呵,在这两条指令的前后,你各忽略了一条指令。请看下列程序及说明:
MOV A, #待发数据 ;数据进了A,即刻生成校验位P
MOV C, P
MOV TB8, C ;校验位送到TB8
MOV SBUF, A ;发送数据,以及P
上述写法,是偶校验。奇校验,需要增加一条取反指令,如下:
MOV C, P
CPL C
MOV TB8, C ;校验位送到TB8
就这些。
以上就是关于STC单片机 串口通信 奇偶校验全部的内容,包括:STC单片机 串口通信 奇偶校验、电脑的内存是怎么讲的、奇偶校验,51 串口,以下是我的程序,不知道怎么把奇偶校验加进去,谁帮我把程序加下,非常感谢了!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)