#微机 #基础知识 #补码 #进制
首先介绍一下微处理器(Microprocessor,简称μP)、微型计算机(Microcomputer,简
称微机,μC)和单片机(Single-ChipMicrocomputer)的概念。 微处理器(芯片)本身不是计算机,但它是小型计算机或微型计算机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了包括微处理器(作为它的中央处理单元CPU——CentralProcessingUnit)外, 还包括存储器、接口适配器(即输入/输出接口电路)以及输入/输出(I/O)设备等。图1–1所示为微机的各组成部分。其中,微处理器由控制器、运算器和若干个寄存器组成;I/O设备与微处理器的连接需要通过接口适配器(即I/O接口);存储器是指微机内部的存储器(RAM、ROM和EPROM等芯片)。
![[XQ12@%4}_Z7KG[(~~}C946W.jpg]]
将微处理器、一定容量的RAM和ROM以及I/O口定时器等电路集成在一块芯片上,构成单片微型计算机,简称单片机。
### 1.1.1 微处理器(机)的组成
微处理器包括两个主要部分;运算器和控制器。
图1-2所示是一个较详细的由微处理器、存储器和I/O接口组成的计算机模型。为了简化,在CPU中只画出了主要的寄存器和控制电路,并且假设所有的计数器、寄存器和总线都是8位(bit)宽度,即要求多数主要寄存器和存储器能保存8位数据,传送数据的总线由8根并行导线组成。
![[XH`MN{YK{E9O~Z~D(@(D%AG_tmb.jpg|300]]
在计算机术语中,数据单元是一组二进制数,是计算机中使用的基本信息单元。它可以作为数据,也可以是计算机完成某操作的一条指令码,还可以是ASCⅡ码字符等。
在8位微处理器中,数据单元由1字节(Byte)组成;在16位机中,数据单元由2字节组成。图1-3表示了组成计算机数据单元的位数。
**1.运算器**
运算器由运算部件——算术逻辑单元(Arithmetic&LogicalUnit,简称ALU)、 累加器和寄存器等几部分组成。ALU的作用是把传送到微处理器的数据进行算术或逻辑运算。ALU具有两个主要的输入来源:一个来自累加器,另一个来自数据寄存器。ALU能够完成这两个输入数据的相加或相减运算,也能够完成某些逻辑运算。ALU执行不同的运算操作是由不同控制线上的信号(在图1–2方框图上的标志为C)所确定的。
![[A`S~L4}GE)6BO1T9ERQ3DYK_tmb.jpg|300]]
通常,ALU接收来自累加器和数据寄存器的两个8位二进制数。因为要对这些数据进行某些操作,所以将这两个输入的数据均称为操作数。ALU可对两个操作数进行加、减、与、或和比较大小等操作,最后将结果存入累加器。例如,两个数7和9相加,在相加之前,操作数9放在累加器中,7放在数据寄存器中,执行两数相加运算的控制线发出“加”操作信号,ALU即把两个数相加,并把所得结果16存入累加器,取代累加器原来存放的数9。总之,运算器有两个主要功能:
- 执行各种算术运算;
- 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。通常,一个算术操作产生一个运算结果,而一个逻辑操作产生一个判决。
**2.控制器**
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个计算机系统的操作。控制器的主要功能有:
●从内存中取出一条指令,并指出下一条指令在内存中的位置;
●对指令进行译码或测试,并产生相应的操作控制信号,以便执行规定的动作,比如一次内存读/写操作、一个算术/逻辑运算操作或一个输入/输出操作等;
●指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。相对控制器而言,运算器接收控制器的命令而进行操作,即运算器所执行的全部操作都是由控制器发出的控制信号来指挥的。ALU、计数器、寄存器和控制器除在微处理器内通过内部总线相互联系外,还通过外部总线与外部的存储器和输入/输出接口电路联系。外部总线一般分为数据总线DB、地址总线AB和控制总线CB,统称为系统总线。存储器包括RAM和ROM。 微型计算机通过输入/输出接口电路可与各种外围设备连接。
3. **CPU中的主要寄存器**
1)累加器(A)
累加器是微处理器中最忙碌的寄存器。在算术和逻辑运算时,它具有双重功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。
2)数据寄存器(DR)
数据(缓冲)寄存器是通过数据总线向存储器和输入/输出设备送(写)或取(读) 数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等。
3)指令寄存器(IR)及指令译码器(ID)
指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器中,然后再传送到指令寄存器(图1-2中未画出)。指令分为操作码和地址码字段,由二进制数字组成。为执行给定的指令,必须对操作码进行译码,以便确定所要求的操作。指令译码器就是负责这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。
4)程序计数器(PC)
为了保证程序能够连续地执行下去,CPU必须采取某些手段来确定下一条指令的地址。程序计数器正是起到了这种作用,所以通常又称其为指令地址计数器。在程序开始执行前,必须将其起始地址,即程序第1条指令所在的内存单元地址送入PC;当执行指令时,CPU将自动修改PC的内容,使之总是指示出将要执行的下一条指令的地址。由于大多数指令都是按顺序执行的,所以修改的过程通常只是简单的加1操作。
5)地址寄存器(AR)
地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存和CPU之间存在着速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。显而易见,当CPU与存储器进行信息交换(即CPU从RAM存/取数据,或者CPU从ROM中读出指令)时,都要使用地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看待,那么,当CPU和外围设备交换信息时,也需要使用地址寄存器和数据寄存器。
### 1.1.2储存器和输入输出接口
1.存储器
如图1-4所示,假设某台微型计算机使用256字节的8位随机存储器(RAM) 与CPU交换数据,经常把这种规格的存储器称作256×8位读/写存储器。
![[@8]DBS3T6B7S1_P(]I{({HG_tmb.jpg|300]]
两根8位总线和若干控制线把存储器和微处理器(机)连接起来。地址总线将一组8位二进制数==(能表示256个单元)从CPU送到存储器的地址译码器。每个存储单元被赋予一个唯一的地址,规定第一单元地址为0,最后一单元的地址为255(用二进制表示为11111111B,用十六进制表示为FFH)==。在地址总线上,通过8位地址线选择指定的单元。地址译码器的输出可以唯一确定被选择的存储单元。存储器还从CPU接收控制信号,从而确定存储器执行何种操作。“读”信号表明要读出被选单元的内容,并将数据放到数据总线上,由总线送到CPU。“写”信号表明要把数据总线上的数据写入指定的存储单元中。
2. I/O接口及外设
从图1﹣2可以看到,I/O接口与地址总线、数据总线的连接同存储器一样,而每
个外部设备与微处理器的连接必须经过接口适配器(I/O接口)。每个I/O接口及其
对应的外部设备都有一个固定的地址,在CPU的控制下实现对外部设备的输入
(读)和输出(写)操作。
## 1.2 微机的工作过程
计算机采取“存储程序”的工作方式,即事先把程序加载到计算机的存储器中,当启动运行后,计算机便自动进行工作。计算器虽然也有运算和控制的功能,但它不是“存储程序”式的自动工作方式,所以不能称为计算机。
任何计算机都有它的指令系统,有十几条至一百多条指令,并有若干种寻址方式。我们假设图1-2所示的模型计算机有4条指令,并只有一种寻址方式——直接寻址方式,模型机的指令及其说明如表1-1所列。
![[_}6Z@M1@~NCA4)4QMIMQ0PX_tmb.jpg]]
寻址方式是指用什么方法寻找指令的操作数。上述4条指令除HLT外,LDA、ADD和STA都有操作数。 直接寻址方式的指令格式如图1-5 所示。
![[V7]851CO668(Z9EB$RJAMZW_tmb.jpg]]
图1-5 直接寻址方式的指令格式
指令中应有一部分数位(8位,即1字节)用于指明所执行的特定操作,这部分(图1-5中的第1字节)称为操作码。该模型机的操作有数据传送(LDA)、相加(ADD)、送存(STA)和停机(HLT)4种。它们的操作码如表1–1所列。
指令中还应有一部分数位(图1-5中的第2字节)用于说明被操作的数据来自什么地方,这一部分叫操作数的地址。
![[%U7_K)GW$[7%NO$IAX0}N48_tmb.jpg]]
在这种寻址方式中,==一条指令(如LDA、ADD和STA)需要2个字节:第1个字节是操作码,第2==
==个字节不是操作数,而是存放操作数的内存单元的地址==。例如:
```
LDA 23 ;将地址数为23的内存单元中的内容7
;装入累加器A中。23为操作数的地址
```
在图1-6所示的内存单元23中存放的7为操作数。执行上述指令后就将7装入累加器A中。
### 1.2.1 执行一条指令的顺序
计算机执行程序是一条指令一条指令执行的。执行一条指令的过程可分为两个阶段,如图1-7所示。
![[$[NB_$N`5_EQD$3BZFGER(4_tmb.jpg]]
在计算机中,“存储程序”第1条指令的第1个字节一定是操作码。这样,CPU首先进入取指阶段,从存储器中取出指令并通过CPU译码后,转入执行指令阶段,在这期间,CPU执行指令指定的操作。取指阶段是由一系列相同的操作组成的,因此,取指阶段的时间总是相同的。而执行指令的阶段是由不同的事件顺序组成的,它取决于被执行指令的类型。执行完一条指令后接着执行下一条指令。所以,程序的执行顺序是取指→执指→取指→执指……如此反复,直至程序结束。
### 1.2.2 执行一条指令的过程
指令“LDA 23”的执行过程是怎样的呢?这是一条直接寻址方式的指令,执行的过程如图1-8所示。
LDA指令的指令周期由3个CPU周期(即机器周期)组成。其中,第1个CPU周期为取指令阶段;执行指令阶段由2个CPU周期组成,第2个CPU周期中将操作数的地址送往地址寄存器并完成地址译码,在第3个CPU周期中,从内存取出操作数并执行装入的操作。
![[BQK0WPV8ZN0$Y5AIWWCWHX6_tmb.jpg]]
### 1.2.3 执行一个程序的过程
采用直接寻址方式,执行一个“7+10”的程序实例如表1-2所列。
的存储单元中。地址16和17存放第1条指令“LDA23”,执行第1条指令的过程如图1-9所示。
![[Q6Q3L8L_$T6KIO~3XN)83YF_tmb.jpg|300]]
计算机启动运行后,PC中的地址即为16,将16送地址寄存器,接着16被放入地址总线上,找到操作码地址00010000B(16),PC自动加1为17,做好取下一字节的准备;取出“LDA23”的操作码10010110B放入数据总线;操作码经数据总线装入数据寄存器,因为是操作码,所以还需要装入指令译码器进行指令译码,得到“装入”的操作。此时,PC中的内容已是17,地址17送入地址寄存器并放到地址总线,找到操作码地址23,PC又自动加1,做好取第2条指令“ADD24”的准备,如图1–10所示。
![[FQFB79Z7YX8]LMVVP~}UD9F_tmb.jpg|300]]
找到操作数地址23后,因为是直接寻址,取出23单元中的操作数7放到数据总线上,再装入数据寄存器中,经数据寄存器将操作数7装入累加器,如图1–11所示。
![[J7_40)DD@MYBC0$O)05FRPR_tmb.jpg|300]]
至此,第1条指令“LDA23”执行完毕。
第2、3条指令也是直接寻址方式,执行的过程与第1条类似,这里不再详述。最
后一条指令HLT为固有寻址,无操作数,取出译码结果后执行停机操作,这个程序
就执行完了。
## 1.3 常用数制和编码
计算机是用于处理数字信息的,单片机也是如此。各种数据及非数据信息在进
入计算机前必须转换成二进制数或二进制编码。下面介绍计算机中常用数制和编码
以及数据在计算机中的表示方法。
### 1.3.1 数制及数制间转换
1.数制——计数的进位制
单片机中常用的有3种数制:二进制、十进制和十六进制。其中只有二进制是计算机能直接处理的;但是二进制数表达过于繁杂,所以引入十六进制数;十进制是人们最熟悉的数制。这3种数制在单片机中都是经常使用的。
1)十进制(Decimal,用D表示)
如果用α表示一个十进制数字,那么一个含有n位整数、m位小数的十进制数的
通用表示式是:
N=αₙ ₋₁×10ⁿ⁻¹+αₙ ₋₂×10ⁿ⁻²+…+α₀×10⁰+α₋₁×10⁻¹+…+α-m×10⁻ᵐ
2)二进制数(Binary,用B表示)
以2为基数的数制叫二进位计数制,计算机中采用的是二进制数。它只包括两
个符号,即0和1。在一个二进制数中,前一位的权是后一位的两倍,即逢二进一。
对于整数,从右往左各位的权是1,2,4,8,16,32,…;对于小数,从左往右各位的权是¹/₂,¹/₄,¹/₈,¹/₁₆,¹/₃₂,…。把十进制表示式中的10都换为2,就得到二进制式中:αᵢ是0或1,具体取值由N决定。例如,二进制数10101101.1011B(Binary)
表示的十进制数值是:
1×2⁷+0×2⁶+1×2⁵+0×2⁴+1×2³+1×2²+0×2¹+1×2⁰+1×2⁻¹+
0×2⁻²+1×2⁻³+1×2⁻⁴=128+32+8+4+1+0.5+0.125+0.0625=173.6875
日常生活中人们习惯于十进位计数制,所以感到二进位计数制很不方便,那么电子计算机为什么还采用二进位计数制呢?因为目前研究与应用最成熟的是具有两个稳定状态和记忆功能的电子电路,使用二进制能够很方便、直观地表示出机器中双稳态电路的两个稳定并可相互变换的物理状态;反过来,一个双稳态电路的0或1两个状态可以用来表示一位二进制数,几个电子器件就可以代表一组多位二进制数。
3)十六进制数(Hexadecimal,用H表示)
尽管用二进制数表示计算机中的信息很方便,但为了便于书写和阅读,经常采用十六进制,即在计数时,逢十六进一。这样,书写的长度非常短,且可很方便地将十六进制数转换为二进制数或将二进制数转换为十六进制数。大部分计算机所处理的数据位长都是4的整数倍(如4位、8位、16位、32位等),所以计算机经常采用十六进制。它有以下3个基本特征:
●具有十六个数字符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;
●逢十六进一; 一位十六进制数可用4位二进制数表示,它们之间存在直接而又唯一对应的
关系。例如:0011B=3H,1010B=AH(H表示十六进制数)。这样,一个位数较多的二进制数可以用位数较少的十六进制数来书写,既简单,又易于转换。再如: (0101101010110111)₂═(5AB7)₁₆=5AB7H。
==若十六进制数最高位是A~F中的符号之一,则应在前边加0,说明是数字而不是文字,如十六进制数A7CEH应写成0A7CEH。====
2.不同数制之间的转换
在使用计算机的过程中,经常需要在二进制、十进制和十六进制之间进行相]
转换。
1)二进制→十进制
(1)二进制→十进制
把二进制数转换为相应的十进制数,只要将二进制中出现1的数位权相加即可
整数和小数的位权如图1-12所示。
![[$``ZWMV}I8`@5YON5WLY7KQ_tmb.jpg]]
例如,把二进制数1010转换成相应的十进制数。因为1010是整数,也就是说,
小数点在该数的右边。==最右边的一位称最低位(LSB),它的位权最小,为2°=1。最==
==左边的一位称为最高位(MSB),因为在确定数值时,它表示的位权最大。==在这个例
子中,它的位权是2³=8。要得到总的数值,需把二进制出现1的位权值相加,即2³
与2¹相加,得到的十进数是10。
二进制数 1 0 1 0
位权值 2³ 2² 2¹ 2⁰
十进制数 8+0+2+0=10
为了进一步说明这个转换过程,我们再举一例,把二进制数101101.11转换成相
应的十进制数:
二进制数
1 0 1 1 0 1 1 1
位权值
2⁵ 2⁴ 2³ 2² 2¹ 2⁰ 2⁻¹ 2⁻²
十进制数
32+0+8+4+0+1+0.5+0.25=45.75
(2)十进制→二进制
把一个十进制的整数依次除以所需要的底数,就能够转换成不同底数的数。例
如,为了把十进制的数转换成相应的二进制数,只要把十进制数依次除以2并记下
每次所得的余数(余数总是1或0),所得的余数倒向排列即为相应的二进制数。这
种方法称为“除2取余”法。
![[23(WF]5~%61W5K4L0D7M14N_tmb.jpg]]
2)十六进制→十进制
(1)十六进制→十进制
同样也是按权展开后求和。例如:
2BEH=2×16²+11×16¹+14×16⁰=702D
(2)十进制→十六进制
与十进制数转换为二进制数时类似,也分整数和小数两部分进行。
整数部分采用“除16取余”法。
【例4-3】 将十进制数156转换为十六进制数。
![[5QCYOZO$[JNBBP`81[O{WMO_tmb.jpg]]
小数部分采用“乘16取整”法。
【例1-4】 将十进制数0.359375转换为十六进制数。
解: 0.359375×16=5.75 ……整数为5←MSB
0.75×16=12.0 ……整数为12←LSB
所以,0.359375=0.5CH。
综上两例,得: 156.359375D=9C.5CH
另外,十进制数转换为十六进制数时也可将十进制数先转换为二进制数,再将二
进制数转换为十六进制数。
3)十六进制→二进制
(1)二进制→十六进制
十六进制数的每一位都与4位二进制数相对应,要将二进制数转换为十六进制
数,首先从低位开始,把数分成4位一组,然后将每4位一组转换成相应的十六进
制数。 现将二进制数10101101101转换成十六进制数。
10101101101B
改写为:
MSB LSB
0101 0110 1101
得到10101101101B=56DH。
二进制数由LSB开始分成4位一组,第3组只有3位,必须在MSB左边增加一个0,而它的二进制数值仍然不变;然后将每4位一组转换成相应的十六进制数。注意:给二进制整数加0时,0必须加在MSB的左边。 用同样的方法也能将二进制小数转换成十六进制小数,只是二进制各位必须从 小数点右边MSB开始分成4位一组。例如,将二进制小数0.01011011转换成十六
进制数。
0.01011011B
改写为:
![[(QB_P)_6)Q4EWQFZ@F7C)YY.jpg]]
### 1.3.2 计算机中常用编码
由于计算机只能识别0和1两种状态,因而计算机处理的任何信息必须以二进
制形式表示。这些二进制形式的代码即为二进制编码(Encode)。计算机中常用的
二进制编码有BCD码和ASCII码等。
1. **BCD(BinaryCodedDecimal)码——二-十进制码**
BCD码是一种二进制形式的十进制码,也称二-十进制码。它用4位二进制数
表示1位十进制数,最常用的是8421BCD码,见表1-4。
![[9~VA@AJHPT~V`KI[JJZE7PL.jpg]]
8421BCD码用0000H~1001H代表十进制数0~9,运算法则是逢十进一。
8421BCD码每位的权分别是8,4,2,1,故得此名。
例如,1649的BCD码为0001011001001001。
2. ASCII(AmericanStandardCodeforInformationInterchange)码
ASCII码是一种字符编码,是美国信息交换标准代码的简称,见表1-5。它由7
位二进制数码构成,共有128个字符。
![[M]@181Y])(W~0W9A[3_K875_tmb.jpg]]
ASCII码主要用于微机与外设通信。当微机与ASCII码制的键盘、打印机及CRT等连用时,均以ASCⅡ码形式进行数据传输。例如,当按微机的某一键时,键盘
中的单片机便将所按的键码转换成ASCII码传入微机进行相应处理。
## 1.4 数据在计算机中的表示
8位单片机处理的是8位二进制数。8位二进制数又分成有符号数和无符号数两种。
## 1.4.1 有符号数
有符号的8位二进制数用最高位D7表示数的正或负,0代表“+”,1代表“-”,
D7称为符号位,D6~D0为数值位。
![[JJRBJV9E6KC23SXWSBBR)56_tmb 1.jpg]]
上述的8位带符号二进制数又有3种不同表达形式,即原码、反码和补码。在计算机中,所有有符号数都是以补码形式存放的。
1.原 码
一个二进制数,用最高位表示数的符号,其后各位表示数值本身,这种表示方法
称为原码。原码的表示范围是-127~+127,例如,
`X=+1011010B[X]原=01011010B;X=-1011010B[X]原=11011010B ``
2.反 码
正数的反码与原码相同。符号位一定为0,其余位为数值位。 负数的反码符号位为1,数值位将其原码的数值位逐位求反。
反码的表示范围是-127~+127,例如,
`X=-1011010B [X]原=11011010B [X]反=10100101B ``
3.补 码
正数的补码与原码相同。
负数的补码符号位为1,数值位将其原码的数值位逐位求反后加1,即负数的反码加1。
补码的表示范围是-128~+127,例如,
`X=-1011010B [X]补=10100110B ``
通常计算机中的数用补码表示,用补码进行运算。一个很明显的优点是减法可以用补码的加法来运算。
这里还要特别提示“溢出”的概念。溢出与进位不同,溢出是指有符号数的运算结果超出了数—128~+127的表示范围,破坏了符号位。
4.机器数与真值
机器数:计算机中以二进制形式表示的数。
真值:机器数所代表的数值。
例如,机器数10001010B,它的真值为
138(无符号数)
-10(原码)
—117(反码)
—118(补码)
【例1-5】 怎样根据真值求补码,或根据补码求真值?
答:只有两种求补码的方法:一是求负数的补码,用绝对值“取反加1”来求补
码;二是求负数(补码)的真值,可先将该补码用“取反加1”的方法得到其绝对值,再
在绝对值前添加一负号。
## 1.4.2 无符号数
无符号的8位二进制数没有符号位,D7~D0皆为数值位,所以8位无符号二进
制数的表示范围是0~255。
8位二进制数码的不同表达含义见表1-6。
![[ETWI}(KP3%IG{]4KH~7}0KO_tmb.jpg]]
![[9N[6PZQ)PAOEJ$S_$WXO~`B_tmb.jpg]]
## 1.5 89C51/S51单片机
Intel公司继1976年推出MCS-48系列8位单片机之后,又于1980年推出了 MCS-51系列高档8位单片机。至今30多年来,51系列单片机经久不衰,并得到了极其广泛的应用。近些年来,世界上很多大的半导体公司都生产以8051为内核的单片机,如ATMEL/NXP/SST公司的AT89/P89/STC89系列和AT87/P87系列单片机,越来越多地得到广泛应用。
51系列单片机有多种型号的产品,如普通型(51子系列)80C51、80C31、87C51 和89C51等,增强型(52子系列)80C32、80C52、87C52和89C52等。它们的结构基本相同,其主要差别反映在存储器的配置上。80C31片内没有程序存储器,80C51内部设有4KB的掩膜ROM程序存储器。87C51是将80C51片内的ROM换成EPROM,89C51则换成4KB的闪速E²PROM。51增强型的程序存储器容量为普通型的2倍。通常以8×C51代表这一系列的单片机,89系列单片机已经在片内增加4KB或8KB的FlashROM,而且整个89C51/ 89C52芯片比87C51便宜得多。所以现在已经没有人使用80C31或87C51开发产品了。
单片机是典型的嵌入式系统,从体系结构到指令系统都是按照嵌入式应用特专门设计的,能最好地满足面对控制对象、应用系统的嵌入、现场的可靠运行以及凡的控制品质要求。因此,单片机是发展最快、品种最多、数量最大的嵌入式系统。 嵌入式系统与单片机已深入到国民经济众多技术领域,从天上到地下,从军事工业到家庭日常生活。在人类进入信息时代的今天,难以想象,没有单片机的世界会怎样!
本教程以ATMEL、NXP和SST等公司的89系列单片机中的AT89C5: P89C51/SST89E554(以下简称为89C51/S51)为典型机,讲述单片机的硬件结构、 原理、接口技术、编程及其应用技术。舍弃80C31扩展EPROM的传统模式,而依据标任务选择所需不同档次(片内不同存储器容量)的89系列单片机。89S51单片; 片内还增加了硬件看门狗,进行系统设计时更加方便。
### 1.5.1_AT89C51/S51系列单片机
ATMEL公司推出了AT89C和AT89S两大系列产品。其中,AT89C系列为-
期产品,常见型号及其技术指标如表1-7所列。AT89S系列为新型产品,常见型-
及其技术指标如表1-8所列。
A'T89C系列单片机属常规类型,只能用通用编程器进行编辑,不能进行下载编程,AT89S系列单片机主要特点是具有ISP功能,也就是说,对AT89S芯片进行编程时,不需要将芯片从目标板上取下,只需用一根下载线即可对AT89S单片机进行
下载编程。
![[YO~$T$%H6DRE%0O%C9A{3@5_tmb.jpg]]
### 1.5.2STC89系列单片机
STC公司生产的STC89系列单片机,是51单片机的派生产品,它在指令系统、
硬件结构和片内资源上与标准51单片机完全兼容;STC89系列单片机具有高速度、
低功耗、在系统编程(ISP)、在应用编程(IAP)等优异功能,大大提高了51单片机的
性能,性价比极高。常用STC89系列单片机主要技术指标如表1-9所列。
![[]%O1IWYWF2J[0[J$]7I`A4F_tmb.jpg]]
### 1.5.3SST89系列单片机
SST89系列单片机是美国SST公司推出的Flash单片机,均具有IAP(在应用
编程)和ISP(在系统编程)功能,最大的特点在于,只需占用单片机的串口,即可实现
在线仿真功能。
典型SST89系列单片机主要技术指标如表1-10所列。
![[BW`_F%J}B(]M%T_U9Q%WEJ1_tmb.jpg]]
|