单片机期末总复习大全

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SETB
SETB
PX1
EALeabharlann Baidu
PX1 = 1;
EA = 1;
17
5.MCS-51定时器逻辑结构与相关寄存器
TCON(模式控制寄存器):用来设置定时器/计数 器的操作模式; TMOD(方式寄存器):用来控制定时器的启动与 停止。 TH0、TL0、TH1、TL1:两个16位加法计数器 T0
和 T1 均可分成2个独立的8位计数器,用于存放定时或
第一章 单片机综述
1、单片机的概念(单片微型计算机、微控制器)
将CPU、存储器、定时器/计数器、多种I/O接口等
电路集成在一块芯片上所构成的计算机。 2、单片机的内部结构:
+ 外设(键盘、显示、AD、DA)
1
2.1 单片机的内部结构
由运算器(ALU)、控制器和专用寄存 器组构成
程序计数器PC:存放下一条需要执行的指令内存地址,自动加1。 1. 16位、决定了可以寻址的程序存储器的空间64KB。 2. 上电后初始值是0000H,所以从该地址开始执行程序。 累加器A、B 程序状态字PSW
8
单片机最小系统的组成
电 源 及 时 钟 引 脚 控 制 引 脚
并行I/O口 引脚
X1 X2 EA PSEN ALE RST VCC GND P0 P00~P07 P10~P17 P20~P27 P30~P37
8051
P1 P2 P3
控制引脚的功 能
9
3、控制线 —地址锁存允许/编程线 有外部存储器:访问外存时锁存低8位地址
计数的初值,并用作加1的计数。
、 与定时器 /计数器相关的输入引脚有四个: 。
T0、T1、 INT 0 、 INT1
18
TMOD (89H) 内部总线 TF1
TCON (88H)
GATE C/T M1 M0 TR1
TR0 T0(16位) TL0 8位
CPU 振荡器
GATE C/T M1 M0
÷12
⑴TF1和TF0:分别为T1和T0的溢出标志。当定时器/计数器计满产生 溢出时,由硬件自动置“1”,可申请中断。 ⑵TR1和TR0:为定时器/计数器T1和T0的启动、停止控制位。 ⑶IE1和IE0:外部中断1( INT1 )和外部中断0( INT0 )的中断请 求标志位。当外部中断源有请求时其对应的中断标志位置“1”。 ⑷IT1和IT0:为外部中断1和外部中断0的触发方式选择位。ITi设置 为“0”时为电平触发方式;设置为“1”时为边沿触发方式。 系统复位时,TCON被清0。
中断 总允许
EA
中断优先 级寄存器 PX0 高优 先级 PT0
1
T0 TF0
ET0
0 INT1 1 IT1
EX1 IE1
PX1
中断转移入 口
ET1
T1 TF1 + TI/RI ES
PT1
低优 先级
TI RI
PS
中断转移入 口
(TC0N/SC0N)
(IE)
(IP)
13
80C51中断系统结构示意图
8051中断入口地址
方式0:213 *1us=8192us=8.192ms 方式1:216 *1us=65.536ms 1 根据时钟频率计 算机器周期 2将定时时间与各种 方式最大时间比较
方式2、方式3:28 *1us=0.256ms
方式0时:(213 – TC)*1us=100us 3、选择合适的方式, TC=1F9CH;TH0=FCH、TL0=1CH 求出初值 方式1:(216 – TC)*1us=100us 4、写出初始化程序 TC=FF9CH 方式2: (28-TC)*1us=100us TC=009CH
• 为什么要给定时器预设初值?如何确定预设初值是多少呢?
定时时间:开始计数 16位计数方式 溢出
定时时间50000us
0
X
65535
定时时间65536us
定时时间50000us X=65536-50000=15536=3CB0H
MOV TH0, #3CH MOV TL0, #0B0H
23
定时器初始化编程格式
初始化编程格式:
TMOD = x
;选择工作方式
THx = 0x#
TLx= 0x# ETx = 1 EA = 1 TRx = 1
;装入Tx时间常数
;开Tx中断 ;开总中断 ;启动Tx定时器
24
定时器/计数器例程
例:若单片机时钟频率为12MHz,请计算定时100us所需的定 时器初值,并写出初始化程序 各种方式定时时间比较:
同级中断的优先级顺序 INT0 T0 INT1 T1 串行口。
5)定时器方式控制寄存器TMOD(89H 不能位寻址)
16
外部中断初始化步骤
1、设立触发方式(电平or边沿)
2、设立优先级
3、开中断
例6.1 请写出/INT1为低电平触发 和高中断优先级的中断系 统初始化程序
CLR SETB IT1 ;电平触发 EX1 IT1 = 0; EX1 = 1;
27
Void main() { T1_Init();
8031没有内部ROM。 1. 如果使用8051,/EA引脚如 何连接?如果片内ROM用 完了怎么办?也就是说当 PC值为多少的时候,会转 到片外ROM执行? 2. 内部ROM和外部ROM的 最大寻址空间多大?决定 于哪个寄存器?
3
0FFFH
存储器部分—片内RAM
8051片内RAM 128字节(地址00-7FH),片外RAM 可扩 展64KB(地址0000H-FFFFH)。共同占用部分访问时用 MOV和MOVX指令区别。 片内RAM分为:(1)工作寄存器区(00H-1FH)4组R0-R7 (2)位寻址区(20H-2FH):两种访问方法。 (3)便笺区(30H-7FH)
█ GATE=1时,定时器/计数器由外部中断引脚 INTi 和 TRi共同来启动。
当 INTi 引脚为高电平时,TRi=1,启动定时器/计数器Ti ; TRi=0,定时器/计数器 Ti 停止工作。
█ GATE=0时,仅由TRi来启动定时器/计数器,又称为软件启动。 TRi=1,定时器/计数器Ti启动开始工作;
需要让8051复位时,给该引脚高电平,并保持24个时钟周期。
10
7.上电自动复位和手动复位
上电复位
按键电平复位
复位在RST引脚上保持24个震荡周期(即两个机器周期)以上的高电平
习题
11
第5章 MCS-51的中断系统
(1)什么是中断,中断的作用是什么?
(2)中断源 8051有5个中断源,分为3类 1)外部中断源:INT0 INT1(P3.2 分为低电平触发和下降沿触发
0组
1组 2组 3组
00H~07H
08H~0FH 10H~17H 18H~1FH
R0~R7
R0~R7 R0~R7 R0~R7
上电后,默认使用的是哪一组工作寄存器?地址是多 少?如果要更改工作寄存器的地址,使用什么寄存器、 什么指令?
6
1、位寻址区是指 20H~ 2FH单元,共16个单元。 2、 位寻址区的 16个单元 (共计128位)的每1位都 有一个8位表示的位地址, 位地址范围为00H~1FH。 4、 同样, 位寻址的RAM单 元也可以按字节操作作为 位寻址区 30H 2FH 7FH 便笺区
80H 7FH
真正RAM区
00H
1、高128B的RAM单元中 有21个单元可用,这21个 分散在高128B的地址空间 内,分别是A,B,PSW, SP,DPH,DPL,P0, P1,P2,P3,IP,IE, TCON,TMOD,TH0, TL0,TH1,TL1, SCON,SBUF,PCON。 2、11个可以按位寻址。 规律:地址可以被8整除。
M1 M0 工作方式 0 0 0 1 1 0 1 1 方式0 方式1 方式2 方式3
计数器配置及功能简述 13位计数器,TLi只用低5位 16位计数器 8位自动重装计数器,THi的值在计数中不变, TLi溢出时,THi中的值自动装入TLi中
T0分为两个独立的8位计数器,T1用作波特率发 生器
22
初值设定-------关键
• 中断源 • INT0 • T0 • INT1 • T1 • 串行口 • 中断入口地址 • • • • • 0003H 000BH 0013H 001BH 0023H C51中断入口 0 1 2 3 4
14
中断相关的几个重要SFR
3)中断允许寄存器IE(A8H)
15
4)中断优先级寄存器IP(B8H)
25
中断程序格式
Sbit LED = P1^0; Void main() { IT0 = 0; EX0 = 1; EA = 1; while(1); } Void Int0_Int() interrupt 0 { LED = !LED; }
26
定时器例程
例7.11 设8051时钟频率12MHz,编写程序令P1.0引脚 输出2S的方波程序
P3.3)
2)定时器溢出中断源 T0 T1(P3.4 P3.5) 定时器溢出中断:内部时钟一个机器周期加1 计数器溢出中断:对外部时钟计数,一个脉冲加1 3)串行口中断源:发送中断和接收中断,由SCON 中的TI 和RI判断
12
中断源 INT0
0 IT0
中断允 中断请 许寄存器 求标志 EX0 IE0
PSW7 Cy PSW6 AC PSW5 PSW4 F0 RS1
堆栈指针SP 数据指针DPTR
PSW3 RS0 PSW2 OV PSW1 PSW0 P
2
存储器结构--ROM
单片机的存储器 有ROM、RAM之分;还有片内、片外之分
8051的内部ROM 4K B;
外部ROM FFFFH 1000H 片内ROM /EA=1 0000H 8051 ROM地址空间的分配 片外ROM /EA=0
T1(16位) TL1 8位 TH1 8位
INT1
T1
INT0
T0
图 MCS-51定时器逻辑结构框图
19
TF0 TH0 8位
控制寄存器TCON(P.109)
控制寄存器TCON是一个8位寄存器,既可以字节寻址也可以位寻址, 字节地址为88H,位寻址的地址为88H~8FH。其格式为:
TCON 88H 8FH TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
无外部存储器时,ALE输出为晶振6分频的脉冲序列,可用 作外部时钟源;
EA / Vpp -----允许访问片外存储器/编程电源线)
/EA=1 /EA=0 选通外部ROM
RST——复位信号
从内部开始执行程序; 只访问外程序存储器;
PSEN —片外ROM选通线。MOVC命令时自动在该脚产生负脉冲,
TRi=0,定时器/计数器Ti停止工作。
(2) C/ T :功能选择位。 当C/ T =0时设置为定时器方式,计数脉冲由内部提供,计数周期等于 机器周期。 当C/ T =1时设置为计数器方式,计数脉冲为外部引脚T0或T1引入的 外部脉冲信号。
21
6.定时器/计数器有四种工作方式(P.120-)
表 定时器/计数器T0、T1的四种工作方式
2FH
一般的数据缓冲 区。
两种寻址方法:假如寻找 0B位,可以用 SETB 0BH; SETB 21H.3;
20H 1FH
工作寄存器区
27H 26H 25H 24H 23H 22H 21H 20H
7
00H
3 特殊功能寄存器区(SFR):有特殊用途的寄存器的集合。 参见P58表2-3、图2-6
FFH SFR区
20
方式寄存器TMOD
方式控制寄存器TMOD是一个8位寄存器,字节地址为89H,只能用字节传 送指令来设置定时器的工作方式,系统复位时TMOD所有位均为0。其格式为
TMOD D7 D6 D5 D4 D3 D2 D1 D0
89H
CATE
C/ T
T1
M1
M0
GATE
C/ T
T0
M1
M0
(1)GATE:门控位。
4
7FH
1FH 3组
普通RAM区
FFH SFR区 30H 2FH 位寻址区 80H
18H 17H 2组
10H 0FH 1组
7FH
20H 1FH 真正RAM区
工作寄存器区
08H 07H
0组 00H
00H 8051内部RAM 00H
5
RS1
RS0
寄存器组
片内RAM地址
通用寄存器名称
0
0 1 0
0
1 0 1
sbit Pulse = P1^0; unsigned char Cnt_50ms; Void T1_Init(void) { TMOD = 0x10; TH1 = 0x3c; TL1 = 0xb0; ET1 = 1; EA = 1; TR1 = 1; }
Void T1_Int() interrupt 3 { TH1 = 0x3c; TL1 = 0xb0; if(Cnt_50ms == 20) { Cnt_50ms = 0; Pulse = ~Pulse; } }
相关文档
最新文档