《单片机原理与接口技术复习重点》由会员分享,可在线阅读,更多相关《单片机原理与接口技术复习重点(216页珍藏版)》请在金锄头文库上搜索。
1、单片机原理及应用,试卷构成,1 选择题 1分*1515分 2 填空题 1分*1515分 3 阅读程序 5分4=20分 4 简单程序设计 10分2=20分 5 应用题 152=30分 试题范围: 课本相关理论知识与编程设计、实验、作业,第2章 MCS-51系列单片机的结构和原理,1掌握单片机的基本结构(CPU、ROM、RAM、 定时/计数器、并行I/O、全双工串行口、中断系统、 总线结构)。 2掌握特殊功能寄存器SFR的功能、作用及它们复位后的状态。 3掌握存储器的组织结构(分ROM和RAM)及对应的寻址方式。 4了解单片机的工作时钟与时序。,2.1 单片机内部组成及引脚功能,MCS-51系列单
2、片机有3种类型的产品:8051、8751和8031,其主要差别:8051内设有4KB的掩膜ROM;8751内设有4KB的EPROM;8031内没有ROM。,51子系列的主要特点为: 8位CPU。 片内带振荡器,频率范围1.212MHZ。 片内带256字节的数据存储器。 片内带4K的程序存储器。 程序存储器的寻址空间为64K字节。 片外数据存储器的寻址空间内64K字节。 128个用户位寻址空间。,2.1.1 单片机内部结构,1.微处理器即CPU,包括运算器和控制器。 (1)运算器ALU:进行算术或逻辑运算部件; (2)控制器:产生各种控制信号,控制计算机工作的部件。,2.内部数据存储器共有256
3、B(00HFFH),其中低128B(00H7FH)用户使用;高128B(80HFFH)为专用寄存器。 3.内部程序存储器8051有4KB(0000H0FFFH)ROM,用于存放程序、原始数据或表格常数。 4. 定时器/计数器2个16位定时/计数器。 5.并行I/O口共有4个8位I/O口(P1、P2、P3、P4)。 6.串行口1个全双工的异步串行口,实现串行数据传送。 7. 中断控制系统 2个外中断、2个定时/计数中断和1个串行口中断。 8. 时钟电路为单片机产生时钟脉冲序列,1.2MHz12MHz。,2.1.2 MCS-51的引脚功能,MCS-51单片机的40引脚双列直插式(DIP)封装结构如
4、下图。,表2-1 P3各口线的第二功能表,片外总线结构,1数据总线数据总线宽度为8位,由P0口直接提供。 2地址总线地址总线宽度为16位,寻址范围都为64KB。由P0口经地址锁存器提供低8位(A7A0),P2口提供高8位(A15A8)而形成。可对片外程序存储器和片外数据存储器寻址。 3控制总线控制总线由第二功能状态下的P3口和4根独立的控制线RST、EA、ALE和PSEN组成。,2.3 存储器组织,2.3.1 MCS-51储存器特点,物理上分为:4个空间,即片内ROM、片外ROM片内RAM、片外RAM 逻辑上分为:3个空间,即程序内存(片内、外)统一编址 MOVC数据存储器(片内) MOV数据
5、存储器(片外) MOVX,2.3.2 片内数据存储器,1、片内数据存储器低128B(字节地址为00H7FH),(1)通用寄存器区00H1FHR0R7;单片机复位后自动选择工作寄存器0区。,8051的片内8位地址寻址,寻址范围为256个单元(00HFFH),(2)位寻址区20H2FH:可进行128位的位寻址 (3)用户RAM区30H7FH:用户RAM区,字节寻址,用作数据缓冲区以及堆栈区。,表2-3 8051RAM区位地址分配表,(1)位寻址区的访问SETB 7FH ; 7FH1等价于 SETB 2FH.7,两点说明:,(2)堆栈堆栈是在内存RAM中开辟的一个特定的存储区,专门用来暂存数据或断点
6、地址,并按照“先进后出,后进先出”的原则进行操作。,栈底是固定的,栈顶会自动地向地址递增的方向变化。,系统复位后,SP被初始化位07H。,2、片内数据存储器高128B,表2-4 特殊功能寄存器SFR地址表,特殊功能寄存器(SFR)也称专用寄存器,专门用于控制、管理片内算术逻辑部件、并行I/O口、串行口、定时/计数器、中断系统等功能模块的工作。,(1)累加器ACC累加器ACC(简称为A)为一个8位的寄存器,它是CPU中使用最频繁的寄存器,ALU进行运算时,数据绝大多数时候都来自于累加器ACC,运算结果也通常送回累加器ACC。,(3)堆栈指针SP堆栈指针SP是一个8位寄存器,用它存放栈顶的地址。数
7、据入栈时,先SP自动加1,后写入数据;数据出栈时,先读出数据,后SP自动减 1;SP始终指向栈顶地址。复位时 SP=07H。但在程序设计时应将SP值初始化为30H以后,以免占用宝贵的寄存器区和位地址区。,(2)B寄存器主要用于乘法和除法运算。,(4)程序状态字PSW程序状态字PSW是一个8位的寄存器,它用于保存指令执行结果的状态,以供程序查询和判别。,Cy 进位/借位标志;位累加器。 AC 辅助进/借位标志;用于十进制调整。 F0 用户定义标志位;软件置位/清零。 OV 溢出标志; 硬件置位/清零。 P 奇偶标志;A中1的个数为奇数 P = 1;否则 P = 0。 RS1、RS0 寄存器区选择
8、控制位。0 0 : 0区 R0 R70 1 : 1区 R0 R71 0 : 2区 R0 R71 1 : 3区 R0 R7,(5)数据指针DPTRDPTR为16位寄存器,也可按两个8位寄存器使用:DPH:DPTR高位字节DPL:DPTR低位字节,(6)程序计数器PCPC用于存放下一条执行的指令地址,是一个16位专用寄存器,可寻址64KB。PC有自动加1的功能,PC没有地址,不可寻址。复位后,PC0000H。,67H=01100111B 58H=01011000B0 1 1 0 0 1 1 1B + 0 1 0 1 1 0 0 0B1 0 1 1 1 1 1 1 =0BFH则执行后累加器A中的值为
9、0BFH,由相加过程得Cy=0、AC=0、OV=1、P=1。,例: 试分析下面指令执行后,累加器A,标志位Cy、AC、OV、P的值?MOV A,#67HADD A,#58H,分析:第一条指令执行时把立即数67H送入累加器A,第二条指令执行时把累加器A中的立即数67H与立即数58H相加,结果回送到累加器A中。加法运算过程如下:,2.3.3 片内程序存储器,寻址范围:0000H FFFFH 容量64KB,即地址长度:16位,,寻址内部ROM;,,寻址外部ROM。,当PC值超过片内ROM容量时会自动转向外部存储器空间。,作 用: 存放程序及程序运行时所需的常数。,0000H 系统复位,PC指向此处;
10、 0003H 外部中断0入口 000BH T0溢出中断入口 0013H 外中断1入口 001BH T1溢出中断入口 0023H 串口中断入口,1. P0 口(P0.0P0.7,3932 脚)为三态双向口 (1)P0口作地址/数据复用总线使用(低8位) (2)P0口作通用I/O端口使用 (3)P0口线上的“读修改写”功能 2. P1 口(P1.0P1.7、18 脚)准双向口 3. P2 口(P2.0P2.7,2128 脚)准双口 (1)P2口作通用I/O端口使用 (2)P2口作地址总线口使用(高8位) 4. P3 口(P3.0P3.7、1017 脚)双功口 (1)P3口作第一功能口(通用I/O端
11、口)使用 (2)P3口作第二功能口使用,2.4 并行I/O端口,多路开关 1)功能:用于控制选通I/O方式还是地址/数据输出方式控制信号为0,I/O状态;控制信号为1,地址/数据总线 2)方式控制:由内部控制信号产生,1个输出锁存器 锁存,就是把信号暂存以维持某种电平状态,2个输入缓冲器(BUF1和BUF2) 将外设送来的数据暂时存放,I/O驱动器,2.4 并行I/O端口,共有4个8位双向I/O口,共32口。每位均有自己的锁存器,输出驱动器和输入缓冲器。,1,0,2.4.1 P0口位图内部结构,(1)通用输出此时必须外接上拉电阻。 (2)通用输入 读引脚:CPU在执行“MOV”类输入指令时(如
12、:MOV A , P0),内部产生的操作信号是“读引脚”。P0.X引脚上的数据经过缓冲器2读入到内部总线。,1、P0口作通用I / O口使用,2、 P0口作地址/数据总线不必外接上拉电阻。,读锁存器:CPU在执行“读-改-写”类输入指令时(如:ANL P0, A ),锁存器中的数据经过缓冲器1送到内部总线,然后与A的内容进行逻辑“与”,结果送回P0锁存器并出现在引脚。,注意:在读引脚时,必须先向电路中的锁存器写入1。MOV P0, #0FFHMOV A, P0,P1口内部结构如下图所示 输出部分有内部上拉电阻R*约为20K。 其他部分与P0端口使用相类似(读引脚时先写入1)。,写数据,读端口,
13、MOV P1, #0FFH JNB P1.1, $ CLR P1.0,2.4.2 P1口内部结构,2.4.3 P2口内部结构,说明: 1、P2可以作为通用的I/O,也可以作为高8位地址输出。 2、当控制信号为1时 P2口输出地址信息, 此时单片机完成外部的取指操作或对外部数据存储器16位地址的读写操作。 3、当P2口作为普通I/O口使用时用法和P1口类似。,2.4.4 P3口内部结构,说明: 1、做普通端口使用时,第二功能应为“1”。,2、使用第二功能时,输出端口锁存器应为“1”。 3、第二功能( )P3.0 TXD P3.4 T0P3.1 RXD P3.5 T1P3.2 INT0 P3.6
14、WRP3.3 INT1 P3.7 RD,2.5.2 时序定时单位,1、振荡周期:也称为节拍(用P表示),Tosc = 1/fosc 2、状态周期:用S表示,是振荡周期的2倍,分为P1和P2两个节拍。 3、机器周期:CPU完成一个基本操作所需要的时间。 执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。MCS-51单片机每12个振荡周期为一个机器周期。 4、执令周期:即从取指到执行完一条指令所需时间。,CPU执行一条指令的各个微操作所对应时间顺序称为CPU时序。,8031对片外RAM和ROM的连接,(1)对片外ROM的读操作MOVC A, A+DPTR (2)对片外RAM的写操作MOV
15、X DPTR, A,第一阶段是根据程序计数器PC到片外ROM中取指令码; 第二阶段是对累加器A和DPTR中16位地址进行运算,并把运算得到的和的地址去片外ROM取出所需要常数送到累加器A。,读片外ROM的指令时序: MOVC A, A+DPTR,读片外RAM的指令时序: MOVX A, DPTR,2.6 MCS-51 单片机工作方式,2.6.1 复位电路与复位方式,1、复位方式在RST/VPD端持续给出2个机器周期的高电平就可以完成复位操作(一般复位正脉冲宽度大于10 ms)。,使单片机内各寄存器的值变为初始状态的操作称为复位。,1、 8051 的引脚RST是_(IN脚还是OUT脚),当其端出
16、现_电平时,8051进入复位状态;复位后PC=_。8051一直维持这个值,直到RST脚收到_电平, 8051脱离复位状态, 进入程序运行状态。 2、 MCS51单片机的CPU每取一个指令字节,立即使( )A.堆栈指针SP自动加1 B.数据指针DPTR自动加1C.程序计数器PC自动加1 D.累加器A自动加1 3MCS51单片机的主程序应该从哪个单元开始存放?为什么? 4、单片机上电后或复位后,工作寄存器R2是在( ) A、0区01H单元 B、0区02H单元 C、0区0BH单元 D、SFR 58051复位后,PC与SP的值为( ) A、0000H,00H B、0000H,07H C、0003H,07H D、0800H,00H,