第 10章 具有 51内核的 8位单片机简介第 10章 具有 51内核的 8位单片机简介
10.1 AT89C系列单片机
10.2 8XC51系列单片机
10.3 8XC552系列单片机第 10章 具有 51内核的 8位单片机简介
10.1 AT89C系列单片机
10.1.1 AT89C2051主要性能
( 1) 与 MCS - 51兼容 ;
( 2) 内部带 2 KB可编程闪速存储器 ;
( 3) 寿命为 1 000次擦 /写循环 ;
( 4) 数据保留时间为 10年 ;
( 5) 工作电压范围为 2.7 V~6 V;
( 6) 全静态工作频率为 0 Hz~24 Hz;
第 10章 具有 51内核的 8位单片机简介
( 7) 两级程序存储器锁定 ;
( 8) 128× 8位内部 RAM;
( 9) 15条可编程 I/O线 ;
( 10) 2个 16位定时器 /计数器 ;
( 11) 5个两级中断源 ;
( 12)可编程全双工串行 UART通道 ;
( 13)直接对 LED驱动输出 ;
( 14)片内精确的模拟比较器 ;
( 15)片内振荡器和时钟电路 ;
( 16)低功耗的休眠和掉电模式。
第 10章 具有 51内核的 8位单片机简介
10.1.2 AT89C2051内部结构及引脚描述图
10.
1AT
89C
51
内部结构第 10章 具有 51内核的 8位单片机简介图 10.2 AT89C2051引脚配置第 10章 具有 51内核的 8位单片机简介表 10.1 P3口特殊功能第 10章 具有 51内核的 8位单片机简介
10.1.3 特殊功能寄存器 SFR
表
10.
2AT
89C
20
51
的SFR
第 10章 具有 51内核的 8位单片机简介
10.1.4 程序存储器的加密表 10.3 3种锁定位保护模式第 10章 具有 51内核的 8位单片机简介
10.1.5 低功耗工作方式
1) 待机方式 ( 休眠方式 )
当利用软件使待机方式位 IDL( PCON.0) =0时,单片机进入空闲方式 。 此时,CPU处于休眠状态,而片内所有其它外围设备都保持工作状态,片内 RAM和所有特殊功能寄存器内容保持不变 。
在待机方式下,当晶振 fOSC=12 MHz,电源电压 VCC=6 V时,
电源电流 ICC从 20 mA降至 5 mA; 而 VCC=3 V时,ICC由 5.5 mA降至 1 mA。
中断或硬件复位可以终止待机方式。
第 10章 具有 51内核的 8位单片机简介当待机方式由硬件复位终止时,CPU要从休眠处恢复程序的执行,执行 2个机器周期后,内部复位电路才起作用 。
此时,硬件禁止访问内部 RAM,但允许访问端口引脚 。 为了防止休眠被复位终止时对端口引脚意外写入的可能性,在生成待机方式的指令后不应紧跟对端口引脚的写指令 。
如果不采用外部上拉,P1.0和 P1.1应置,0”; 如果采用外部上拉,则应置,1”。
第 10章 具有 51内核的 8位单片机简介
2)
掉电方式由掉电方式位 PD( PCON.1) =1设置 。 此时,振荡器停止工作,设置掉电方式的指令成为最后执行的一条指令,
片内 RAM和特殊功能寄存器内容保持不变 。
在掉电方式下,VCCmin=2V。 当 VCC=6V时,ICCmax=100 μA; 当
VCC=3 V时,ICCmax=20 μA。
退出掉电方式的唯一方式是硬件复位 。
硬件复位将重新定义特殊功能寄存器,但不影响片内 RAM。
复位的保持时间应足够长,以便振荡器能重新开始工作并稳定下来 。 在 VCC没有恢复到正常工作电压之前,不应进行复位 。
如果不采用外部上拉,P1.0和 P1.1应置,0”,否则置,1”。
第 10章 具有 51内核的 8位单片机简介
10.1.6 闪速存储器的编程图 10.3 编程闪速存储器第 10章 具有 51内核的 8位单片机简介图 10.4 闪速存储器编程和校验时序第 10章 具有 51内核的 8位单片机简介表 10.4 5种编程模式第 10章 具有 51内核的 8位单片机简介一,编程 ( 写代码数据 )
AT 89C2051编程按下述步骤进行,
( 1) 上电过程,VCC加电,置 RST为,L”( 低电平 ),
XTAL1为,L”,其它所有引脚悬空,等待 10 ms以上 ;
(2) 置 RST为,H”( 高电平 ),P3.2为,H”;
(3) 在引脚 P3.3,P3.4,P3.5,P3.7上施加相应的逻辑电平,选定基本编程模式 ;
第 10章 具有 51内核的 8位单片机简介
(4) 地址信号由内部地址计数器提供 ( 初始值为 000H),
欲写入该地址中的数据加至引脚 P1.0~ P1.7上 ;
(5) 将 RST电平升至 12 V启动编程 ;
(6) 给 P3.2施加一负脉冲,则编程内部存储器阵列或锁定位的 1个字节,字节写周期采用自定时,通常为 1.2 ms;
(7) 若要校验已编程数据,将 RST从 12V降至逻辑电平
,H”,并置引脚 P3.3~ P3.7为校验模式电平,输出数据即可在
P1口读取 ;
(8) 编程下一个地址字节,对 XTAL1施加一正脉冲,内部地址计数器加 1,然后在 P1口上加载欲写入的新数据 ;
第 10章 具有 51内核的 8位单片机简介
(9) 重复步骤 ( 5) ~ ( 8),改变数据,递增地址计数器直到 2 KB存储阵列全部编程或目标文件结束 ;
(10) 下电过程,置 XTAL1为,L”,RST为,L”,其它 I/O
引脚悬空,VCC下电 。 当前次编程未结束时,不允许开始下一次编程 。 如何确定一次编程操作是否结束,AT 89C2051提供了以下两种方法 。
第 10章 具有 51内核的 8位单片机简介
1,数据查询特性
AT 89C2051具有通过数据查询来检测写周期结束的特性 。
在写期间,读操作将导致 P1.7输出写入数据的补码,一旦写完成,所有输出将出现真实数据,这时可开始下一数据编程 。
利用这一特性,可以在启动某一次编程后不断地查询写入数据,直到查询的数据为真实数据时,就可判定写周期已结束 。
第 10章 具有 51内核的 8位单片机简介
2,准备好 /
在编程期间,引脚 P3.3(RDY/BSY)提供了编程状态 。
当引脚 P3.2(PROG)电平升高后,引脚 P3.1电平下降,表示
BUSY,编程结束后 P3.1电平抬高,表示 READY( 见图 10.4
所示时序 ) 。 利用查询该状态信息便可确定编程的结束 。
第 10章 具有 51内核的 8位单片机简介二,校验(读代码数据)
图 10.5 校验闪速存储器第 10章 具有 51内核的 8位单片机简介
(1) 使 RST从,L”变为,H”,地址计数器复位 000H;
(2) 提供适当的控制信号 ( 见图 10.4所示时序 ),从 P1
口读取数据与编程写入数据作比较 ;
(3) 给 XTAL1施加正脉冲,地址计数器加 1;
(4) 从 P1口读 1个代码数据与编程写入数据作比较 ;
(5)重复步骤( 3)、( 4),直至整个存储阵列校验完毕。
第 10章 具有 51内核的 8位单片机简介三,写锁定位写锁定位完成对闪速存储器加密 。
按前述编程模式表操作,先选择写锁定位模式,然后将
RST升至 12 V,P3.2施加编程脉冲,即可将锁定位写入 ( 改变模式选择 P3.3,P3.4,P3.5,P3.7的输入组合来实现锁定位 LB1,LB2的写入 ) 。 不能直接校验锁定位,要通过观察其持性是否被允许来完成 。
第 10章 具有 51内核的 8位单片机简介四,芯片擦除当编程模式选择为芯片擦除模式并使 P3.2引脚上施加 10 ms的 PROG脉冲后,整个闪速存储器 ( 2 KB) 和 2个锁定位即可被擦除 。 擦除后,存储器阵列全为 FFH。
第 10章 具有 51内核的 8位单片机简介五,
特征字节表示 AT 89C系列芯片的基本特性,由 3或 4字节组成,存储于程序存储区的低端 。 AT 89C2051芯片的特征字节位于地址 000H,001H,002H中,当选择读特征字节模式 ( P3.3=P3.4=P3.5=P3.7=“L”)并采用类似校验步骤读取数据时,即可获得 AT 89C2051芯片的特征字,
( 000H) =1EH表示该产品由 Atmel生产 ;
( 001H) =21H表示是 89C2051/89C1051;
( 002H) =FFH表示 12 V编程。
第 10章 具有 51内核的 8位单片机简介图
10.
6AT
89C
20
51
在线编程示例
10.1.7
第 10章 具有 51内核的 8位单片机简介
10.2 8XC51系列单片机
10.2.1 8XC51GB
8XC51GB是一种先进的 80C51微控制器,它具有优良的性能,主要包含,串行扩展口,8通道 8位 A/D转换器,可编程的计数器阵列,片内 EPROM。 其主要特性如下,
(1) 片内有 8 KB的 EPROM和 256字节的 RAM;
(2) 2 个可编程计数阵列,包括,2× 5高速 I/O通道 ; 比较 /
捕捉模块 ; 脉冲宽度调制器 ; 监视定时器 ;
第 10章 具有 51内核的 8位单片机简介
(3) 3 个 16位定时器 /计数器,T0,T1具有 4种编程方式,T2
具有捕捉及波特率生成方式 ;
(4) 8通道 8位 A/D转换器,具有 4种编程方式 ;
(5) 专用监视定时器 ;
(6) 可编程串行通道,可进行帧错误检测,自动地址识别 ;
(7) 串行扩展通道 ;
(8) 48位可编程 I/O
(9) 15个中断源,可设置为 4
( 10) 工作温度扩大,环境温度在 -40℃ ~ +125℃ 能正常工作。
第 10章 具有 51内核的 8位单片机简介
10.2.2 8XC51GB的内部结构图 10.7 8XC51GB结构框图第 10章 具有 51内核的 8位单片机简介一,片内 RAM和 SFR
8XC51GB片内有 256个字节数据 RAM,其地址为 00H~
7FH,80H~ FFH,其中地址 80H~ FFH与特殊功能寄存器 SFR
的地址重叠 。 虽然地址相同,但它们在物理上是相互独立的 。
当一条指令访问地址高于 7FH的内部区域时,CPU应清楚此次操作是访问数据 RAM的单元,还是访问指令中指定地址表示的 SFR空间 。 8XC51GB指令系统规定,采用直接地址的指令均为访问数据 RAM单元,例如,
MOV 0A0H,# data
第 10章 具有 51内核的 8位单片机简介是访问特殊功能寄存器空间中地址为 0A0H的寄存器 ; 而采用间接寻址的指令为访问数据 RAM区的单元,例如,
MOV R0,# 0A0H
MOV @R0,# data
即为访问 RAM区地址为 0A0H的单元 。
8XC51GB的片内特殊功能寄存器在 8051单片机的 21个基础上新增了 69个,共计 90个,地址分配和 CPU的复位值如表
10.5所示 。
第 10章 具有 51内核的 8位单片机简介表 10.5 SFR地址分配及复位值第 10章 具有 51内核的 8位单片机简介二,8XC51GB端口及操作表
10.
6
端口复用功能第 10章 具有 51内核的 8位单片机简介三,8XC51GB的 A/D
表 10.7 ACON寄存器格式第 10章 具有 51内核的 8位单片机简介
A/D转换有两种方式,连续方式和触发方式,决定通道的转换次序也有两种方式,扫描方式和选择方式,它们都是由
ACON中的各控制位决定 。
连续方式,在 ACON中将 ATM置,0”时,则进入连续方式 。
将 ACE置,1”时,则 A/D转换总是从 ACH0~ ACH7 的 8 个通道连续反复进行 。 转换结束后,将 AIF置,1”,然后再从 ACH0
通道开始下一轮 A/D转换,只要 ATM=0,ACE=1保持不变,则转换将连续反复进行 。
第 10章 具有 51内核的 8位单片机简介触发方式,ATM置,1”时,则进入触发方式 。 ACE置,1”
时,外部引脚 TR1GIN的第一个下降沿将开始对通道 ACH0~
ACH7进行一次转换,并转换结果送入相应的 A/D转换结果寄存器 ADRES0~ ADRES7中 。
扫描方式,AIM置,0”,便进入扫描方式 。 在此方式下,
将依次转换 8 个通道 ACH0~ ACH7,并将转换结果送入相应的转换结果寄存器 ADRES0~ ADRES7中 。
选择方式,AIM置,1”,便进入选择方式 。 在此方式下,
A/D转换器先对前 4 个通道 ACH0~ ACH3 中的某一通道 ( 由
ACS1,ACS0 决定 ) 进行 4 次 A/D转换,并将结果依次送入
ADRES0~ ADRES3中,然后再对通道 ACH4~ ACH7依次转换一次,将结果依次送入 ADRES4~ ADRES7 中 。
第 10章 具有 51内核的 8位单片机简介图
10.
8
中断源四,8XC51GB
1,中断源第 10章 具有 51内核的 8位单片机简介外部中断 INT0,INT1,这两个中断都可以由电平触发或跳变沿触发,具体触发方式决定于寄存器 TCON中 IT0 和 IT1
二位的值 。
外部中断 INT2,INT3,这两个中断都可设置为上升沿或下降沿触发,具体触发方式由中断控制寄存器 EXICON中 IT2
和 IT3 二位的值决定 。
外部中断 INT4,INT5,INT6,这三个中断都是上升沿触发的。
图 10.9 EXICON中断控制寄存器第 10章 具有 51内核的 8位单片机简介
2.
8XC51GB 的 15 个中断源都可通过将两个中断允许寄存器 IE和 IEA中对应的中断源控制位置,1”开中断 ; 置,0”
禁止中断 。
图 10.10 IE格式第 10章 具有 51内核的 8位单片机简介图 10.11 IEA格式第 10章 具有 51内核的 8位单片机简介
3.
8XC51GB的 15 个中断源都可由程序指定为 4 个优先级之一,中断优先级决定于寄存器 IP和 IP1 或 IPA和 IPA1 中相应两位控制位编码的值 。 优先级低的中断可被优先级高的中断中断,
但不能被与其优先级相同或比它优先级低的中断中断,任何中断都不能中断最高级中断 。 若同时接收到两个或两个以上不同优先级的中断请求,则中断其中最高级中断 ; 若两个以上的同级中断同时提出中断请求,则 CPU按内部规定的硬件查询次序响应中断,并转入对应固定矢量入口地址执行程序 。
第 10章 具有 51内核的 8位单片机简介表 10.8 同一中断优先级硬件查询次序及中断矢量地址第 10章 具有 51内核的 8位单片机简介图 10.12 IP,IP1 的格式表 10.9 中断优先级设置第 10章 具有 51内核的 8位单片机简介表 10.10 IP1 和 IP相应位控制的中断源第 10章 具有 51内核的 8位单片机简介图 10.13 IPA1和 IPA的格式第 10章 具有 51内核的 8位单片机简介表 10.11 IPA1和 IPA相应位控制的中断源第 10章 具有 51内核的 8位单片机简介五,,看门狗,定时器 WDT
看门狗 ( Watchdog) 定时器的作用是强迫微控制器进入复位状态,使 CPU从硬件或软件故障中解脱出来 。
WDT是 14 位计数器,在计数值达到最大值 3FFFH之前,
必须由软件清,0”,否则,WDT将产生内部复位信号,使芯片异常复位 。 计数器可由软件向复位寄存器 WDTCON中写入立即数 1EH和 0E1H,WDT在每个机器周期自动加 1。
第 10章 具有 51内核的 8位单片机简介
10.3 8XC552 系列单片机
10.3.1 8XC552 的主要性能
( 1) 8 KB的内部 ROM( 83C552) 或 EPROM( 87C552),
可外扩 64 KB EPROM; 片内有 256 B RAM,还可外扩 64 KB
RAM或 I/O口 ;
( 2) 2 个标准的 16 位定时器 /计数器 ; 1 个附加的 16 位定时器 /计数器,并配有 4 个捕捉寄存器和 3 个比较寄存器 ;
( 3) 1 个 8 路 10 位片内 A/D转换器 ;
第 10章 具有 51内核的 8位单片机简介
( 4) 2 路 8 位分辨率的脉冲宽度调制解调器输出 PWM;
( 5) 5 个 8 位并行 I/O口,1 个与 A/D合用的输入口 ;
( 6) 1 个全双工异步串行口 UART;
( 7) I 2C串行总线口 ;
( 8) 内部监视定时器 WDT;
( 9) 2 个中断优先级,15 个中断源 ;
( 10) 有 56 个特殊功能寄存器 SFR;
( 11) 采用 68 引脚或 80 引脚 PLCC封装 ;
( 12) 工作时钟频率可选择 1.2~16 MHz。
第 10章 具有 51内核的 8位单片机简介图 10.14 8XC552 的内部结构框图
10.3.2 8XC552 内部结构及引脚描述第 10章 具有 51内核的 8位单片机简介图
10.
15
8XC
55
2
引脚功能第 10章 具有 51内核的 8位单片机简介
10.3.3 8XC552特殊功能寄存器 SFR
表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介
10.3.4 8XC552 并行 I/O端口及复用功能表
10.
13P
1
、P
3
、P
4
和P
5
口复用功能第 10章 具有 51内核的 8位单片机简介
10.3.5 脉冲宽度调制器 PWM
图 10.16 PWM输出功能原理图第 10章 具有 51内核的 8位单片机简介
1,PWM的工作原理
PWM两个脉冲调制输出 PWM0和 PWM1合用一个预分频器和计数器,并且预分频器的分频系数决定重复频率,脉冲的高低电平宽度比分别取决于 PWM0 和 PWM1 的寄存器的值,取值范围在 0~255 之间,输出脉冲的频率由预分频率
PWMP决定 。
引脚 PWM0输出的重复频率 fPWM由下式决定,
2 5 5)1(2
P W M P
ff O S C
P W M
第 10章 具有 51内核的 8位单片机简介图 10.17 PWM
(a)PMM0.1引脚电平; (b) 典型的 PWM输出第 10章 具有 51内核的 8位单片机简介
2,PWM的应用图 10.18 PWM输出用作 D/A
(a) 模拟输出缓冲电路; (b) 带光电隔离器的模拟输出电路第 10章 具有 51内核的 8位单片机简介
10.3.6 A/D转换器图 10.19 8XC552 A/D转换器电路框图第 10章 具有 51内核的 8位单片机简介图 10.20 ADCON格式定义第 10章 具有 51内核的 8位单片机简介在进行 A/D转换的过程中,不理睬外部或软件的启动信号,
转换结束后,置位 ADCI,并将转换结果的高 8 位存放在特殊功能寄存器 ADCH中,低 2 位存放在特殊功能寄存器 ADCON的最高两位 ADC.1 和 ADC.0 中 。 图 10.21 所示为 A/D转换的实现原理 。 A/D转换器具有自己独立的电源引脚 ( AV DD和 AV SS ) 以及连到 T型电阻网络的引脚 ( VREF+和 V EF-),AV REF+和 AV REF-可以在 AV DD+0.2 V和 AV SS-0.2 V之间 。 转换结果可由下式计算,
R E FR E F
R E FIN
AVAN
AVV0241转换结果第 10章 具有 51内核的 8位单片机简介图 10.21 A/D转换的实现原理第 10章 具有 51内核的 8位单片机简介
10.3.7 定时器 T2 和捕捉比较逻辑图
10.
22
定时器T
2
和捕捉比较逻辑第 10章 具有 51内核的 8位单片机简介
1,定时器 T2
8XC552 单片机的定时器 T2 是一个 16 位的计数器,它由特殊功能寄存器 TMH2( 高字节 ) 和 TML2( 低字节 ) 所组成 。
它的输入可由软件编程为,fOSC/12,T2 引脚输入的外部脉冲或停止计数 。 当 T2 用作计数器时,T2 引脚上的外部输入信号经过预分频器进入 T2,预分频器的分频系数可编程为 1,2,4,8 四种,T2 引脚上的输入脉冲频率可达每个机器周期一次方波 。 特殊功能寄存器 TMH2 和 TML2 是只读寄存器,由复位信号或 RT2
引脚上的上跳变清,0”( 若允许 ),预分频器也同时清,0”,
RT2 是由置位 T2ER( TM2CON.5) 位使能的 。 当 T2 发生低字节溢出或 16 位溢出时产生中断请求,这两个中断的向量是相同的,两者能同时编程为中断允许或禁止 。
第 10章 具有 51内核的 8位单片机简介图 10.23 TM2CON格式定义第 10章 具有 51内核的 8位单片机简介
TM2CON各位的功能如下,
T2IS1,16 位溢出中断选择位 ;
T2IS0,字节溢出中断选择位 ;
T2ER,外部复位允许 。 T2ER=1 时,T2 可被 RT2(P1.5)引脚上的上升沿复位 ;
T2B0,T2 字节溢出中断标志位 ;
T2P1,T2P0,预分频器系数选择。 4 种选择方式如下,
第 10章 具有 51内核的 8位单片机简介
2P1 P2P0
0 0 1
0 1 2
1 0 4
1 1 8
T2MS1 T2MS0
0 0
0 1 T2时钟源 =fOSC/12
1 0
1 1 T2 时钟源 = T2引脚输入计数脉冲第 10章 具有 51内核的 8位单片机简介
2.
图 10.24 CTCON格式定义
CTCON各位的功能如下,
CTN3~ CTN0,CT3~ CT0分别由 CT3I~ CT0I的下降沿捕捉 ;
CTP3~ CTP0,CT3~ CT0分别由 CT3I~ CT0I的上升沿捕捉。
第 10章 具有 51内核的 8位单片机简介
3.
图 10.25 STE格式定义图 10.26 RTE的格式定义第 10章 具有 51内核的 8位单片机简介图 10.27 TM2IR的格式定义图 10.28 IEN1的格式定义第 10章 具有 51内核的 8位单片机简介图 10.29 IP1格式定义第 10章 具有 51内核的 8位单片机简介
10.3.8 监视定时器 T3
图 10.30 监视定时器 T3 原理框图第 10章 具有 51内核的 8位单片机简介在主程序中对 T3 进行初始化,
T3 EQU 0FFH ; T3 的地址为 FFH
PCON EQU 87H ; PCON的地址为 87H
WATCH—INTV EQU 156 ; 设监视间隔,T3 溢出时间 2
ms× 100=; 200 ms
第 10章 具有 51内核的 8位单片机简介
“看门狗,T3 的服务程序,
WATCHDOG,ORL PCON,# 10H ; 置 PCON.4=1,允许
T3
MOV T3,# WATCH—INTV ; 间隔时间装入 T3
RET
第 10章 具有 51内核的 8位单片机简介图
10.
31
8XC
55
2
中断系统
10.3.9 8XC552 中断系统第 10章 具有 51内核的 8位单片机简介图 10.32 IEN0 格式定义图 10.33 IEN1格式定义第 10章 具有 51内核的 8位单片机简介图 10.34 IP0
图 10.35 IP1 格式定义第 10章 具有 51内核的 8位单片机简介表 10.14 8XC552 中断硬件查询次序及中断矢量第 10章 具有 51内核的 8位单片机简介
10.3.10 I2C总线简介
I2C总线是 Philips公司开发的一种简单,双向二线制同步串行总线 。 它只需要两根线 ( 串行时钟线和串行数据线 ) 即可在连接于总线上的器件之间传送信息 。 这种总线的主要特性如下,
(1) 总线只有两根线,串行时钟线和串行数据线 ;
(2) 每个连到总线上的器件都可由软件以唯一的地址寻址,并建立简单的主 /从关系,主器件既可作为发送器,又可作为接收器 ;
第 10章 具有 51内核的 8位单片机简介
(3) 它是一个真正的多主总线,带有竞争检测和仲裁电路,
可使多个主机任意同时发送而不破坏总线上的数据 ;
(4) 同步时钟允许器件通过总线以不同的波特率进行通讯 ;
(5) 同步时钟可以作为停止或重新启动串行口发送的握手方式 ;
(6) 连接到同一总线的集成电路数只受 400 pF的最大总线电容的限制。
第 10章 具有 51内核的 8位单片机简介
10.1 AT89C系列单片机
10.2 8XC51系列单片机
10.3 8XC552系列单片机第 10章 具有 51内核的 8位单片机简介
10.1 AT89C系列单片机
10.1.1 AT89C2051主要性能
( 1) 与 MCS - 51兼容 ;
( 2) 内部带 2 KB可编程闪速存储器 ;
( 3) 寿命为 1 000次擦 /写循环 ;
( 4) 数据保留时间为 10年 ;
( 5) 工作电压范围为 2.7 V~6 V;
( 6) 全静态工作频率为 0 Hz~24 Hz;
第 10章 具有 51内核的 8位单片机简介
( 7) 两级程序存储器锁定 ;
( 8) 128× 8位内部 RAM;
( 9) 15条可编程 I/O线 ;
( 10) 2个 16位定时器 /计数器 ;
( 11) 5个两级中断源 ;
( 12)可编程全双工串行 UART通道 ;
( 13)直接对 LED驱动输出 ;
( 14)片内精确的模拟比较器 ;
( 15)片内振荡器和时钟电路 ;
( 16)低功耗的休眠和掉电模式。
第 10章 具有 51内核的 8位单片机简介
10.1.2 AT89C2051内部结构及引脚描述图
10.
1AT
89C
51
内部结构第 10章 具有 51内核的 8位单片机简介图 10.2 AT89C2051引脚配置第 10章 具有 51内核的 8位单片机简介表 10.1 P3口特殊功能第 10章 具有 51内核的 8位单片机简介
10.1.3 特殊功能寄存器 SFR
表
10.
2AT
89C
20
51
的SFR
第 10章 具有 51内核的 8位单片机简介
10.1.4 程序存储器的加密表 10.3 3种锁定位保护模式第 10章 具有 51内核的 8位单片机简介
10.1.5 低功耗工作方式
1) 待机方式 ( 休眠方式 )
当利用软件使待机方式位 IDL( PCON.0) =0时,单片机进入空闲方式 。 此时,CPU处于休眠状态,而片内所有其它外围设备都保持工作状态,片内 RAM和所有特殊功能寄存器内容保持不变 。
在待机方式下,当晶振 fOSC=12 MHz,电源电压 VCC=6 V时,
电源电流 ICC从 20 mA降至 5 mA; 而 VCC=3 V时,ICC由 5.5 mA降至 1 mA。
中断或硬件复位可以终止待机方式。
第 10章 具有 51内核的 8位单片机简介当待机方式由硬件复位终止时,CPU要从休眠处恢复程序的执行,执行 2个机器周期后,内部复位电路才起作用 。
此时,硬件禁止访问内部 RAM,但允许访问端口引脚 。 为了防止休眠被复位终止时对端口引脚意外写入的可能性,在生成待机方式的指令后不应紧跟对端口引脚的写指令 。
如果不采用外部上拉,P1.0和 P1.1应置,0”; 如果采用外部上拉,则应置,1”。
第 10章 具有 51内核的 8位单片机简介
2)
掉电方式由掉电方式位 PD( PCON.1) =1设置 。 此时,振荡器停止工作,设置掉电方式的指令成为最后执行的一条指令,
片内 RAM和特殊功能寄存器内容保持不变 。
在掉电方式下,VCCmin=2V。 当 VCC=6V时,ICCmax=100 μA; 当
VCC=3 V时,ICCmax=20 μA。
退出掉电方式的唯一方式是硬件复位 。
硬件复位将重新定义特殊功能寄存器,但不影响片内 RAM。
复位的保持时间应足够长,以便振荡器能重新开始工作并稳定下来 。 在 VCC没有恢复到正常工作电压之前,不应进行复位 。
如果不采用外部上拉,P1.0和 P1.1应置,0”,否则置,1”。
第 10章 具有 51内核的 8位单片机简介
10.1.6 闪速存储器的编程图 10.3 编程闪速存储器第 10章 具有 51内核的 8位单片机简介图 10.4 闪速存储器编程和校验时序第 10章 具有 51内核的 8位单片机简介表 10.4 5种编程模式第 10章 具有 51内核的 8位单片机简介一,编程 ( 写代码数据 )
AT 89C2051编程按下述步骤进行,
( 1) 上电过程,VCC加电,置 RST为,L”( 低电平 ),
XTAL1为,L”,其它所有引脚悬空,等待 10 ms以上 ;
(2) 置 RST为,H”( 高电平 ),P3.2为,H”;
(3) 在引脚 P3.3,P3.4,P3.5,P3.7上施加相应的逻辑电平,选定基本编程模式 ;
第 10章 具有 51内核的 8位单片机简介
(4) 地址信号由内部地址计数器提供 ( 初始值为 000H),
欲写入该地址中的数据加至引脚 P1.0~ P1.7上 ;
(5) 将 RST电平升至 12 V启动编程 ;
(6) 给 P3.2施加一负脉冲,则编程内部存储器阵列或锁定位的 1个字节,字节写周期采用自定时,通常为 1.2 ms;
(7) 若要校验已编程数据,将 RST从 12V降至逻辑电平
,H”,并置引脚 P3.3~ P3.7为校验模式电平,输出数据即可在
P1口读取 ;
(8) 编程下一个地址字节,对 XTAL1施加一正脉冲,内部地址计数器加 1,然后在 P1口上加载欲写入的新数据 ;
第 10章 具有 51内核的 8位单片机简介
(9) 重复步骤 ( 5) ~ ( 8),改变数据,递增地址计数器直到 2 KB存储阵列全部编程或目标文件结束 ;
(10) 下电过程,置 XTAL1为,L”,RST为,L”,其它 I/O
引脚悬空,VCC下电 。 当前次编程未结束时,不允许开始下一次编程 。 如何确定一次编程操作是否结束,AT 89C2051提供了以下两种方法 。
第 10章 具有 51内核的 8位单片机简介
1,数据查询特性
AT 89C2051具有通过数据查询来检测写周期结束的特性 。
在写期间,读操作将导致 P1.7输出写入数据的补码,一旦写完成,所有输出将出现真实数据,这时可开始下一数据编程 。
利用这一特性,可以在启动某一次编程后不断地查询写入数据,直到查询的数据为真实数据时,就可判定写周期已结束 。
第 10章 具有 51内核的 8位单片机简介
2,准备好 /
在编程期间,引脚 P3.3(RDY/BSY)提供了编程状态 。
当引脚 P3.2(PROG)电平升高后,引脚 P3.1电平下降,表示
BUSY,编程结束后 P3.1电平抬高,表示 READY( 见图 10.4
所示时序 ) 。 利用查询该状态信息便可确定编程的结束 。
第 10章 具有 51内核的 8位单片机简介二,校验(读代码数据)
图 10.5 校验闪速存储器第 10章 具有 51内核的 8位单片机简介
(1) 使 RST从,L”变为,H”,地址计数器复位 000H;
(2) 提供适当的控制信号 ( 见图 10.4所示时序 ),从 P1
口读取数据与编程写入数据作比较 ;
(3) 给 XTAL1施加正脉冲,地址计数器加 1;
(4) 从 P1口读 1个代码数据与编程写入数据作比较 ;
(5)重复步骤( 3)、( 4),直至整个存储阵列校验完毕。
第 10章 具有 51内核的 8位单片机简介三,写锁定位写锁定位完成对闪速存储器加密 。
按前述编程模式表操作,先选择写锁定位模式,然后将
RST升至 12 V,P3.2施加编程脉冲,即可将锁定位写入 ( 改变模式选择 P3.3,P3.4,P3.5,P3.7的输入组合来实现锁定位 LB1,LB2的写入 ) 。 不能直接校验锁定位,要通过观察其持性是否被允许来完成 。
第 10章 具有 51内核的 8位单片机简介四,芯片擦除当编程模式选择为芯片擦除模式并使 P3.2引脚上施加 10 ms的 PROG脉冲后,整个闪速存储器 ( 2 KB) 和 2个锁定位即可被擦除 。 擦除后,存储器阵列全为 FFH。
第 10章 具有 51内核的 8位单片机简介五,
特征字节表示 AT 89C系列芯片的基本特性,由 3或 4字节组成,存储于程序存储区的低端 。 AT 89C2051芯片的特征字节位于地址 000H,001H,002H中,当选择读特征字节模式 ( P3.3=P3.4=P3.5=P3.7=“L”)并采用类似校验步骤读取数据时,即可获得 AT 89C2051芯片的特征字,
( 000H) =1EH表示该产品由 Atmel生产 ;
( 001H) =21H表示是 89C2051/89C1051;
( 002H) =FFH表示 12 V编程。
第 10章 具有 51内核的 8位单片机简介图
10.
6AT
89C
20
51
在线编程示例
10.1.7
第 10章 具有 51内核的 8位单片机简介
10.2 8XC51系列单片机
10.2.1 8XC51GB
8XC51GB是一种先进的 80C51微控制器,它具有优良的性能,主要包含,串行扩展口,8通道 8位 A/D转换器,可编程的计数器阵列,片内 EPROM。 其主要特性如下,
(1) 片内有 8 KB的 EPROM和 256字节的 RAM;
(2) 2 个可编程计数阵列,包括,2× 5高速 I/O通道 ; 比较 /
捕捉模块 ; 脉冲宽度调制器 ; 监视定时器 ;
第 10章 具有 51内核的 8位单片机简介
(3) 3 个 16位定时器 /计数器,T0,T1具有 4种编程方式,T2
具有捕捉及波特率生成方式 ;
(4) 8通道 8位 A/D转换器,具有 4种编程方式 ;
(5) 专用监视定时器 ;
(6) 可编程串行通道,可进行帧错误检测,自动地址识别 ;
(7) 串行扩展通道 ;
(8) 48位可编程 I/O
(9) 15个中断源,可设置为 4
( 10) 工作温度扩大,环境温度在 -40℃ ~ +125℃ 能正常工作。
第 10章 具有 51内核的 8位单片机简介
10.2.2 8XC51GB的内部结构图 10.7 8XC51GB结构框图第 10章 具有 51内核的 8位单片机简介一,片内 RAM和 SFR
8XC51GB片内有 256个字节数据 RAM,其地址为 00H~
7FH,80H~ FFH,其中地址 80H~ FFH与特殊功能寄存器 SFR
的地址重叠 。 虽然地址相同,但它们在物理上是相互独立的 。
当一条指令访问地址高于 7FH的内部区域时,CPU应清楚此次操作是访问数据 RAM的单元,还是访问指令中指定地址表示的 SFR空间 。 8XC51GB指令系统规定,采用直接地址的指令均为访问数据 RAM单元,例如,
MOV 0A0H,# data
第 10章 具有 51内核的 8位单片机简介是访问特殊功能寄存器空间中地址为 0A0H的寄存器 ; 而采用间接寻址的指令为访问数据 RAM区的单元,例如,
MOV R0,# 0A0H
MOV @R0,# data
即为访问 RAM区地址为 0A0H的单元 。
8XC51GB的片内特殊功能寄存器在 8051单片机的 21个基础上新增了 69个,共计 90个,地址分配和 CPU的复位值如表
10.5所示 。
第 10章 具有 51内核的 8位单片机简介表 10.5 SFR地址分配及复位值第 10章 具有 51内核的 8位单片机简介二,8XC51GB端口及操作表
10.
6
端口复用功能第 10章 具有 51内核的 8位单片机简介三,8XC51GB的 A/D
表 10.7 ACON寄存器格式第 10章 具有 51内核的 8位单片机简介
A/D转换有两种方式,连续方式和触发方式,决定通道的转换次序也有两种方式,扫描方式和选择方式,它们都是由
ACON中的各控制位决定 。
连续方式,在 ACON中将 ATM置,0”时,则进入连续方式 。
将 ACE置,1”时,则 A/D转换总是从 ACH0~ ACH7 的 8 个通道连续反复进行 。 转换结束后,将 AIF置,1”,然后再从 ACH0
通道开始下一轮 A/D转换,只要 ATM=0,ACE=1保持不变,则转换将连续反复进行 。
第 10章 具有 51内核的 8位单片机简介触发方式,ATM置,1”时,则进入触发方式 。 ACE置,1”
时,外部引脚 TR1GIN的第一个下降沿将开始对通道 ACH0~
ACH7进行一次转换,并转换结果送入相应的 A/D转换结果寄存器 ADRES0~ ADRES7中 。
扫描方式,AIM置,0”,便进入扫描方式 。 在此方式下,
将依次转换 8 个通道 ACH0~ ACH7,并将转换结果送入相应的转换结果寄存器 ADRES0~ ADRES7中 。
选择方式,AIM置,1”,便进入选择方式 。 在此方式下,
A/D转换器先对前 4 个通道 ACH0~ ACH3 中的某一通道 ( 由
ACS1,ACS0 决定 ) 进行 4 次 A/D转换,并将结果依次送入
ADRES0~ ADRES3中,然后再对通道 ACH4~ ACH7依次转换一次,将结果依次送入 ADRES4~ ADRES7 中 。
第 10章 具有 51内核的 8位单片机简介图
10.
8
中断源四,8XC51GB
1,中断源第 10章 具有 51内核的 8位单片机简介外部中断 INT0,INT1,这两个中断都可以由电平触发或跳变沿触发,具体触发方式决定于寄存器 TCON中 IT0 和 IT1
二位的值 。
外部中断 INT2,INT3,这两个中断都可设置为上升沿或下降沿触发,具体触发方式由中断控制寄存器 EXICON中 IT2
和 IT3 二位的值决定 。
外部中断 INT4,INT5,INT6,这三个中断都是上升沿触发的。
图 10.9 EXICON中断控制寄存器第 10章 具有 51内核的 8位单片机简介
2.
8XC51GB 的 15 个中断源都可通过将两个中断允许寄存器 IE和 IEA中对应的中断源控制位置,1”开中断 ; 置,0”
禁止中断 。
图 10.10 IE格式第 10章 具有 51内核的 8位单片机简介图 10.11 IEA格式第 10章 具有 51内核的 8位单片机简介
3.
8XC51GB的 15 个中断源都可由程序指定为 4 个优先级之一,中断优先级决定于寄存器 IP和 IP1 或 IPA和 IPA1 中相应两位控制位编码的值 。 优先级低的中断可被优先级高的中断中断,
但不能被与其优先级相同或比它优先级低的中断中断,任何中断都不能中断最高级中断 。 若同时接收到两个或两个以上不同优先级的中断请求,则中断其中最高级中断 ; 若两个以上的同级中断同时提出中断请求,则 CPU按内部规定的硬件查询次序响应中断,并转入对应固定矢量入口地址执行程序 。
第 10章 具有 51内核的 8位单片机简介表 10.8 同一中断优先级硬件查询次序及中断矢量地址第 10章 具有 51内核的 8位单片机简介图 10.12 IP,IP1 的格式表 10.9 中断优先级设置第 10章 具有 51内核的 8位单片机简介表 10.10 IP1 和 IP相应位控制的中断源第 10章 具有 51内核的 8位单片机简介图 10.13 IPA1和 IPA的格式第 10章 具有 51内核的 8位单片机简介表 10.11 IPA1和 IPA相应位控制的中断源第 10章 具有 51内核的 8位单片机简介五,,看门狗,定时器 WDT
看门狗 ( Watchdog) 定时器的作用是强迫微控制器进入复位状态,使 CPU从硬件或软件故障中解脱出来 。
WDT是 14 位计数器,在计数值达到最大值 3FFFH之前,
必须由软件清,0”,否则,WDT将产生内部复位信号,使芯片异常复位 。 计数器可由软件向复位寄存器 WDTCON中写入立即数 1EH和 0E1H,WDT在每个机器周期自动加 1。
第 10章 具有 51内核的 8位单片机简介
10.3 8XC552 系列单片机
10.3.1 8XC552 的主要性能
( 1) 8 KB的内部 ROM( 83C552) 或 EPROM( 87C552),
可外扩 64 KB EPROM; 片内有 256 B RAM,还可外扩 64 KB
RAM或 I/O口 ;
( 2) 2 个标准的 16 位定时器 /计数器 ; 1 个附加的 16 位定时器 /计数器,并配有 4 个捕捉寄存器和 3 个比较寄存器 ;
( 3) 1 个 8 路 10 位片内 A/D转换器 ;
第 10章 具有 51内核的 8位单片机简介
( 4) 2 路 8 位分辨率的脉冲宽度调制解调器输出 PWM;
( 5) 5 个 8 位并行 I/O口,1 个与 A/D合用的输入口 ;
( 6) 1 个全双工异步串行口 UART;
( 7) I 2C串行总线口 ;
( 8) 内部监视定时器 WDT;
( 9) 2 个中断优先级,15 个中断源 ;
( 10) 有 56 个特殊功能寄存器 SFR;
( 11) 采用 68 引脚或 80 引脚 PLCC封装 ;
( 12) 工作时钟频率可选择 1.2~16 MHz。
第 10章 具有 51内核的 8位单片机简介图 10.14 8XC552 的内部结构框图
10.3.2 8XC552 内部结构及引脚描述第 10章 具有 51内核的 8位单片机简介图
10.
15
8XC
55
2
引脚功能第 10章 具有 51内核的 8位单片机简介
10.3.3 8XC552特殊功能寄存器 SFR
表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介表 10.12 8XC552 的特殊功能寄存器 SFR
第 10章 具有 51内核的 8位单片机简介
10.3.4 8XC552 并行 I/O端口及复用功能表
10.
13P
1
、P
3
、P
4
和P
5
口复用功能第 10章 具有 51内核的 8位单片机简介
10.3.5 脉冲宽度调制器 PWM
图 10.16 PWM输出功能原理图第 10章 具有 51内核的 8位单片机简介
1,PWM的工作原理
PWM两个脉冲调制输出 PWM0和 PWM1合用一个预分频器和计数器,并且预分频器的分频系数决定重复频率,脉冲的高低电平宽度比分别取决于 PWM0 和 PWM1 的寄存器的值,取值范围在 0~255 之间,输出脉冲的频率由预分频率
PWMP决定 。
引脚 PWM0输出的重复频率 fPWM由下式决定,
2 5 5)1(2
P W M P
ff O S C
P W M
第 10章 具有 51内核的 8位单片机简介图 10.17 PWM
(a)PMM0.1引脚电平; (b) 典型的 PWM输出第 10章 具有 51内核的 8位单片机简介
2,PWM的应用图 10.18 PWM输出用作 D/A
(a) 模拟输出缓冲电路; (b) 带光电隔离器的模拟输出电路第 10章 具有 51内核的 8位单片机简介
10.3.6 A/D转换器图 10.19 8XC552 A/D转换器电路框图第 10章 具有 51内核的 8位单片机简介图 10.20 ADCON格式定义第 10章 具有 51内核的 8位单片机简介在进行 A/D转换的过程中,不理睬外部或软件的启动信号,
转换结束后,置位 ADCI,并将转换结果的高 8 位存放在特殊功能寄存器 ADCH中,低 2 位存放在特殊功能寄存器 ADCON的最高两位 ADC.1 和 ADC.0 中 。 图 10.21 所示为 A/D转换的实现原理 。 A/D转换器具有自己独立的电源引脚 ( AV DD和 AV SS ) 以及连到 T型电阻网络的引脚 ( VREF+和 V EF-),AV REF+和 AV REF-可以在 AV DD+0.2 V和 AV SS-0.2 V之间 。 转换结果可由下式计算,
R E FR E F
R E FIN
AVAN
AVV0241转换结果第 10章 具有 51内核的 8位单片机简介图 10.21 A/D转换的实现原理第 10章 具有 51内核的 8位单片机简介
10.3.7 定时器 T2 和捕捉比较逻辑图
10.
22
定时器T
2
和捕捉比较逻辑第 10章 具有 51内核的 8位单片机简介
1,定时器 T2
8XC552 单片机的定时器 T2 是一个 16 位的计数器,它由特殊功能寄存器 TMH2( 高字节 ) 和 TML2( 低字节 ) 所组成 。
它的输入可由软件编程为,fOSC/12,T2 引脚输入的外部脉冲或停止计数 。 当 T2 用作计数器时,T2 引脚上的外部输入信号经过预分频器进入 T2,预分频器的分频系数可编程为 1,2,4,8 四种,T2 引脚上的输入脉冲频率可达每个机器周期一次方波 。 特殊功能寄存器 TMH2 和 TML2 是只读寄存器,由复位信号或 RT2
引脚上的上跳变清,0”( 若允许 ),预分频器也同时清,0”,
RT2 是由置位 T2ER( TM2CON.5) 位使能的 。 当 T2 发生低字节溢出或 16 位溢出时产生中断请求,这两个中断的向量是相同的,两者能同时编程为中断允许或禁止 。
第 10章 具有 51内核的 8位单片机简介图 10.23 TM2CON格式定义第 10章 具有 51内核的 8位单片机简介
TM2CON各位的功能如下,
T2IS1,16 位溢出中断选择位 ;
T2IS0,字节溢出中断选择位 ;
T2ER,外部复位允许 。 T2ER=1 时,T2 可被 RT2(P1.5)引脚上的上升沿复位 ;
T2B0,T2 字节溢出中断标志位 ;
T2P1,T2P0,预分频器系数选择。 4 种选择方式如下,
第 10章 具有 51内核的 8位单片机简介
2P1 P2P0
0 0 1
0 1 2
1 0 4
1 1 8
T2MS1 T2MS0
0 0
0 1 T2时钟源 =fOSC/12
1 0
1 1 T2 时钟源 = T2引脚输入计数脉冲第 10章 具有 51内核的 8位单片机简介
2.
图 10.24 CTCON格式定义
CTCON各位的功能如下,
CTN3~ CTN0,CT3~ CT0分别由 CT3I~ CT0I的下降沿捕捉 ;
CTP3~ CTP0,CT3~ CT0分别由 CT3I~ CT0I的上升沿捕捉。
第 10章 具有 51内核的 8位单片机简介
3.
图 10.25 STE格式定义图 10.26 RTE的格式定义第 10章 具有 51内核的 8位单片机简介图 10.27 TM2IR的格式定义图 10.28 IEN1的格式定义第 10章 具有 51内核的 8位单片机简介图 10.29 IP1格式定义第 10章 具有 51内核的 8位单片机简介
10.3.8 监视定时器 T3
图 10.30 监视定时器 T3 原理框图第 10章 具有 51内核的 8位单片机简介在主程序中对 T3 进行初始化,
T3 EQU 0FFH ; T3 的地址为 FFH
PCON EQU 87H ; PCON的地址为 87H
WATCH—INTV EQU 156 ; 设监视间隔,T3 溢出时间 2
ms× 100=; 200 ms
第 10章 具有 51内核的 8位单片机简介
“看门狗,T3 的服务程序,
WATCHDOG,ORL PCON,# 10H ; 置 PCON.4=1,允许
T3
MOV T3,# WATCH—INTV ; 间隔时间装入 T3
RET
第 10章 具有 51内核的 8位单片机简介图
10.
31
8XC
55
2
中断系统
10.3.9 8XC552 中断系统第 10章 具有 51内核的 8位单片机简介图 10.32 IEN0 格式定义图 10.33 IEN1格式定义第 10章 具有 51内核的 8位单片机简介图 10.34 IP0
图 10.35 IP1 格式定义第 10章 具有 51内核的 8位单片机简介表 10.14 8XC552 中断硬件查询次序及中断矢量第 10章 具有 51内核的 8位单片机简介
10.3.10 I2C总线简介
I2C总线是 Philips公司开发的一种简单,双向二线制同步串行总线 。 它只需要两根线 ( 串行时钟线和串行数据线 ) 即可在连接于总线上的器件之间传送信息 。 这种总线的主要特性如下,
(1) 总线只有两根线,串行时钟线和串行数据线 ;
(2) 每个连到总线上的器件都可由软件以唯一的地址寻址,并建立简单的主 /从关系,主器件既可作为发送器,又可作为接收器 ;
第 10章 具有 51内核的 8位单片机简介
(3) 它是一个真正的多主总线,带有竞争检测和仲裁电路,
可使多个主机任意同时发送而不破坏总线上的数据 ;
(4) 同步时钟允许器件通过总线以不同的波特率进行通讯 ;
(5) 同步时钟可以作为停止或重新启动串行口发送的握手方式 ;
(6) 连接到同一总线的集成电路数只受 400 pF的最大总线电容的限制。
第 10章 具有 51内核的 8位单片机简介