第 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位单片机简介