源程序能直接执行吗本文由海纳俱进贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
第1章微型机基础 小结 本章主要介绍了计算机和单片机的发展历史及单片机的发展趋势, 对计算机的一些基础知 识和概念做了阐述。 要求掌握的内容有:各进制数之间的转换;原码、反码和补码的表示;BCD码、ASCII码 的表示;微处理器、微型计算机、单片机、三大总线即地址总线、数据总线、控制总线等概 念的解释;微型计算机硬件结构和软件系统的基本框架内容。 思考题一1. 将下列二进制数转换为十进制数和十六进制数。 0001 1010 B (2) 0011 0100 (1) B (3) 1010 1011 B2.将下列十进制数转换成BCD码和十六进制数。 (1)29 (2)53 (3) 35.75 (4)47.53.将下列BCD码转换为十进制数。 (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.当微 机把下列数看成无符号数时,它们相应的十进制数为多少? 若把它们看成是补码,最高位 为符号位, 求其真值? (1) 1000 1110 (2) 1011 0000 (3) 0001 0001 (4) 0111 01017. 何 谓微处理器、微型计算机、单片机?8.什么叫总线?系统总线分为哪三大总线,各有什么 作用?9.什么叫系统软件?什么叫应用软件? 第2章MCS--51系列单片机的结构与时序 小结本章介绍MCS—51系列单片机的内部结构与外部引脚功能, 主要讲述了MCS—51系列单片 机的存储器系统与输入输出端口的结构。本章是全书的基础。1、MCS—51系列单片机的存储 器组织:MCS—51系列单片机的存储器分为四个物理空间:片内程序存
储器、片外程序存储 器、片内数据存储器、片外数据存储器。片内数据存储器又分为RAM区(工作寄存器区、位 寻址区、用户RAM区)和专用寄存器区(SFR区)两个区域。不同的存储器与不同的存储器区 域, 在访问时的指令、 寻址方式、 控制信号上均有所不同, 必须熟练掌握各区域的地址范围、 控制与访问方法。 2、输入输出端口的结构与功能:输入输出端口归入SFR区进行编址,注意P0~P3端口在结 构与功能上的区别,这在进行数据传送与片外存储器(接口)的扩展时尤其重要。3、CP U时序: MCS—51系列单片机执行指令的指令周期是用时钟周期来描述的, 分为单周期指令、 双周期指令、四周期指令三种,在实时控制中,单片机的运行速度是一个重要的指标,决定 系统是否能正确的发挥控制作用,要注意恰当的使用指令以节约时间与空间。 思考题二 1 简述MCS—51系列单片机的内部
结构并说明主要部分的功能。 2 简述MCS—51系列单片机控制引脚的功能。 3 如何配置MCS—51系列单片机的存储器?各存储器如何编址?怎样避免引起混乱? 4 MCS—51系列单片机在访问片外数据存储器与片外程序存储器时的控制信号相同吗? 5 MCS—51系列单片机片内数据存储器分为几个区域?地址范围是多少?简述各区域的用 途。 6 什么是位地址?什么是字节地址?位地址30H在片内数据存储器的哪一个单元? 7 片内存储器中的7个特殊单元有何作用? 8 说明程序状态字PSW中常用状态位的定义。 9 什么叫当前工作寄存器组?MCS—51系列单片机如何选择当前寄存器组? 10 MCS—51系列单片机P0~P3的四个端口在结构有何异同?说明各端口的功能。 11 为什么P0~P3口称为“准双向”I/O口? 12 M
CS—51系列单片机外接晶振是如何使用XTAL1、XTAL2引脚? 13 何谓时钟周期、 机器周期、 指令周期?MCS—51系列单片机的机器周期与振荡周期有什么 关系?如采用12MHz晶振,机器周期与指令周期各为多少? 14 结合复位后专用寄存器的值分析MCS—51系列单片机的初始状态。 第3章MCS-51指令系统 小结 ?本章介绍MCS—51系列单片机的指令系统,是汇编语言程序设计的基础,对每一条指令应掌 握其功能、格式及适用的寻址方式。 ?MCS—51系列单片机的指令系统的指令按长度可分为单字节指令、 双字节指令、 三字节指令;
按指令周期可分为单机器周期指令、双机器周期指令、4个周期指令,含有立即寻址、寄存 器寻址、直接寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址七种基本的寻址方式, 具有丰富的位操作指令,对位的寻址均采用直接寻址方式。 ?学习指令系统时,对于传送类指令,要注意访问程序存储器、片内数据存储器(RAM区和专 用寄存器区)、片外数据存储器时指令与寻址方式的区别。对运算类指令注意指令执行后对 程序状态字的影响。 对控制转移类指令, 要注意转移的条件、 转移的目的地址、 转移的范围。 思考题三1 MCS—51系列单片机有几种寻址方式?各举一例。2 对51子系列与52子系列,分 别说明片内RAM与专用寄存器的寻址方式。3 分析下列各组指令的不同功能:⑴MOVA, #30H 与MOV A, 30H⑵MOVA, R0 与MOV A, @R0⑶MOVA, DIRECT 与MOV A, @R0⑷MOVA, @R0 与MOVX A, @R0⑸MOVXA, @DPTR 与MOVC A, @A+DPTR4 试编写指令序列将片内数据存储器30H单元中 的内容送片外RAM3000H单元。5 编程将片内数据存储器30H单元中的内容与片外RAM30H单元 的内容交
换。 6 设A=76H,R0=30H,片内(30H)=48H,(P1)=C7H,SP=50H,分析独立执行下列指令后的结 果:⑴MOV A, R0⑵MOV A,@R0⑶MOV A, #30H⑷MOV A, 30H⑸MOVX @R0, A⑹MOV 80H, #22H
⑺PUSH ACC⑻XCH A, R0⑼SWAP A⑽XCHD A, @R07 已知:A=38H,R1=37H,B=04H,C=1,片 内RAM(37H)=C5H, (P1)=49H,分别写出下列指令执行后的结果(包括状态位):⑴ADD A, @R1⑵ADDC A, 37H ⑶SUBB A, #20H⑷INC R1⑸DEC 37H⑹MUL AB⑺DIV AB⑻ADD A, #30H⑼DA A⑽ANL A, #0FH ⑾ORL A, #0FH⑿XRL A, #OFH8 编程将片外RAM30H、31H和32H、33H中的2个16位的无符号数 相减(高字节在高地址单元),结果存入片外RAM30H、31H单元。9 请用3种方法将累加器A 中的无符号数乘2。10 用逻辑运算指令实现如下操作,但不得改变其他位:⑴将累加器A的 最高位置1 ⑵将累加器A的高4位清0⑶清除累加器A的A.6、 A.5、 A.4、 A.3 ⑷将累加器A的A.5、 A.4取反 11 简述LJMP AA 与AJMP AA的区别。12 条件转移指令的转移范围是多少?举例说明怎样计 算转移的目的地址13 比较RET 与RETI 的异同。14 NOP指令有何用途?15 MCS—51系列单片 机的直接寻址位有几种表示方法?各举一例。16 用位操作指令实现如下逻辑表达式:⑴ P1.0=P2.0?(P2.1+P2.2)+P2.3⑵P1.7=P2.0?P2.1+A.6⊕(P3.1+P3.2)17 编程将片内RAM30H 单元开始的20个数传送到片外RAM3000H开始的单元中。18 在片内RAM20H开始的单元中存有 20个无符号数,编程求出其中的最大值,存入片外RAM50H单元。19 编程计算存放在片外 RAM30H单元开始的64个无符号数的平均值,结果存入片内RAM30H单元。 20 设计一查表程序, 将从P0口接收的1位16进制数转化为LED的段
选码后从P1口输出。 设 21 在片外RAM 0000H开始的单元中存有100个有符号数, 编程统计其中的正数、 负数和零的个数, 结果存入片内RAM30H、31H、32H。22 从片内RAM30H单元开始的存有5个组合BCD数,编程将 其转化为ASCII后存入片内RAM40H开始的单元中。 第4章汇编语言程序设计 ●教学目标 介绍单片机汇编程序设计方法 介绍单片机汇编程序常用结构及设计方法 ●学习要求 熟悉单片机编程的步骤、方法和技巧 掌握单片机汇编程序的常用结构及设计方法 单片机应用系统由硬件和软件两部分组成,在同样的硬件上,应用程序设计的好坏直接决 定系统的功能、使用方便性和可靠性等。单片机常用于工业测控现场,常用汇编语言来设计 单片机应用程序,其设计过程为:(1)软件任务分析:(2)数据类型和数据结构规划; (3)资源分配;(4)编程与调试。 在编写程序代码之前,一般要先设计好程序流程图, 程序流程图的好坏直接决定最后应用程序的优劣, 因此程序流程图的设计特别重要。 一个好 的程序流程图往往能起到事半功倍的效果, 不仅对编写程序代码有重要的指导作用, 对于程 序的调试、修改及他人的阅读源程序都会起很重要的作用。小结 应用程序一般设计为:
一个主程序和若干中断处理程序及若干子程序组成,在主程序中调 用这些子程序。主程序和子程序都采用模块式结构化设计,其结构有: (1)顺序结构; (2) 分支结构; (3)循环结构; (4)重复结构。 典型智能仪表单片机系统应用软件常由: (1)
初始化监视程序;(2)键功能散转程序;(3)系统控制程序。它们分别完成(1)系统初 始化、系统测试、提示符显示和键盘扫描;(2)按键识别及散转到相应程序模块执行相应 测控、外设操作功能;
(3)根据键入命令和系统状态转移,控制程序流向。小结 1.用汇编语言设计单片机应用程序的一般步骤是什么? 2.简述程序流程图设计方法。 3.汇编语言程序的几种常用结构是什么?并画出各自的程序结构图。 4.简述子程序参数传递的几种方法。 5.用单片机构成智能仪表的典型应用程序由哪几部分组成?它们分别完成什么功能? 7.试编写将1位十六进制数(4位二进制数)转换为ASCII码程序。用R2作为入口和出口。 8.试编写一个散转程序,它根据R7R6中的数据转向对应的操作程序。 9.一个以BLK单元开始的无符号数据块,其长度存于LEN单元。现欲求出数据块中最大的 数,并存入MAX单元。试编写一程序实现该功能。 10. 试编写数据块传送程序, 将起始地址为1000H的外部RAM中100个连续单元的内容送到 以4000H为首地址的区域中去。思考题四 11.试编写一个单字节(<100)的十六进制数转换成单字节BCD码数。 12.试编写程序,计算片内RAM区50H~57H 8个单元中数的算术平均值,结果存放在5EH 中。 13.试编写一个多字节无符号数加法子程序。 14.试编写一个多字节无符号数减法子程序 15.试编写一个双字节无符号数乘法子程序 16.试编写一个双字节无符号数除法子程序。 17.试编写一个散转程序,它根据R7R6中的数据转向对应的操作程序。(即R6R7中为程 序的入口地址,用JMP @A+DPTR, 其中:A=0,R6R7→DPTR) 18.在内部RAM中,存放了一个单字节无符号数数据块。试编写一个按增序排序的子程序, 数据块的首地址在R0中,字节数在R7中。 19.设有一个MCS-51单片机控制系统,需按照从键盘输入的命令执行不同的操作。输入命 令为ASCII字符串形式,以回车(0DH)结束,放在由(R0)指示的内部RAM中。命令共 有RESET,BEGIN,STOP,SEDN,CHNNEL,CHANGE等六种,分别称为00H,01H, 02H,03H,04H,05H号命令。现要求按
(R0)指示的字符串出对应的命令号,并存放 到R2中。试编写一程序实现该功能。 第5章中断系统及其应用 小结 本章就中断的概念、中断系统、中断控制、中断处理、中断服务程序的编制和应用,进行
了 比较详细的阐述。 引入中断后, 计算机的效率得到了很大的提高, 在解决实时控制的问题时, 变得非常的灵活和方便,应用非常广泛。主要内容有:中断、中断源、中断服务程序、保护 现场、 恢复现场等概念; 中断流程、 中断嵌套、 中断优先级、 中断处理等过程的实现; MCS-51 中断入口地址;各中断控制寄存器的每位含义:包括定时器/计数器控制寄存器TCON、串 行口控制寄存器SCON、中断允许控制寄存器IE和中断优先控制器IP;中断初始化和中断服 务程序的编制等。 1.什么叫中断?中断系统一般应具备哪些功能?2. 中断服务程序和子程序的主要区别是什 么?3.MCS-51中断系统有几个中断源? 中断源的名称是什么?4.MCS-51中断系统有几 级中断优先级? 它是如何控制的?5. MCS-51单片机响应中断后, 中断入口地址各是多少? 6. 一个完整的中断处理的基本过程包括哪些内容?7. 中断响应后,是怎样保护断点和保护 现场的?8.试编写一段对中断系统进行初始化的程序,使之允许INT0、INT1、T0和串行口 中断,且使串行口中断为高优先级中断。思考题五 第6章定时/计数器及应用 小结在MCS-51单片机内部含有两个16位定时/计数器:T0和T1,它们由振荡器分频输入电 路、外部计数脉冲输入电路、计数脉冲选择电路、计数启停电路、加1计数器和中断标志等 组成。其核心是一个加1计数器,每输入一个脉冲,计数值加1,当计数到计数器全为1时,再输入一个脉冲就使计数值回零,同
时从最高位溢出一个脉冲使控制寄存器TCON的 TFX(X=0或1)位置1,作为计数器的溢出中断标志。T0和T1的启动和停止由方式寄存器TMOD
的GATE位控制:GATE为0时,由寄存器TCON的TRX(X=0或1)位启动(这时TRX=1)或停止(这时 TRX=0); GATE位为1, 且TRX(X=0或1)为1时, 由中断引脚INTX(X=0或1)的外部信号电平启动(这 时INTX=1)或停止(这时INTX=0)。 通过方式寄存器TMOD的C/T位来选择加1计数器计数脉冲的来源:当C/T=1时,计数脉冲来自 系统外部的脉冲源,这时定时/计数器成为外部事件计数器,工作于计数器状态;当C/T=0 时,计数脉冲来自系统的时钟振荡器的12分频,由于这时的计数脉冲为一时间基准,脉冲数 乘以脉冲间隔时间就是定时时间,这时定时/计数器工作于定时器状态。 通过方式寄存器TMOD的M1M0位来设定T0和T1的工作方式: 当M1M0两位为00时,定时/计数器被选为工作方式0,16位寄存器(TH0和TL0)只用13位, 由TH0的8位和TL0的低5位构成,因此方式0是一个13位的定时/计数器; 当M1M0两位为01时,定时/计数器被选为工作方式1,它与方式0基本相同,只是方式1改用 了16位寄存器(TH0和TL0)的全部16位; 当M1M0两位为
10时,定时/计数器被选为工作方式2,16位计数器分作两个8位计数器,TL0 作为8位计数器,TH0用作保存计数初值,一旦TL0计数溢出,便置位TF0,并将TH0的内容重 新装入TL0中进行新的一轮计数,如此循环重复不止,常将T1设定为方式2用作串行接口的 波特率发生器; 当M1M0两位为11时,定时/计数器被选为工作方式3,定时器T0在方式3下分成两个独立的 计数器TL0和TH0,其中,TL0可用作定时或
计数器,并占用定时器T0的所有控制位 (GATE,C/T,TR0,INT0和TF0),而TH0固定作为定时器用,并借用定时器T1的TR1和TF1, 这时TH0控制着定时器的T1中断,在方式3下,定时器T1将停止计数,只是保持其计数值, 与置TR1为0等效。 思考题六 1.8051单片机内部设有几个定时/计数器?它们是由哪些专用寄存器组成?定时、计数的速 率(即计数频率)各为多少? 2.简述定时/计数器的四种工作方式及其特点,并说明如何选择和设定? 3.选用T1方式0产生500μs的定时,在P1.0,输出周期为1ms的方波,晶振fosc=6MHz。 4.已知8051单片机系统时钟频率为6MHz,试用定时器T0方式2和P1口输出周期性矩形脉冲, 其周期为400μs,正脉冲宽度为400μs。 5.试用定时器T1设计外部事件计数器。要求每计数1万个脉冲,就将T1转为10ms定时方式, 当定时到后,又转为计数方式,如此反复循环不止。当系统的时钟频率为6MHz时,编写相应 程序。 6. 已知8051单片机系统时钟频率为6MHz, 利用其定时器方式1测量某正脉冲宽度时, 能测量 的最大脉宽是多少?若脉宽大于此极限值时,采用何种办法测量? 第7章单片机系统扩展 小结 在很多情况下,构成一个单片机应用系统时,考虑到传感器接口、伺服控制接口以及人机对 话接口等的需要,必须在片外扩展相应的外围芯片,这就是系统扩展。它包括程序存储器 (ROM)扩展、数据存储器(RAM)扩展、I/O口扩展等。 MCS-51单片机片外引脚可以构成三总线结构,即地址总线(AB)、数据总线(DB)和控制总线 (CB),所有的外部芯片都是通过这三组总线进行扩展。由于P0口分时用作数据总线和地址 总线的低8位,因此必须采用地址锁存器将P0口输出的低8位地址进行锁存。 小结根据地址总线宽度,在片外可扩展的程序存储器和数据存储器最大容量都为64KB,地 址范围为0000H~FFFFH。扩展的程序存储器和数据存储器的地址范围虽然相同,但可通过 不同的指令和控制
信号加以区别。 读片外程序存储器采用MOVC指令和取指信号; 读和写片 外数据存储器采用MOVX指令和、片外数据读、写信号。PSENRDWR 扩展的I/O口与片外数据存储器采用统一编址,这样做的优点是不必为扩展的I/O另外提供地 址线,减少单片机的

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。