13. MCS-51 的串行口为全双工的异步串行通信口,串行口有几种工作方式?每种工作方式
的帧格式和波特率是什么? 串行口有 4 种工作方式: SM0 0 0 1 1
SM1 0 1 0 1
方式 0 1 2 3
功能说明
同步异位寄存器方式(用于扩展
I/O 口)波特率固定,为 fosc/12
8 位异步收发,波特率可变(有定时器控制) 9 位异步收发,波特率为 fosc/64
或 fosc/32
9 位异步收发,波特率可变(有定时器控制)
SM0 、 SM1 :串行口 4 中工作方式的选择位。 (1 )方式 0:帧格式及波特率 ?
D0
D1
D2
fosc/12
D3 D4 D5 D6 D7 ?
方式 1 的波特率是固定的,为 (2 )方式 1:帧格式及波特率
起始位 D0
D1
D2
D3
D4 D5
D6
D7
停止位
方式 1 的波特率为 2SMOD/32 ×定时器 T1 的溢出率 (3 )方式 2:帧格式及波特率
起始位 D0
D1
D2
D3
D4
D5
D6
D7
D8
停止位
方式 2 的波特率为 2SMOD/64 ×fosc (4 )
方式 3:帧格式及波特率
D0
起始位
D1
D2
D3
D4
D5
D6
D7
D8
停止位
方式 3 的波特率为 2SMOD/32 ×定时器 T1 的溢出率
14. 8255A 可扩展 3 个 8 位并行 I/O 口( PA 口、 PB 口和 PC 口),其中 PC 口具有按位置
为/ 复位功能。
15. 系统总线(仅了解)
所谓总线, 就是连接计算机各部件的一组控制信号。
MCS-51 使用的是哈佛结构, 即并行总
线结构(程序存储器和数据存储器的空间是截然分开的)
,按其功能通常把系统总线分为三
组:( 1 )、地址总线( Address Bus ,
简写 AB )
地址总线用于传送单片机发出的地址信号,
以便进行存储单元和 I/O 端口的选择。 地址总线
是单向的,只能由单片机向外送出。地址总线的数目决定着可直接访问的存储单元数目。
MCS-51 单片机最多可以扩展 64KB ,即 65536 个地址单元,因此,地址总线为 16 条。
(2 )、数据总线( Data Bus ,简写 DB ) 数据总线用于单片机与存储器之间或单片机与
I/O 之间传送数据。 MCS-51 单片机是 8 位字
长,所以,数据总线的位数也是
8 位的。数据总线是双向的,可以进行 2 个方向的传送。
( 3 )、控制总线( Control Bus ,简写 CB )
控制总线实际上就是一组控制信号线,
包括单片机发出的, 以及从其它部件传送给单片机的。
15. 单片机外部扩展存储器地址分配的方法线选法和译码法。外部扩展存储器容量大小的确 定方法( 1)由该存储器芯片上的地址根数决定,如程序存储器芯片 14 根地址线,故
27128 有 A0 —A13 共
8 即
27128 的存储容量 =214=16KB ;(2 )用存储器芯片型号后面的数字÷
27128 的存储容量 =128 ÷8=16KB ;
可得到该芯片的存储容量,如
16. 存储器扩展的读写控制: (做最后一题时需要用到)
外扩的 RAM 芯片既能读出又能写入,所以通常都有读写控制引脚,记为 扩的 RAM 的读写控制引脚分别与
MCS-51 的 R D 和 WR 引脚相连。
O E 和 W E 。外
外扩的 EPROM 在正常使用中只能读出, 不能写入, 故 EPROM 的芯片没有写入控制引脚,
只有读出引脚,记为 OE ,该引脚与 MCS-51 的 PSEN 相连。
17. 在 MCS-51 单片机系统中,外接程序存储器和数据存储器共用 据线,为何不发生冲突?
外接程序存储器和数据存储器虽然共用
16 位地址线和八 8 位数
16 位地址线和 8 位数据线,但由于访问程序存储器
R D 或 WR
信号有效。而这些控制信号
时是 PSEN 信号有效,
而访问数据存储器时是
是由 MCS-51 执行访问外部外序存储器和或访问外部数据存储器的指令产生,任何时候只
能执行 1 种指令,只产生 1 种控制信号,所以不会产生数据冲突的问题。
17.
8 段共阴极数码管的断码如何编写。 ( 227 页)记两点即可:( 1)共阴极时 1 为亮 0 不亮;
( 2) abcdef 是按照顺时针走的,知道 g,dp 的位置。
18. 单片机晶振频率 fosc 与机器周期 Tcy 的关系式: 1Tcy=12/fosc 。 19. 编程题
(1 )循环程序的编写(即延时程序的编写)
(94 页 例 4—17)
例 4-17 、 50ms 延时程序。(注:一条 DJNZ 指令消耗两个机器周期)
DEL: MOV R7 , #200 DEL1: MOV R6 , #125 DEL2 :
DJNZ
R6 , DEL2
MOV R7 , DEL1 RET
( 2 )中断初始化程序的编写( 104 页 例 5 —1,107 页 例 5 —2 ) 知识点:(1 )中断允许寄存器 IE
MCS-51 的 CPU 的中断源的开放或屏蔽,是由片内的中断允许寄存器 IE 控制的。节地址为 A8H, 可进行位寻址。
的字
IE
EA ----- ----- ES ET1 EX1 ET0 EX0
EA :中断允许总控制位; ES :串行口中断允许位;
ET1 :定时器 /计数器 T1 的溢出中段允许位; ET0 :定时器 /计数器 T1 的溢出中段允许位; 注:当上述值置为 0
EX1 :外部中断 1 中段允许位; EX0 :外部中断 0 中段允许位;
时,表示禁止;置为 1 时表示允许。
如当 ET1=0 表示禁止 T1 溢出中断, ET1=1 (2 )中断优先级寄存器
表示允许 T1 溢出中断。
P
MCS-51 的片内有一个中断优先级寄存器 IP ,其字节地址为 B8H ,可位寻址。
------ ------ ----- PS PT1 PX1 PT0 PX0
PS: 串行口中断优先级控制位;
PT1 :定时器 T1 中断优先级控制位; PT0 :定时器 T0 中断优先级控制位; 注:当上述值置为
PX1 :外部中断 1 中断优先级控制位; PX0 :外部中断 0 中断优先级控制位;
1 时表示高优先级中断。
0 时,表示定义为低优先级中断;置为
例 5-1 、若允许片内 2 个定时器 /计数器中断,禁止其它中断源的中断请求。请
编写出设置
IE 的相应程序段:
(A )、用位操作指令编写如下程序段:
;禁止串行口中断 ;禁止外部中断 1 中断 ;禁止外部中断 0 中断
CLR CLR CLR SETB SETB SETB
ES EX1 EX0 ET0 ET1 EA
;允许定时器 /计数器 T0 中断 ;允许定时器 /计数器 T1 中断 ;CPU 开中断
(B )、用字节操作指令来编写:
MOV IE,#8AH
例 5-2 、设置 IP 寄存器的初始值, 使得 MCS-51 的 2 个外中断请求为高优先级,
其它中断
请求为低优先级。
(A )、用位操作指令编写如下程序段:
SETB SETB
CLR
PX0 PX1
; 2 个外中断请求为高优先级
PS
;串行口、 2 个定时器 /计数器为低优先级中断
CLR
PT0
CLR
PT1
(B )、用字节操作指令来编写: MOV IP,#05H
(3 )定时 /计数器 T0 或 T1 在指定工作方式下产生一个定时或者计数的程序编写。 例 6— 1,130 页 例 6— 4)
(125 页
(4 )书中有一道程序编写,但不知是哪一道,所以都找出来了(
99 页第 10 题、第 11 题,
117 页第 9 题、 14,136 页第 4 题)
4.10 试编写程序,查找在内部 RAM 的 30H~50H 单元中是否有 0AAH 则将 51H 单元置为“ 01H”;若未找到,则将 51H 单元置为“ 00H”。
这一数据。若有,
ORG MOV MOV
LOOP:
MOV CJNE MOV SJMP
NOT:
INC DJNZ MOV
DEND:
SJMP
0000H R0,#30H R2,#21H A,@R0 51H,#01H DEND R0
R2,LOOP 51H,#00H DEND
A,#0AAH,NOT
4.11
试编写程序, 查找在内部 RAM 的 20H~40H 单元中出现“ 00H”这一数据的次数。并
将查找到的结果存入 41H 单元。
ORG
0000H