单片机原理与应用技术第节汇编语言程序的基本结构
- 格式:ppt
- 大小:474.50 KB
- 文档页数:46
《单⽚机原理与接⼝技术》(01644)⾃学考试⼤纲《单⽚机原理与接⼝技术》(01644)⾃学考试⼤纲⼀、课程性质与⽬标(⼀)课程性质和⽬标《单⽚机原理与接⼝技术》课程是⾼等教育⾃学考试综合改⾰试点汽车维修与检测专业(专升本)的⼀门专业必修课。
其任务是使考⽣获得微型计算机特别是单⽚机的基础知识.包括汇编语⾔程序设计和接⼝技术,为后续课程打下必要的基础。
(⼆)本课程的基本要求1. 了解单⽚机的组成、内部结构和特点,获得其硬件和软件的必要基础知识。
2.在初步掌握80C51单⽚机指令系统的基础上,掌握汇编语⾔程序的分析和简单的程序设计。
3.了解单⽚机常⽤的接⼝技术和初步应⽤⽅法。
(三)本课程与相关课程的联系学习本课程前,考⽣应具有⾼等数学、电⼯技术基础和电⼦技术基础的知识〃以便使考⽣顺利掌握计算⽅法和程序设计、接⼝技术等内容。
本课程为学习《数控技术机应⽤》、《可编程控制器原理与应⽤》、《热⼯测量及仪表》等课程打下基础.并将在毕业设计中得到应⽤。
⼆、课程内容和考核⽬标第⼀章计算机基础知识(⼀)学习⽬的与要求通过本章学习,应了解常⽤数制的基本概念,掌握各种进制数的转换和有符号数的表⽰⽅法。
(⼆)考核知识点与考核⽬标1、数制转换(重点)识记:⼗、⼗六进制数的表⽰。
理解:⼆进制数的表⽰。
应⽤:⼆、⼗、⼗六进制数的相互转换⽅法。
2、数制的基本概念(次重点)识记:⼗、⼗六进制数的数码、权、基数的概念。
理解:⼆进制数的数码、权、基数的概念。
应⽤:⼆、⼗、⼗六进制数的计数规则。
3、有符号数的表⽰⽅法、微型计算机概述(⼀般)识记:微型计算机系统的组成。
理解:常⽤字符(A--Z、a--z)的ASCII码。
应⽤:有符号数的原码、反码、补码的定义。
第⼆章80C51单⽚机的硬件结构(⼀)学习⽬的与要求通过本章学习,应了解单⽚机的基本组成和内部结构,特别是要掌握MCS-51的内部CPU、存储器和并⾏⼝结构,熟悉8031最⼩系统的的组成,从⽽建⽴单⽚机的总体概念。
《单片机原理及应用》习题答案第一章基础知识1.微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。
CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。
存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。
按其功能可分为RAM和ROM。
输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。
总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。
2. 将下列十进制数分别转换成为二进制数,十六进制数和BCD码数的形式: 100,64,78,80解:1)100=1100100B=64H=0001 0000 0000BCD;2)64=1000000B=40H=0110 0100BCD;3)78=1001110B=4EH=0111 1000BCD。
3. 写出下列十六进制无符号数对应的十进制数和二进制:0D5H,64H,2CH,4FEH2) 64H=100=1100100B;3) 2CH=44=101100B;4) 4FEH=1278=10011111110B。
4. 写出下列十进制数对应的二进制原码、反码和补码:+35,+50,-10,-20解:1)+35=(23H)原=(23H)反=(23H)补;2)+50=(32H)原=(32H)反=(32H)补;3)-10=(8AH)原=(0F5H)反=(0F6H)补;4)-20=(94H)原=(0EBH)反=(0ECH)补;解:1)0D5H=213=11010101B;5. 根据给定的原码、反码、补码求真值。
1) (0CBH)原=(-75)真值;2)(8BH)反=(-116)真值;3)(9BH)补=(-101)真值;4)(6BH)补=(+107)真值;解:1) (0CBH)原=(-75)真值;2)(8BH)反=(-116)真值;3)(9BH)补=(-101)真值;4)(6BH)补=(+107)真值;6. 试分别判断下列各组数据大小?1)A=0.011B2)A=1001B B=0.011-1-2 C=0.011H -3B=1001 C=1001H 解:1)A=0.011B=0×2+1×2+1×2=0.25+0.125=0.375;B=0.011C=0.011H=0×16-1+1×16-2+1×16-3=0.004150390625所以:A>B>C2)A=1001B=9;B=1001;C=1001H=4097所以:A<B<C7.先将下列各组数据转换为补码表示的带符号数,然后用进行补码运算,再将结果还原成原码,并写出对应的十进制数检验结果是否正确。
单片机原理及应用(第3版)参考答案《单片机原理及应用(第3版)》习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社目录第1章概述 ............................................................. 2 第2章 MCS,51系列单片机硬件结构 . (5)第3章 MCS,51系列单片机指令系统 .......................................10 第4章 MCS,51系列单片机汇编语言程序设计 ............................... 13 第5章 MCS,51系列单片机硬件资源的应用 ................................. 18 第6章 MCS,51系列单片机并行扩展接口技术 ............................... 23 第7章 MCS,51系列单片机串行总线扩展技术 ............................... 28 第8章单片机应用系统设计 . (30)第1章概述1(简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。
运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。
通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。
由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。
2(微处理器、微型计算机、微型计算机系统有什么联系与区别,微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。
单片机教案汇编语言程序设计一、引言单片机是一种小型集成电路芯片,具有独立完成特定任务的能力。
而汇编语言是一种低级程序设计语言,能够直接操作硬件资源。
本教案旨在介绍单片机的程序设计,重点讲解汇编语言的基本概念和编程技巧,帮助学习者掌握单片机的应用。
二、单片机基础知识在开始学习汇编语言程序设计之前,需要对单片机的基础知识有所了解。
主要包括单片机的结构、寄存器的作用、IO口的应用等内容。
通过对这些基础知识的学习,能够更好地理解汇编语言的工作原理和编程思路。
三、汇编语言概述汇编语言是一种使用助记符来表示机器指令的低级程序设计语言。
相对于其他高级语言,汇编语言更接近硬件层面,可直接操控单片机的寄存器和IO口。
本节将介绍汇编语言的基本概念、语法规则和常用指令集,帮助学习者熟悉汇编语言的编写方式。
四、单片机编程环境搭建在进行汇编语言程序设计前,需要搭建相应的开发环境。
常用的单片机开发工具包括Keil、IAR等。
本节将以Keil为例,介绍如何配置和使用开发工具,以及如何将程序下载到单片机中进行调试。
五、第一个汇编程序本节将以一个简单的LED闪烁程序为例,介绍如何使用汇编语言编写单片机程序。
通过对程序的分析和调试,学习者能够理解汇编语言的基本结构和编程过程,并且能够独立完成简单的单片机程序设计。
六、汇编语言编程技巧除了掌握基本的汇编语言知识外,还需要掌握一些编程技巧,以提高程序的效率和稳定性。
本节将介绍一些常用的汇编语言编程技巧,包括循环、条件判断、子程序调用等,帮助学习者编写更加复杂和实用的单片机程序。
七、实例分析本节将通过几个实例,分析并介绍实际应用中的单片机程序设计方法。
例如,如何控制电机的转动方向和速度、如何读取温湿度传感器的数据等。
通过这些实例的分析,学习者能够将所学的知识应用到实际项目中,并且能够更好地理解和解决实际问题。
八、实验设计在本教案的最后,将提供几个实验项目作为实践环节,帮助学习者巩固所学的知识和技能。
单⽚机原理与应⽤(盛珣华)习题和思考题答案习题和思考题答案第⼀章单⽚机概述1. 第⼀台电⼦数字计算机发明的年代和名称。
1946年、ENIAC。
2. 根据冯·诺依曼提出的经典结构,计算机由哪⼏部分组成?运算器、控制器、存储器、输⼊设备和输出设备组成。
3. 微型计算机机从20世纪70年代初问世以来,经历了哪四代的变化?经历了4位、8位、16位、32位四代的变化。
4. 微型计算机有哪些应⽤形式?系统机、单板机、单⽚机。
5. 什么叫单⽚机?其主要特点有哪些?单⽚机就是在⼀⽚半导体硅⽚上,集成了中央处理单元(CPU)、存储器(RAM、ROM)、并⾏I/O、串⾏I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的⽤于测控领域的微型计算机,简称单⽚机。
单⽚机技术易于掌握和普及、功能齐全,应⽤⼴泛、发展迅速,前景⼴阔、嵌⼊容易,可靠性⾼。
6. 举例说明单⽚机的应⽤?略7. 当前单⽚机的主要产品有哪些?各⾃有何特点?MCS是Intel公司⽣产的单⽚机的系列符号,MCS-51系列单⽚机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进⼊我国,并在我国应⽤最为⼴泛的单⽚机机型之⼀,也是单⽚机应⽤的主流品种。
其它型号的单⽚机:PIC单⽚机、TI公司单⽚机、A VR系列单⽚机。
8. 简述单⽚机应⽤系统的开发过程。
(1)根据应⽤系统的要求进⾏总体设计总体设计的⽬标是明确任务、需求分析和拟定设计⽅案,确定软硬件各⾃完成的任务等。
总体设计对应⽤系统是否能顺利完成起着重要的作⽤。
(2)硬件设计根据总体设计要求设计并制作硬件电路板(即⽬标系统),制作前可先⽤仿真软件(如Proteus软件)进⾏仿真,仿真通过后再⽤硬件实现并进⾏功能检测。
(3)软件设计软件编程并调试,⽬前⼀般⽤keil软件进⾏设计调试。
调试成功后将程序写⼊⽬标单⽚机芯⽚中。
(4)综合调试进⾏硬软件综合调试,检测应⽤系统是否达到设计的功能。
单片机原理及应用技术(第3版)+习题答案章1 绪论 1.第一台计算机的问世有何意义答第一台电子数字计算机ENIAC问世标志着计算机时代的到来与现代的计算机相比ENIAC有许多不足但它的问世开创了计算机科学技术的新纪元对人类的生产和生活方式产生了巨大的影响2.计算机由哪几部分组成答由运算器控制器存储器输入设备和输出设备组成运算器与控制器合称为CPU3.微型计算机由哪几部分构成答微型计算机由微处理器存储器和IO接口电路构成各部分通过地址总线AB 数据总线DB和控制总线CB相连4.微处理器与微型计算机有何区别答微处理器集成了运算器和控制器即CPU而微型计算机包含微处理器存储器和IO接口电路等5.什么叫单片机其主要特点有哪些答在一片集成电路芯片上集成微处理器存储器IO接口电路从而构成了单芯片微型计算机即单片机单片机主要特点有控制性能和可靠性高体积小价格低易于产品化具有良好的性能价格比6.微型计算机有哪些应用形式各适于什么场合答微型计算机有三种应用形式多板机系统机单板机和单片机多板机通常作为办公或家庭的事务处理及科学计算属于通用计算机单板机IO设备简单软件资源少使用不方便早期主要用于微型计算机原理的教学及简单的测控系统现在已很少使用单片机单片机体积小价格低可靠性高其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势目前单片机应用技术已经成为电子应用系统设计的最为常用技术手段7.当前单片机的主要产品有哪些各有何特点答多年来的应用实践已经证明80C51的系统结构合理技术成熟因此许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能从而形成了80C51的主流产品地位近年来推出的与80C51兼容的主要产品有ATMEL公司融入Flash存储器技术推出的AT89系列单片机Philips公司推出的80C5180C552系列高性能单片机华邦公司推出的W78C51W77C51系列高速低价单片机ADI公司推出的ADμC8xx系列高精度ADC单片机LG公司推出的GMS9097系列低压高速单片机im公司推出的DS89C420高速50MIPS单片机Cygnal公司推出的C8051F系列高速SOC单片机等 8.简述单片机的开发过程答系统需求分析硬件方案设计软件编程仿真调试实际运行9.单片机应用系统开发方法有哪些新方法答在系统编程ISP技术在应用编程IAP技术章 2 80C51的结构和原理1.80C51单片机在功能上工艺上程序存储器的配置上有哪些种类答功能上分为基本型和增强型工艺上分为HMOS工艺和CHMOS工艺在片内程序存储器的配置上有掩膜ROMEPROM和Flash无片内程序存储器形式2. 80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答采用哈佛结构在物理上设计成程序存储器和数据存储器两个独立的空间80C51基本型单片机片内程序存储器为4KB地址范围是0000H-0FFFH用于存放程序或常数片内数据存储器为128字节RAM地址范围是00H-7FH用于存放运算的中间结果暂存数据和数据缓冲另外在80H-FFH还配有21个SFR3.80C51单片机的P0P3口在结构上有何不同在使用上有何特点答作为通用IO口时P0P1P2和P3都是准双向口P0可以作为地址数据总线此时是一个真正的双向口P2口可以作为地址线的高8位P3口是双功能口每条口线还具有不同的第二功能另外P0口的驱动能力为8个TTL负载而其它口仅可驱动4个TTL负载4.如果80C51单片机晶振频率分别为6 MHz110592 MHz12MHz时机器周期分别为多少答机器周期分别为2μs1085μs1μs5.80C51单片机复位后的状态如何复位方法有几种答复位后PC内容为0000HP0口~P3口内容为FFHSP内容为07HSBUF内容不定IPIE和PCON的有效位为0其余的特殊功能寄存器的状态均为00H复位方法一种是上电复位另一种是上电与按键均有效的复位6.80C51单片机的片内片外存储器如何选择答80C51的引脚为访问片内片外程序存储器的选择端访问片内片外数据存储器需要采用不同的指令加以区分7.80C51单片机的PSW寄存器各位标志的意义如何答CY进位借位标志有进位借位时 CY 1否则CY 0AC辅助进位借位标志高半字节与低半字节间的进位或借位F0用户标志位由用户自己定义RS1RS0当前工作寄存器组选择位OV溢出标志位有溢出时OV 1否则OV 0P奇偶标志位存于ACC中的运算结果有奇数个1时P 1否则P 08. 80C51单片机的当前工作寄存器组如何选择答当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1RS0 来决定9.80C51单片机的控制总线信号有哪些各信号的作用如何答RSTVPD复位信号输入引脚备用电源输入引脚ALE地址锁存允许信号输出引脚编程脉冲输入引脚VPP内外存储器选择引脚片内EPROM或FlashROM编程电压输入引脚外部程序存储器选通信号输出引脚10.80C51单片机的程序存储器低端的几个特殊单元的用途如何答0000H单片机复位入口地址0003H外部中断0的中断服务程序入口地址000BH定时计数器0溢出中断服务程序入口地址0013H外部中断1的中断服务程序入口地址001BH定时计数器1溢出中断服务程序入口地址0023H串行口的中断服务程序入口地址章3 80C51的指令系统 1.80C51系列单片机的指令系统有何特点答执行时间短1个机器周期指令有64条2个机器周期指令有45条而4个机器周期指令仅有2条即乘法和除法指令指令编码字节少单字节的指令有49条双字节的指令有45条三字节的指令仅有17条位操作指令丰富这是80C51单片机面向控制特点的重要保证2.80C51单片机有哪几种寻址方式各寻址方式所对应的寄存器或存储器空间如何答80C51单片机的寻址方式有七种即寄存器寻址直接寻址寄存器间接寻址立即寻址基址寄存器加变址寄存器变址寻址相对寻址和位寻址这些寻址方式所对应的寄存器和存储空间如下表所示序号寻址方式寄存器或存储空间 1 寄存器寻址寄存器R0R7AABDPTR和C布尔累加器 2 直接寻址片内RAM低128字节SFR3 寄存器间接寻址片内RAMR0R1SP片外RAMR0R1DPTR 4 立即寻址ROM 5 变址寻址ROMA+DPTRA+PC 6 相对寻址ROMPC当前值的+127~-128字节7 位寻址可寻址位内部RAM20H2FH单元的位和部分SFR的位3.访问特殊功能寄存器SFR可以采用哪些寻址方式答直接寻址和位寻址方式4.访问内部RAM单元可以采用哪些寻址方式答直接寻址寄存器间接寻址和位寻址方式5.访问外部RAM单元可以采用哪些寻址方式答寄存器间接寻址6.访问外部程序存储器可以采用哪些寻址方式答立即寻址变址寻址和相对寻址方式7.为什么说布尔处理功能是80C51单片机的重要特点答单片机指令系统中的布尔指令集存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统它可对位bit变量进行布尔处理如置位清零求补测试转移及逻辑与或等操作在实现位操作时借用了程序状态标志器PSW中的进位标志Cy作为位操作的累加器8.对于80C52单片机内部RAM还存在高128字节应采用何种方式访问答寄存器间接寻址方式9.试根据指令编码表写出下列指令的机器码1MOV A88H----------------74H 88H2MOV R350H----------------ABH50H3MOV P155H----------75H90H55H4ADD AR15SETB 12H10.完成某种操作可以采用几条指令构成的指令序列实现试写出完成以下每种操作的指令序列1将R0的内容传送到R12内部RAM单元60H的内容传送到寄存器R23外部RAM单元1000H的内容传送到内部RAM单元60H4外部RAM单元1000H的内容传送到寄存器R25外部RAM单元1000H的内容传送到外部RAM单元2000H答1MOV AR0MOV R1A2MOV R260H3MOV DPTR1000HMOVX ADPTRMOV 60HA4MOV DPTR1000HMOVX ADPTRMOV R2A5MOV DPTR1000HMOVX ADPTRMOV DPTR2000HMOVX DPTR A11.若R1 30HA 40H30H 60H40H 08H试分析执行下列程序段后上述各单元内容的变化MOV AR1MOV R140HMOV 40HAMOV R17FH答R1 7FHA 60H30H 08H40H 60H12.若A E8HR0 40HR1 20HR4 3AH40H 2CH20H 0FH试写出下列各指令独立执行后有关寄存器和存储单元的内容若该指令影响标志位试指出CYAC和OV的值 1MOV AR02ANL 40H0FH3ADD AR44SWAP A5DEC R16XCHD AR1答1A 2CH240H 0CH3A 22HCY 1AC 1OV 04A 8EH520H 0EHP 16A EFH20 08H13.若50H 40H试写出执行以下程序段后累加器A寄存器R0及内部RAM的40H41H42H单元中的内容各为多少MOV A50HMOV R0AMOV A00HMOV R0AMOV A3BHMOV 41HAMOV 42H41H答A 3BHR0 40H40H 00H41H 3BH42H 3BH14.试用位操作指令实现下列逻辑操作要求不得改变未涉及的位的内容1使ACC0置位2清除累加器高4位3清除ACC3ACC4ACC5ACC6答1SETB ACC02ANL A0FH3ANL A87H15.试编写程序将内部RAM的20H21H22H三个连续单元的内容依次存入2FH2EH和2DH单元答MOV 2FH20HMOV 2EH21HMOV 2DH22H16.试编写程序完成两个16位数的减法7F4DH-2B4EH结果存入内部RAM 的30H和31H单元30H单元存差的高8位31H单元存差的低8位答CLR CYMOV 30H7FHMOV 31H4DHMOV R0 31HMOV AR0SUBB A 4EMOV R0A 保存低字节相减结果DEC R0MOV A R0SUBB A2BHMOV R0A 保存高字节相减结果 17.试编写程序将R1中的低4位数与R2中的高4位数合并成一个8位数并将其存放在R1中答MOV AR2ANL A0F0HORL R1A18.试编写程序将内部RAM的20H21H单元的两个无符号数相乘结果存放在R2R3中R2中存放高8位R3中存放低8位答MOV A20HMOV B21HMUL ABMOV R3AMOV R2B19.若CY 1P1 10100011BP3 01101100B试指出执行下列程序段后CYP1口及P3口内容的变化情况MOV P13CMOV P14CMOV CP16MOV P36CMOV CP10MOV P34C答CY 1 P1 10111011B P3 00111100B 章 4 80C51的汇编语言程序设计1.80C51单片机汇编语言有何特点答汇编语言结构紧凑灵活汇编成的目标程序效率高具有占存储空间少运行速度快实时性强等优点它是面向机器的语言对于单片机硬件的操作直接方便有利于初学者对单片机结构的认知但它与高级语言相比移植性不好编程复杂对编程人员的基础要求高2.利用80C51单片机汇编语言进行程序设计的步骤如何答一任务分析首先要对单片机应用系统的设计目标进行深入分析明确系统设计任务功能要求和技术指标然后对系统的运行环境进行调研这是应用系统程序设计的基础和条件二算法设计经过任务分析和环境调研后已经明确的功能要求和技术指标可以用数学方法或模型来描述进而把一个实际的系统要求转化成由计算机进行处理的算法并对各种算法进行分析比较并进行合理的优化三流程描述程序的总体构建先要确定程序结构和数据形式资源分配和参数计算等然后根据程序运行的过程规划程序执行的逻辑顺序用图形符号将程序流程绘制在平面图上应用程序的功能通常可以分为若干部分用流程图将具有一定功能的各部分有机地联系起来流程图可以分为总流程图和局部流程图总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系局部流程图反映程序模块的具体实施细节3.常用的程序结构有哪几种特点如何答顺序程序无分支无循环结构的程序其执行流程是依指令在存储器中的存放顺序进行的分支程序可以改变程序的执行顺序循环程序按某种控制规律重复执行的程序控制一部分指令重复执行若干次以便用简短的程序完成大量的处理任务4.子程序调用时参数的传递方法有哪几种答利用累加器或寄存器利用存储器利用堆栈5.什么是伪指令常用的伪指令功能如何答伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令常用的伪指令包括ORG功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址END功能是结束汇编DB功能是从标号指定的地址单元开始在程序存储器中定义字节数据DW功能是从标号指定的地址单元开始在程序存储器中定义字数据空间EQU功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名BIT功能是将位地址赋给指定的符号名6.设被加数存放在内部RAM的20H21H单元加数存放在22H23H单元若要求和存放在24H25H中试编写出16位无符号数相加的程序采用大端模式存储答程序如下ORG 0000HMOV R0#21HMOV R1#23HMOV AR0ADD AR1MOV 25HADEC R0DEC R1MOV AR0ADDC AR1MOV 24HASJMPEND7.编写程序把外部RAM中1000H101FH的内容传送到内部RAM的30H4FH中答ORG 0000HMOV DPTR1000HMOV R030HMOV R732LOOPMOVX ADPTRMOV R0AINC R0INC DPTRDJNZ R7LOOPRET8.编写程序实现双字节无符号数加法运算要求 R0R1R6R7→60H61H 答ORG 0000HMOV AR1ADD AR7MOV 61HAMOV AR0ADDC AR6MOV 60HASJMPEND9.若80C51的晶振频率为6MHz试计算延时子程序的延时时间DELAYMOV R70F6HLPMOV R60FAHDJNZ R6DJNZ R7LPRET答延时时间 2μs [1 122502246 2]2 0247486秒含调用指令2个机器周期10.在内部RAM 的30H37H单元存有一组单字节无符号数要求找出最大数存入BIG 单元试编写程序实现答ORG 0000HBIG DATA 2FHONE DATA 2AHTWO DATA 2BH STARTMOV R77 比较次数MOV R030HLOOPMOV AR0MOV ONEAINC R0MOV TWOR0CLR CSUBB AR0JC NEXT ONE小TWO大继续比下一对数MOV R0ONE ONE大放后面交换DEC R0MOV R0TWO TWO小放前面INC R0NEXTDJNZ R7LOOPSJMPEND11.编写程序把累加器A中的二进制数变换成3位BCD码并将百十个位数分别存放在内部RAM的50H51H52H中答单字节二进制数转换为压缩的BCD码仅需要2个字节在将压缩的BCD码拆分存于3个单元org 0MOV 52H0MOV 51H0MOV 50H0MOV A0FDhLCALL DCDTHSJMP DCDTHMOV R78MOV R0A 暂存于R0LOOPCLR CMOV AR0RLC AMOV R0AMOV R151H MOV AR1ADDC AR1DA ADEC R1MOV AR1ADDC AR1DA AMOV R1ADJNZ R7LOOPINC R1 50H已是结果R1指向51H51H单元需拆分MOV A00HXCHD AR1MOV 52HAMOV AR1SWAP AMOV R1ARETEND12.编写子程序将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中答ORG 0MOV R15BHMOV AR1ANL A0F0HSWAP AACALL ASCIIMOV R3AMOV AR1ANL A 0FHACALL ASCIIMOV R4 ASJMPASCIIPUSH ACCCLR CSUBB A 0AHPOP ACCJC LOOPADD A 07HLOOP ADD A 30HRETEND13.编写程序求内部RAM中50H59H十个单元内容的平均值并存放在5AH单元答ORG 0000HMOV R710MOV R050HMOV B10CLR CCLR ALOOPADDC AR0INC R0DJNZ R7LOOPDIV ABMOV 5AHASJMPEND14.如图410所示编制程序实现上电后显示P有键按下时显示相应的键号07答实现程序如下TEMP EQU 30HORG 0000HJMP STARTORG 0100HSTARTMOV SP5FHMOV P08CH 正序显示"P"MOV P30FFH 输入方式CLR CYNOKEYMOV AP3CPL AJZ NOKEY 无键按下MOV TEMPP3 有键按下CALL D10msMOV AP3CJNE ATEMPNOKEY 去抖动MOV R20 键号计数器复位 MOV ATEMPLPRRC AJNC DONEINC R2SJMP LPDONEMOV AR2MOV DPTRCODE_P0MOVC AADPTRMOV P0AJMP NOKEYD10msMOV R510 10MSD1msMOV R4249DLNOPNOPDJNZ R4DLDJNZ R5D1msRETCODE_P0DB 0C0H0F9H0A4H0B0H99H92H82H0F8HDB 80H90H88H83H0C6H0A1H86H8EHEND章5 80C51的中断系统及定时计数器 180C51有几个中断源各中断标志是如何产生的又是如何复位的CPU响应各中断时其中断入口地址是多少答5个中断源分别为外中断和T0和T1溢出中断串口中断电平方式触发的外中断标志与引脚信号一致边沿方式触发的外中断响应中断后由硬件自动复位T0和T1CPU响应中断时由硬件自动复位RI和TI由硬件置位必须由软件复位另外所有能产生中断的标志位均可由软件置位或复位各中断入口地址―0003HT0000BH0013HT1001BHRI和TI0023H2某系统有三个外部中断源123当某一中断源变低电平时便要求CPU处理它们的优先处理次序由高到低为321处理程序的入口地址分别为2000H2100H2200H 试编写主程序及中断服务程序转至相应的入口即可答将3个中断信号经电阻线或接LJMP MAINORG 00013HLJMP ZDFZORG 0040HMAINSETB EASETB EX1SJMP 0RG 0200H ZDFZPUSH PSWPUSH ACCJB P10DV0JB P11DV1JB P12DV2INRETPOP ACCPOP PSWRETIORG 2000HDV0------------JMP INRETORG 2100HDV1------------JMP INRETDV2------------JMP INRET3外部中断源有电平触发和边沿触发两种触发方式这两种触发方式所产生的中断过程有何不同怎样设定答当IT0 0时为电平触发方式电平触发方式时CPU在每个机器周期的S5P2采样引脚电平当采样到低电平时置IE0=1向CPU请求中断采样到高电平时将IE0清0在电平触发方式下CPU响应中断时不能自动清除IE0标志电平触发方式时外部中断源的有效低电平必须保持到请求获得响应时为止不然就会漏掉在中断服务结束之前中断源的有效的低电平必须撤除否则中断返回之后将再次产生中断该方式适合于外部中断输入为低电平且在中断服务程序中能清除外部中断请求源的情况当IT0 1时为边沿触发方式边沿触发方式时CPU在每个机器周期的S5P2采样引脚电平如果在连续的两个机器周期检测到引脚由高电平变为低电平即第一个周期采样到 1第二个周期采样到 0则置IE0=1产生中断请求在边沿触发方式下CPU响应中断时能由硬件自动清除IE0标志边沿触发方式时在相继两次采样中先采样到外部中断输入为高电平下一个周期采样到为低电平则在IE0或IE1中将锁存一个逻辑1若CPU暂时不能响应中断申请标志也不会丢失直到CPU响应此中断时才清0另外为了保证下降沿能够被可靠地采样到和引脚上的负脉冲宽度至少要保持一个机器周期若晶振频率为12MHz为1微秒边沿触发方式适合于以负脉冲形式输入的外部中断请求4定时计数器工作于定时和计数方式时有何异同点答定时计数器实质是加1计数器不同点设置为定时器模式时加1计数器是对内部机器周期计数1个机器周期等于12个振荡周期即计数频率为晶振频率的112计数值乘以机器周期就是定时时间设置为计数器模式时外部事件计数脉冲由T0或T1引脚输入到计数器在每个机器周期的S5P2期间采样T0T1引脚电平当某周期采样到一高电平输入而下一周期又采样到一低电平时则计数器加1更新的计数值在下一个机器周期的S3P1期间装入计数器相同点它们的工作原理相同它们都有4种工作方式由TMOD中的M1M0设定即方式013位计数器方式116位计数器方式2具有自动重装初值功能的8位计数器方式3T0分为两个独立的8位计数器T1停止工作 5定时计数器的4种工作方式各有何特点答方式0位13位计数器由TL0的低5位高3位未用和TH0的8位组成TL0的低5位溢出时向TH0进位TH0溢出时置位TCON中的TF0标志向CPU发出中断请求计数初值计算的公式为X=213-N方式1的计数位数是16位由TL0作为低8位TH0作为高8位组成了16位加1计数器计数个数与计数初值的关系为X=216-N方式2为自动重装初值的8位计数方式TH0为8位初值寄存器当TL0计满溢出时由硬件使TF0置1向CPU发出中断请求并将TH0中的计数初值自动送入TL0TL0从初值重新进行加1计数周而复始直至TR0 0才会停止计数个数与计数初值的关系为 X=28-N方式3只适用于定时计数器T0定时器T1处于方式3时相当于TR1=0停止计数方式3时T0分成为两个独立的8位计数器TL0和TH0TL0使用T0的所有控制位当TL0计数溢出时由硬件使TF0置1向CPU发出中断请求而TH0固定为定时方式不能进行外部计数并且借用了T1的控制位TR1TF1因此TH0的启停受TR1控制TH0的溢出将置位TF16要求定时计数器的运行控制完全由TR1TR0确定和完全由高低电平控制时其初始化编程应作何处理答TMOD中GATE的值不同完全由TR1TR0确定时GATE为0完全由高低电平控制时GATE为17当定时计数器T0用作方式3时定时计数器T1可以工作在何种方式下如何控制T1的开启和关闭答T0用作方式3时T1可以工作在方式01和2T1的开启由TR1控制即TR1=1时T1开始工作TR1=0时或者定时计数器工作在方式3时T1停止工作8利用定时计数器T0从P10输出周期为1s脉宽为20ms的正脉冲信号晶振频率为12MHz试设计程序答采用定时20ms然后再计数149次的方法实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序 ORG 0030H MAINMOV TMOD01H 设T1工作于方式2MOV TH0 4EH 装入循环计数初值MOV TL020H 首次计数值LP0SETB P10ACALL NT0CLR P10MOV R749 计数49次LP1ACALL NT0DJNZ R7LP1AJMP LP0NT0MOV TH0 4EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0RETEND9要求从P11引脚输出1000Hz方波晶振频率为12MHz试设计程序答采用T0实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为111000 1×10-3N=t Tcy =05×10-31×10-6=500X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中0CH送入TL0中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 000BH T0的中断入口地址LJMP DVT0ORG 0030HMAINMOV TMOD01H 设T0工作于方式2MOV TH0 0FEH 装入循环计数初值MOV TL00CH 首次计数值SETB ET0 T0开中断SETB EA CPU开中断SETB TR0 启动T0SJMP 等待中断DVT0CPL P11MOV TH0 0FEHMOV TL0 0CHSETB TR0RETIEND10试用定时计数器T1对外部事件计数要求每计数100就将T1改成定时方式控制P17输出一个脉宽为10ms的正脉冲然后又转为计数方式如此反复循环设晶振频率为12MHz答aT1工作在计数方式2时控制字TMOD配置M1M0 10GATE 0C 1可取方式控制字为60HT1工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为10Hb计算初值X定时10ms时晶振为12 MHz所以机器周期Tcy为1N=t Tcy =10×10-31×10-6=10000X=216-N=65536-10000=55536=D8F0H即应将D8H送入TH1中F0H送入TL1中计数100时N=100X=28-N=256-100=156=9CHc实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 001BH T1的中断入口地址LJMP DVT1ORG 0030HMAINMOV TMOD60H T1工作于计数方式2MOV TH19CH 装入计数初值MOV TL19CHCLR P17SETB ET1 T1开中断SETB EA CPU开中断SETB TR1 启动T1SJMP 等待中断 DVT1SETB P17CLR ET1CLR TR1MOV TMOD10H T1工作于定时方式1MOV TH10D8H 装初值MOV TL10F0HSETB TR1JNB TF1 查询等待10msCLR TF1CLR TR1CLR P17MOV TMOD60H T1工作于计数方式2MOV TH19CH 装初值MOV TL19CHSETB ET1 T1开中断SETB TR1 启动T1RETIEND 11利用定时计数器T0产生定时时钟由P1口控制8个指示灯编一个程序使8个指示灯依次闪动闪动频率为1次秒即亮1秒后熄灭并点亮下一个-----答采用定时20ms计数50次实现1秒定时编制1秒延时子程序由主程序调用aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 0030HMAINCLR CYMOV A01HLP0MOV P1ACALL D1SECRL AAJMP LP0 D1SECMOV R750 计数50次MOV TMOD01HDLMOV TH04EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0DJNZ R7DLRETEND - 95 -。
《单片机原理与应用》试题018答案填空题(每空2分,共30分)1、真值1001001B的反码为01001001 ;其补码为01001001 。
2、MCS-51系列单片机内部数据存储器,即内RAM中位寻址区的地址范围是128 B工作寄存器区的地址范围是00—1FH 。
3、程序状态标志字寄存器PSW中的PSW.7的含义是奇偶标志;PSW.0的含义是进位/借位标志。
6、单片机汇编语言程序有三种基本结构,分别是:顺序、分支和循环。
7、MCS—51单片机内部有 2 个16 位加1定时/ 计数器,可通过编程决定它们的工作方式,其中,可进行13位定时/ 计数的是方式是0 。
8、存储器EPROM 27128的地址线有根,容量为KB。
9、可编程并行I / O接口芯片8255A有 4 个8位并行I / O端口,可通过编程决定它们的功能。
二、单项选择题(每小题3分,共15分)1、MCS—51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是(A )(A)ALE (B)PSEN(C)EA(D)RST2、下列指令写法正确的是。
(B )(A)MOV #20H,A (B)ADD R2,#30H (C)PUSH R0 (D)RRC A3、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A)0003H (B)2000H (C)000BH (D)3000H4、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)(A)方式0 (B)方式1 (C)方式2 (D)方式35、MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A)(A)读锁存器具(B)读数据库(C)读A累加器具(D)读CPU三、简答题(每小题10分,共20分)1 简述可编程并行接口8255 A的内部结构?答:8255 A的内部结构由三部分组成:总线接口部分,内部逻辑部分,外部接口部分。