1、第1章微型机基础小结本章主要介绍了计算机和单片机的发展历史及单片机的发展趋势,对计算机的-些基础知 识和概念做了阐述。要求掌握的内容有:各进制数之间的转换;原码、反码和补码的表示;BCD码、ASCII码 的表示;微处理器、微型计算机、单片机、三大总线即地址总线、数据总线、控制总线等概 念的解释:微型计算机硬件结构和软件系统的基本框架内容。思考题1.将下列二进制数转换为十进制数和十六进制数。0001 1010 B0011 0100 B(3)10101011 B2.将卜冽十进制数转换成BCD码和十六进制数。(1) 29 (2) 53 (3) 35.75 (4) 47.53.将下列BCD码转换为十进
2、制数。(1) (0100 0011) BCD (2) (0010 1001) BCD4.什么叫原码、反码和补码?5.已知原码如下,写出其反码和补码。(1)X 原=0101 1001 (3) X原= 1101 1011(2) X原=0011 1110 (4) X原= 1111 11006.当微 机把下列数看成无符号数时,它们相应的十进制数为多少?若把它们看成是补码,最高位 为符号位,求其真值7(1)10001110 (2)1011 0000 (3)0001 0001 (4)0111 01017.何 谓微处理器、微型计算机、单片机? 8.什么叫总线?系统总线分为哪三大总线,各有什么 作用? 9.什
3、么叫系统软件?什么叫应用软件?第2章MCS51系列单片机的结构与时序小结本章介绍MCS-51系列单片机的内部结构与外部引脚功能,主要讲述了 MCS-51系列单片 机的存储器系统与输入输出端口的结构。本章是全书的基础。1、MCS-51系列单片机的存储 器组织:MCS-51系列单片机的存储器分为四个物理空间:片内程序存储器、片外程序存储 器、片内数据存储器、片外数据存储器。片内数据存储器又分为RAM区(工作寄存器区、位 寻址区、用户RAM区)和专用寄存器区(SFR区)两个区域。不同的存储器与不同的存储器区 域,在访问时的指令、寻址方式、控制信号上均有所不同,必须熟练掌握各区域的地址范围、 控制与访
4、问方法。2、输入输出端口的结构与功能:输入输出端口归入SFR区进行编址,注意P0P3端口在结 构与功能上的区别,这在进行数据传送与片外存储器(接口)的扩展时尤其重要。3、CP U时序:MCS-51系列单片机执行指令的指令周期是用时钟周期来描述的,分为单周期指令、 双周期指令、四周期指令三种,在实时控制中,单片机的运行速度是一个重要的指标,决定 系统是否能正确的发挥控制作用,要注意恰当的使用指令以节约时间与空间。思考题二1简述MCS-51系列单片机的内部结构并说明主要部分的功能。2简述MCS51系列单片机控制引脚的功能3如何配置MCS51系列单片机的存储器?各存储器如何编址?怎样避免引起混乱?4
5、 MCS51系列单片机在访问片外数据存储器与片外程序存储器时的控制信号相同吗?5 MCS-51系列单片机片内数据存储器分为儿个区域?地址范围是多少?简述各区域的用 途。6什么是位地址?什么是字节地址?位地址30H在片内数据存储器的哪-个单元?7片内存储器中的7个特殊单元有何作用?8说明程序状态字PSW中常用状态位的定义。9什么叫当前.工作寄存器组? MCS51系列单片机如何选择当前.寄存器组?10 MCS51系列单片机P0P3的四个端口在结构有何异同?说明各端口的功能。11为什么P0P3 口称为“准双向”1/0 口?12 MCS51系列单片机外接晶振是如何使用XTAL1、XTAL2引脚?13何
6、谓时钟周期、机器周期、指令周期? MCS51列单片机的机器周期与振荡周期有什么 关系?如采用12MHz晶振,机器周期与指令周期各为多少?14结合复位后专用寄存器的值分析MCS51系列单片机的初始状态。第3章MCS-51指令系统小结本章介绍MCS-51系列单片机的指令系统,是汇编语言程序设计的基础,对每一条指令应掌 握其功能、格式及适用的寻址方式。MCS-51系列单片机的指令系统的指令按长度可分为单字节指令、双字节指令、三字节指令: 按指令周期可分为单机器周期指令、双机器周期指令、4个周期指令,含有立即寻址、寄存 器寻址、直接寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址七种基本的寸址方式,
7、具有丰富的位操作指令,对位的寻址均采用直接寻址方式。学习指令系统时,对于传送类指令,要注意访问程序存储器、片内数据存储器(RAM区和专 用寄存器区)、片外数据存储器时指令与寻址方式的区别。对运算类指令注意指令执行后对 程序状态字的影响。对控制转移类指令,要注意转移的条件、转移的目的地址、转移的范围。 思考题三1 MCS51系列单片机有几种寻址方式?各举-例。2对51 了系列与52子系列,分 别说明片内RAM与专用寄存器的寻址方式。3分析下列各组指令的不同功能:(DMOVA, #30H 与MOV A, 30HMOVA, R0 与MOV A, R0MOVA, DIRECT 与MOV A, R0MO
8、VA, R0 与MOVX A, R(K5)MOVXA, DPTR与MOVC A, QA+DPTR4试编写指令序列将片内数据存储器30H单元中 的内容送片外RAM3000H单元。5编程将片内数据存储器30H单元中的内容与片外RAM30H单元 的内容交换。6设A=76H, R0=30H,片内(30H)=48H, (Pl) =C7H, SP=50H,分析独立执行下列指令后的结 果:(DMOV A, R0(2)M0V A, R0(3)M0V A, #30HMOV A, 3OH(5)MOVX R0, A(6)MOV 80H, #22H (7)PUSH ACC(8)XCH A, R0(9)SWAP A(I
9、O)XCHI) A, R07 已知:A=38H, R1=37H, B=04H, C=l,片 内RAM (37H) =C5H, (P1)=49H,分别写出下列指令执行后的结果(包括状态位):(DADD A, R1ADDC A, 37HSUBB A, #20HINC R1 DEC 37H(6)MLL AB(7)DIV AB(8)ADD A, #30HDA A(10)ANL A, #OFH (li)ORL A, #OFHXRL A, #0FH8编程将片外RAM30IL 31H和321L 3311中的2个16位的无符号数 相减(高字节在高地址单元),结果存入片外RAM30II、31H单元。9请用3种方
10、法将累加器A 中的无符号数乘2。10用逻辑运算指令实现如下操作,但不得改变其他位:将累加器A的 最高位置1将累加器A的高4位清0清除累加器A的A. 6、A. 5、A. 4、A. 3 (4)将累加器A的A. 5、 A. 4取反11简述LJMP AA与AJMP AA的区别。12条件转移指令的转移范围是多少?举例说明怎样计 算转移的目的地址13比较RET与RETI的异同。14N0P指令有何用途? 15MCS51系列单片 机的直接寻址位有几种表示方法?各举一例。16用位操作指令实现如下逻辑表达式:(1) P1. 0二P2. 0(P2. 1+P2. 2)+P2. 3(2)P1. 7=P2. 0P2. 1
11、+A. 6e (P3. 1+P3. 2) 17 编程将片内RAM30H 单元开始的20个数传送到片外RAM3000H开始的单元中。18在片内RAM20H开始的单元中存有 20个无符号数,编程求出其中的最大值,存入片外RAM50H单元。19编程计算存放在片外 KAM30H单元开始的64个无符号数的平均值,结果存入片内RAM30H单元。20设计一查表程序,将从P0口接收的1位16进制数转化为LED的段选码后从Pl 口输出。21设 在片外RAM 0000H开始的单元中存有100个有符号数,编程统计其中的正数、负数和零的个数, 结果存入片内RAM30H、31H、32H。22从片内RAM30H单元开始的
12、存有5个组合BCD数,编程将 其转化为ASCII后存入片内RAM401I开始的单元中。第4章汇编语言程序设计教学目标介绍单片机汇编程序设计方法介绍单片机汇编程序常用结构及设计方法学习要求熟悉单片机编程的步骤、方法和技巧掌握单片机汇编程序的常用结构及设计方法单片机应用系统由硬件和软件两部分组成,在同样的硬件上,应用程序设计的好坏直接决 定系统的功能、使用方便性和可靠性等。单片机常用于工业测控现场,常用汇编语言来设计 单片机应用程序,其设计过程为:(1)软件任务分析:(2)数据类型和数据结构规划;(3)资源分配;(4)编程与调试。在编写程序代码之前,一般要先设计好程序流程图, 程序流程图的好坏直接
13、决定最后应用程序的优劣,因此程序流程图的设计特别重要。一个好 的程序流程图往往能起到事半功倍的效果,不仅对编写程序代码有重要的指导作用,对于程 序的调试、修改及他人的阅读源程序都会起很重要的作用。小结应用程序一般设计为:一个主程序和若干中断处理程序及若干子程序组成,在主程序中调 用这些子程序。主程序和子程序都采用模块式结构化设计,其结构有:(1)顺序结构;(2) 分支结构:(3)循环结构:(4)重复结构。典型智能仪表单片机系统应用软件常由:(1) 初始化监视程序:(2)键功能散转程序;(3)系统控制程序。它们分别完成(1)系统初 始化、系统测试、提示符显示和键盘扫描;(2)按键识别及散转到相应
14、程序模块执行相应 测控、外设操作功能;(3)根据键入命令和系统状态转移,控制程序流向。小结用汇编语言设计单片机应用程序的一般步骤是什么?1. 简述程序流程图设计方法。2. 汇编语言程序的儿种常用结构是什么?并画出各自的程序结构图。3. 简述了程序参数传递的几种方法。4. 用单片机构成智能仪表的典型应用程序由哪几部分组成?它们分别完成什么功能?7. 试编写将1位十六进制数(4位二进制数)转换为ASCII码程序。用R2作为入口和出口。8. 试编写一个散转程序,它根据R7R6中的数据转向对应的操作程序。9. 一个以BLK单元开始的无符号数据块,其长度存于LEN单元。现欲求出数据块中最大的 数,并存入
15、MAX单元。试编写一程用实现该功能。10. 试编写数据块传送程序,将起始地址为1000H的外部RAM中100个连续单元的内容送到 以4000H为首地址的区域中去。思考题四试编写一个单字节(v100)的十六进制数转换成甲字节BCD码数。11. 试编写程序,计算片内RAM区50H57H8个单元中数的算术平均值,结果存放在5EH 中。12. 试编写一个多字节无符号数加法子程序。13. 试编写一个多字节无符号数减法子程序试编写一个双字节无符号数乘法子程序14. 试编写一个双字节无符号数除法了程序。15. 试编写个散转程序,它根据R7R6中的数据转向对应的操作程序。(即R6R7中为程 序的入口地址,用J
16、MPA+DPTR,其中:A=0, R6R7-DPTR)在内部RAM中,存放了一个单字节无符号数数据块。试编写一个按增序排序的子程序, 数据块的首地址在R0中,字节数在R7中。16. 设有一个MCS-51单片机控制系统,需按照从键盘输入的命令执行不同的操作。输入命 令为ASCII字符串形式,以回车(0DH)结束,放在由(R0)指示的内部RAM中。命令共 有RESET, BEGIN, STOP, SEDN, CHNNEL, CHANGE等六种,分另U称为OOH, 01H, 02H, 03H, 04H, 05H号命令。现要求按(R0)指示的字符串找出对应的命令号,并存放 到R2中。试编写一程序实现该
17、功能。第5章中断系统及其应用小结本章就中断的概念、中断系统、中断控制、中断处理、中断服务程序的编制和应用,进行了 比较详细的阐述。引入中断后,计算机的效率得到了很大的提高,在解决实时控制的问题时, 变得非常的灵活和方便,应用非常广泛。主要内容有:中断、中断源、中断服务程序、保护 现场、恢复现场等概念;中断流程、中断嵌套、中断优先级、中断处理等过程的实现;MCS-51 中断入口地址:各中断控制寄存器的每位含义:包括定时器/计数器控制寄存器TCON、串 行口控制寄存器SCON、中断允许控制寄存器IE和中断优先控制器IP;中断初始化和中断服 务程序的编制等。1. 什么叫中断?中断系统一般应具备哪些功
18、能? 2.中断服务程序和于程序的主要区别是什 么? 3. MCS-51中断系统有几个中断源?中断源的名称是什么? 4. MCS-51中断系统有儿 级中断优先级?它是如何控制的? 5. MCS-51单片机响应中断后,中断入口地址各是多少?5. 一个完整的中断处理的基本过程包括哪些内容? 7.中断响应后,是怎样保护断点和保护 现场的?8.试编写一段对中断系统进行初始化的程序,使之允许INTO、INTL TO和串行曰 中断,且使串行口中断为高优先级中断。思考题五第6章定时/计数器及应用小结在MCS51单片机内部含有两个16位定时/计数器:T0和T1,它们由振荡器分频输入电 路、外部计数脉冲输入电路、
19、计数脉冲选择电路、计数启停电路、加1计数器和中断标志等 组成。其核心是一个加1计数器,每输入一个脉冲,计数值加1,当计数到计数器全为1时, 再输入一个脉冲就使计数值回零,同时从最高位溢出一个脉冲使控制寄存器TCON的 TFX(X=O或1)位置1,作为计数器的溢出中断标志。T0和T1的启动和停止由方式寄存器TMOD 的GATE位控制:GATE为0时,由寄存器TCON的TRX(X=O或1)位启动(这时TRX=1)或停止(这时 TRX=O) ;GATE位为1, H.TRX(X=0或1)为1时,由中断引脚INTX(X=O或1)的外部信号电平启动(这 时INTX=1)或停止(这时INTX=O) o通过方
20、式寄存器TMOD的C/T位来选择加1计数器计数脉冲的来源:当C/T=l时,计数脉冲来自 系统外部的脉冲源,这时定时/计数器成为外部事件计数器,工作于计数器状态;当C/T=O 时,计数脉冲来自系统的时钟振荡器的12分频,由于这时的计数脉冲为一时间基准,脉冲数 乘以脉冲间隔时间就是定时时间,这时定时/计数器工作于定时器状态。通过方式寄存溶TMOD的M1M0位来设定TO和T1的工作方式:当M1M0两位为00时,定时/计数器被选为工作方式0, 16位寄存器(TH0和TLO)只用13位,由TH0的8位和TLO的低5位构成,因此方式0是一个13位的定时/计数器;当M1M0两位为01时,定时/计数器被选为工
21、作方式1,它与方式0基本相同,只是方式1改用 了 16位寄存器(THO和TLO)的全部16位:当M1M0两位为10时,定时/计数器被选为工作方式2, 16位计数器分作两个8位计数器,TLO 作为8位计数器,THO用作保存计数初值,一旦TLO计数溢出,便置位TFO,并将THO的内容重 新装入TLO中进行新的一轮计数,如此循环重复不止,常将T1设定为方式2用作串行接口的 波特率发生器;当M1M0两位为11时,定时/计数器被选为工作方式3,定时器T0在方式3下分成两个独立的 计数器TLO和THO,其中,TLOnJ用作定时或计数器,并占用定时器T0的所有控制位(GATE, C/T, TRO, INTO
22、和TFO),而THO固定作为定时器用,并借用定时器T1的TR1和TF1, 这时TII0控制着定时器的T1中断,在方式3下,定时器T1将停止计数,只是保持其计数值, 与置TR1为0等效。思考题六1.8051单片机内部设有几个定时/计数器?它们是由哪些专用寄存器组成?定时、计数的速 率(即计数频率)各为多少?2. 简述定时/计数器的四种工作方式及其特点,并说明如何选择和设定?3. 选用T1方式0产生500US的定时,在P1.0,输出周期为1ms的方波,晶振fosc=6MHz己知8051单片机系统时钟频率为6MHz,试用定时器TO方式2和Pl口输出周期性矩形脉冲, 其周期为400 u s,正脉冲宽度
23、为400 u so4. 试用定时器T1设计外部事件计数器。要求每计数1万个脉冲,就将T1转为10ms定时方式, 当定时到后,乂转为计数方式,如此反复循环不止。当系统的时钊濒率为6MHz时,编写相应 程序。5. 已知8051单片机系统时钟频率为6MHz,利用其定时器方式1测量某正脉冲宽度时,能测量 的最大脉宽是多少?若脉宽大于此极限值时,采用何种办法测晟?第7章单片机系统扩展小结在很多情况下,构成个单片机应用系统时,考虑到传感器接口、伺服控制接口以及人机对 话接口等的需要,必须在片外扩展相应的外围芯片,这就是系统扩展。它包括程序存储器 (ROM)扩展、数据存储器(RAM)扩展、I/OLI扩展等。
24、MCS-51单片机片外引脚可以构成三总线结构,即地址总线(AB)、数据总线(DB)和控制总线 (CB),所有的外部芯片都是通过这三组总线进行扩展。由于P0口分时用作数据总线和地址 总线的低8位,因此必须采用地址锁存器将P0口输出的低8位地址进行锁存。小结根据地址总线宽度,在片外可扩展的程序存储器和数据存储器最大容昂:都为64KB,地 址范围为OOOOHFFFFH。扩展的程序存储器和数据存储器的地址范围虽然相同,但可通过 不同的指令和控制信号加以区别。读片外程序存储器采用MOVC指令和取指信号;读和写片 外数据存储器采用MOVX指令和、片外数据读、与信号。PSENRDWR扩展的I/O口与片外数据
25、存储器采用统一编址,这样做的优点是不必为扩展的I/O另外提供地 址线,减少单片机的引脚数。但当应用系统需要扩展较多的I/O口时,要占去大量的数据存 储器的地址。当片外扩展单一芯片(存储器和I/O芯片)时,该芯片的片选信号可以直接接地;当扩展多片程 序存储器或多片数据存储器(包括I/O 口芯片)时,所有芯片的片选端都必须按照地址线进行选 择,常用线选法或地址译码法。片外扩展的程序存储器常用EPROM和EEPROM,片外扩展的数据存储器常用静态RAM和 EEPROM,扩展I/O口常用数据总线进行,在申行口不作它用时,还可以用串行口外接并入 串出移位寄存器和串入并出移位寄存器,扩展并行输入I I和并
26、行输出1。用数据总线扩展并 行I/O时,可采用简单的8位三态缓冲器和8位三态锁存器扩展并行输入I I和输出I I,也可以 采用可编程I/O芯片扩展并行I/O 口。思考题七MCS-51单片机与外部扩展的存储器相接时,为何低8位地址信号需通过地址锁存器,而 高8位不需经过地址锁存器?1. 在MCS-51扩展系统中,程序存储器和数据存储器共有16位地址和8位数据线,为什么两 个存储空间不会发生冲突?2. 利用74LS138设计一个译码电路,分别选中8片6116, H.列出各芯片所占的地址空间范围。3. 程厅;存储器的扩展和数据存储器的扩展有何异同?试在8031芯片外采用2732作ROM, 6116作
27、RAM,扩展具有12KB ROM和6KB RAM的存储系统。5.8255芯片内部有哪儿个主要部分?各部分的功能如何?思考题七JTJ8255和8031构成一个EPROM2732的编程器接口,该系统含2K/节的EPROM外部程 序存储器和两片6116共4K字节的数据存储器。用8255作为EPROM2732的编程器接口, 8255的A、B、CII均设置为方式0输出,Al I作为编程数据输出I I, Bl I为编程器的低8位地 址输出口,PC0PC3为高4位地址输出口,PC7为编程信号输出端。试设计该编程器的硬件 电路和编程写出子程序。6. 试利用8031的并行口设计一个接口电路和相应的软件,用于读取8位开关信号,并用8个 LED显示对应开关的状态。7. 试利用8031设计2位数码管显示电路,并编制相应的显示程序。考试事项考试日期:?月?号(星期?)考试时间:?(100分钟)考试形式:半开卷,允许带一页 A4纸。题型:选择、填空、判断、程序分析、电路分析、编程。答疑时间:?月?号(星期?) 上午:9:00-11:30下午:14:0016:00答疑地点:信电楼B518室