单片机第4章习题答案(桂电)
- 格式:doc
- 大小:40.00 KB
- 文档页数:3
单片机技术知到章节测试答案智慧树2023年最新江西航空职业技术学院第一章测试1.单片机的组成有()。
参考答案:IO接口;存储器;CPU2.单片机的发展经历了()阶段。
参考答案:MCU;SOC;SCM3.由中科院自主研发的芯片产品是()。
参考答案:龙芯4.目前全球光刻厂商有()。
参考答案:日本佳能;日本尼康;荷兰艾司摩尔;中国上海微电子5.单片机广泛应用于()。
参考答案:通讯设备;导航系统;实时控制;智能仪表;家电第二章测试1.6MHZ的晶振,一秒钟可以产生()个方波。
参考答案:6M2.MOV R7, #200 指令周期是()。
参考答案:13.DJNZ R7, LOOP 指令周期是()。
参考答案:24.NOP指令周期是()。
参考答案:15.汇编文件的扩展名是()。
参考答案:.asm第三章测试1.MCS-51的时钟最高频率为()。
参考答案:12MHz2.MCS-51系统中,若晶振频率为8MHz,一个机器周期是()us。
参考答案:1.53.以下不是构成单片机的部件是()。
参考答案:打印机4.PC存放的是当前执行的指令。
()参考答案:错5.MCS-51没有复位电路。
()参考答案:错第四章测试1.MOV A, #45H 源操作数的寻址方式是()。
参考答案:立即寻址2.MOV A, @R1源操作数的寻址方式是()。
参考答案:寄存器间接寻址3.MOVC A, @A+DPTR 源操作数的寻址方式是()。
参考答案:变址寻址4.定义字节型数据的伪指令是()。
参考答案:DB5.子程序的最后一条指令必须是()。
参考答案:RET1.TCON寄存器的字节地址是()。
参考答案:88H2.中断允许寄存器是()。
参考答案:IE3.51单片机采用()个优先级。
参考答案:24.自然优先级最高的是()。
参考答案:外部中断05.以下可以定义外部中断0是高优先级的是()。
参考答案:SETB PX01.为了显示一个中文汉字,普遍使用的点阵屏是()。
第一章测试1【判断题】(10 分)每个发光二极管上串联的电阻又称为限流电阻。
A.对B.错2【单选题】(10 分)CPU 主要的组成部分为()。
A.加法器、寄存器B.运算器、控制器C.运算器、寄存器D.运算器、指令译码器3【单选题】(10 分)Intel 公司MCS-51 单片机的CPU 是()位的。
A.32B.16C.4D.84【多选题】(10 分)计算机中常用于表达数值的码制有()。
A.原码B.反码C.补码5【单选题】(10 分)已知某数的BCD 码为0111010101000111 则其表示的十进制数值为()。
A.75.47HB.75.47C.7547HD.75476【单选题】(10 分)CPU 又称为()。
A.运算器B.控制器C.中央处理器D.输入/输出设备7【单选题】(10 分)双列直插式封装的AT89C51 单片机有()引脚。
A.40B.32C.20D.168【多选题】(10 分)AT89C51 单片机最小系统包括()。
A.复位电路B.存储器设置电路C.电源电路D.时钟电路9【单选题】(10 分)AT89C51 单片机的工作频率最大为()。
A.24MHzB.12MHzC.48MHzD.6MHz10【单选题】(10 分)AT89C51 单片机的可靠复位需要在RST 引脚产生()电平?A.高B.低第二章测试1【单选题】(10 分)机械按键一般采用()ms 左右进行延时去抖动。
A.10~20B.50~100C.1~5D.5~102【单选题】(10 分)下面()不是输入设备。
A.打印机B.键盘C.扫描仪D.A/D 转换器3【多选题】(10 分)下列()是单片机的总线类型。
A.输出总线B.地址总线C.数据总线D.控制总线4【判断题】(10 分)机械按键的抖动时间是固定长度的。
A.对B.错5【判断题】(10 分)独立按键扫描时,采用键标志是为了实现按键的一次响应。
A.错B.对6【多选题】(10 分)在()状态下可能产生机械抖动?A.按键按下瞬间B.按键抬起瞬间7【判断题】(10 分)不同机械性能的开关,其机械抖动时间不同。
第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。
2.汇编语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。
(2)定义字节伪指令格式:[标号:] DB X1,X2, (X)功能:从指定地址开始,存放若干字节数据。
(3)字定义伪指令格式:[标号:] DW Y1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。
(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。
(5)赋值伪指令格式:标号 EQU 表达式功能:将表达式的值(数据或地址)赋给标号。
(6)位定义伪指令格式:[标号] BIT 位地址功能:将位地址赋给标号。
4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。
7.分析下列程序的功能。
X DATA 30HY DATA 32HMOV A,XJNB ACC.7,TRUECPL AADD A,#01HTRUE:MOV Y,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H 单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。
第4章思考题及习题4参考答案一、填空1.外部中断1的中断入口地址为。
定时器T1的中断入口地址为。
答:0013H;001BH2.若(IP)=00010100B,则优先级最高者为,最低者为。
答:外部中断1,定时器T13.AT89S52单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送入,使程序执行转向中的中断地址区。
答:PC、PC、程序存储器4.AT89S52单片机复位后,中断优先级最高的中断源是。
答:外部中断05.当AT89S52单片机响应中断后,必须用软件清除的中断请求标志是。
答:串行中断、定时器/计数器T2中断二、单选1.下列说法错误的是()。
A. 同一级别的中断请求按时间的先后顺序响应B. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应C. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求D. 同级中断不能嵌套答:B2.在AT89S52的中断请求源中,需要外加电路实现中断撤销的是()。
A. 电平方式的外部中断请求B.跳沿方式的外部中断请求C.外部串行中断D.定时中断答:A3.中断查询确认后,在下列各种AT89S52单片机运行情况下,能立即进行响应的是()。
A.当前正在进行高优先级中断处理B.当前正在执行RETI指令C.当前指令是MOV A,R3D.当前指令是DIV指令,且正处于取指令的机器周期答:C4.下列说法正确的是()。
A. 各中断源发出的中断请求信号,都会标记在AT89S52的IE寄存器中B. 各中断源发出的中断请求信号,都会标记在AT89S52的TMOD寄存器中C. 各中断源发出的中断请求信号,都会标记在AT89S52的IP寄存器中D. 各中断源发出的中断请求信号,都会标记在AT89S52的TCON、SCON以及T2CON寄存器中答:D三、判断对错1.定时器T0中断可以被外部中断0中断。
习题1.C51特有的数据类型有哪些?答:C51特有的数据类型有位型bit、特殊位型sbit、8位特殊功能寄存器型sfr和16位特殊功能寄存器型sfr16。
2.C51中的存储器类型有几种,它们分别表示的存储器区域是什么?答:C51中的存储器类型有6种,分别表示的存储器区域是:data:直接寻址的片内RAM低128B,访问速度快bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问idata:间接寻址访问的片内RAM,允许访问全部片内RAMpdata:用Ri间接访问的片外RAM低256Bxdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAMcode:程序存储器ROM 64KB空间3.在C51中,bit位与sbit位有什么区别?答:bit位类型符用于定义一般的位变量,定义的位变量位于片内数据存储器的位寻址区。
定义时不能指定地址,只能由编译器自动分配。
sbit位类型符用于定义位地址确定的位变量,定义的位变量可以在片内数据存储器位寻址区,也可为特殊功能寄存器中的可位寻址位。
定义时必须指明其位地址,可以是位直接地址,也可以是可位寻址的变量带位号,还可以是可位寻址的特殊功能寄存器变量带位号。
4.在C51中,通过绝对地址来访问的存储器有几种?答:绝对地址访问形式有三种:宏定义、指针和关键字“_at_”。
5.在C51中,中断函数与一般函数有什么不同?答:中断函数是C51的一个重要特点,C51允许用户创建中断函数。
中断函数用interrupt m修饰符,m的取值为0~31,对应的中断情况如下:0——外部中断01——定时/计数器T02——外部中断13——定时/计数器T14——串行口中断5——定时/计数器T2中断函数需要注意如下几点。
(1)中断函数不能进行参数传递(2)中断函数没有返回值(3)在任何情况下都不能直接调用中断函数(4)如果在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同(5)C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容(6)C51编译器从绝对地址8m+3处产生一个中断向量(7)中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明6.按给定的存储类型和数据类型,写出下列变量的说明形式。
第三章1.在基址加变址寻址方式中,以作为变址寄存器,以或作为基址寄存器。
答:A,PC,DPTR。
2.指令格式是由和组成,也可仅由组成。
答:操作码,操作数,操作码。
3.假定累加器A中的内容为30H,执行指令1000H:MOVC A,@A+PC后,把程序存储器单元的内容送入累加器A中。
答:1031H。
4.在AT89C51单片机中,PC和DPTR都用于提供地址,但PC是为访问存储器提供地址,而DPTR是为访问存储器提供地址。
答:程序,数据。
5.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的。
答:地址。
6.已知程序执行前有(A) = 02H,(SP) = 52H,(51H) = FFH,(52H) = FFH。
下述程序执行后,(A) = ,(SP) = ,(51H) = ,(52H) = ,(PC) = 。
POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 4000HDB 10H,80H,30H,50H,30H,50H答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H。
7.假定(A) = 83H,(R0) = 17H,(17H) = 34H,执行以下指令后,(A) = 。
ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=0CBH。
8.假设(A) = 55H,(R3) = 0AAH,在执行指令“ANL A,R5”后,(A) = ,(R3) = 。
答:(A)=00H,(R3)=0AAH。
9.如果(DPTR) = 507BH,(SP) = 32H,(30H) = 50H,(31H) = 5FH,(32H) = 3CH,则执行下列指令后,(DPH) = ,(DPL) = ,(SP) = 。
第4章部分习题答案作业:7、8、9、10、11、15、17、19、204.7设内部RAM 20H单元有两个非零的BCD数, 编写求两个BCD数的积并把积送入21H单元的程序。
ORG 1000HMOV A, 20HMOV B, A ; 保存SWAP AANL A, #0FH ;取高4位ANL B, #0FH ;取低4位MUL ABMOV B, #0AHDIV AB ;转换成BCD码的形式SWAP AORL A, BMOV 21H, ASJMP $END4.8已知从内部RAM BLOCK单元开始存放有一组带符号数,数的个数存放在LEN单元。
编写可以统计正数和负数个数并分别存入NUM和NUM+1单元的程序。
num org lOOOh data 30hlen data 20hblock data 40hmov rO, #blockmov num, #00h ;保存正数个数mov b, #00h ;保存负数个数loop: mov a, @r0inc rOjb acc.7, neginc numsjmp nextneg: inc bnext: djnz len, loopmov num+1, bsjmp $end 4.9设X为一无符号数,存放在内部RAM的VAX 单元,Y存放在FUNC单元。
编写满足如下关系的程序:X X>50Y =(5X 50> X > 202X X<20org 2000hvax data 20hfunc data 30hmov a, vaxcjne a, # 32h, complcompl: jc nextlmov func, asjmp donenextl: cjne a, #14h、comp2comp2: jc next2mov b, #05hmul abmov func, asjmp donenext2: clr crlc amov func, adone: sjmp $end4.10在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范围的任何位置。
《单片机原理与接口技术》习题解答第4章习题解答4-1.简述下列基本概念。
答指令:CPU根据人的意图来执行某种操作的命令。
指令系统:一台计算机所能执行的全部指令集合。
机器语言:用二进制编码表示,计算机能直接识别和执行的语言。
汇编语言:用助记符、符号和数字来表示指令的程序语言。
高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言。
4-2.什么是计算机的指令和指令系统?答见1题。
4-3.简述80C51汇编指令格式。
答操作码[目的操纵数][,源操作数]4-4.简述80C51的寻址方式和所能涉及的寻址空间。
答立即数寻址:程序存储器ROM。
直接寻址:片内RAM低128B和特殊功能寄存器。
寄存器寻址:R0~R7,A,B,C,DPTR。
寄存器间接寻址:片内RAM低128B,片外RAM。
变址寻址:程序存储器64KB。
相对寻址:程序存储器256B范围。
位寻址:片内RAM的20H~2FH字节地址,部分特殊功能寄存器。
4-5.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答 SFR:直接寻址,位寻址;片外RAM:寄存器间接寻址。
4-6.在80C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式及按顺序执行后的结果。
答 MOV A,40H 直接寻址MOV R0,A 寄存器寻址MOV P1,#0F0H 立即数寻址MOV @R0,30H 直接寻址MOV DPTR,#3848H 立即数寻址MOV 40H,38H 直接寻址MOV R0,30H 直接寻址MOV P0,R0 寄存器寻址MOV 18H,#30H 立即数寻址MOV A,@R0 寄存器间接寻址MOV P2,P1 直接寻址均为数据传送指令,结果(参见下图)为30H38H40H48H(18H)=30H,(30H)=38H,(38H)=40H (40H)=40H,(48H)=90HR0=38H,A=40H,P0=38H,P1=FOH,P2=FOH,DPTR=3848H 4-7.对80C51片内RAM高128B的地址空间寻址要注意什么?答用直接寻址,寄存器寻址,位寻址。
单片机第四章习题答案选择题1-5 BACAA, 6-10 BAADA, 11-14 CCAD问答题1.MCS-51系列单片机定时计数器的定时功能和计数功能有什么不同?分别应用在什么场合?答:当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。
定时器的定时时间与系统的振荡频率紧密相关,如果单片机系统采用12M晶振,则计数周期为:,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。
当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。
计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。
当需要准确计算时间时往往采用定时器的定时方式,而当要对一些外部事件计数时则采用定时器的计数方式。
2.软件定时与硬件定时的原理有何异同?答:软件定时是通过编写一段延时程序来实现定时,这段延时程序不完成任何操作,只是通过一些空操作浪费掉一段时间。
这样的软件定时往往浪费CPU的工作效率,并且定时不够准确,前面三章的各个任务中均采用了这种方法。
硬件定时是通过单片机的定时器来实现时间的计算,用户只需要对定时器的工作方式、初始值赋予合适的数值,启动定时器后,定时器将自动按照机器周期定时。
这种由定时器实现的定时方式,定时时间准确、CPU的工作效率高。
3.MCS-51单片机的定时计数器是增1计数器还是减1计数器?增1和减1计数器在计数和计算计数初值时有什么不同?答:MCS-51系列单片机的定时/计数器是增1计数器。
对于增1计数器,计数初值应等于最大计数值减去所需要的计数值。
而减1计数器,计数初值就等于所需要的计数值。
例如:假设需要计数50000次。
对于增1计数器的单片机,若采用方式1的定时器,最大计数值为65536,则初值应为:65536-50000=15536。
第四章作业答案16.MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突?解:数据存储器的读和写由RD和WR信号控制,而程序存储器由读选通信号PSEN控制,这些信号在逻辑上时序上不会产生冲突;程序存储器访问指令为MOVC,数据存储器访问指令为MOVX。
程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于二者访问指令不同,控制信号不同,所以两者虽然共处于同一地址空间,不会发生总线冲突。
18.某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,采用地址译码法,画出硬件连接图,并指出各芯片的地址范围。
解:硬件连接电路图如图4.18所示。
各芯片的地址范围为:2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH图4.18 4.18题硬件连接电路图21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B口按方式1输出。
解:程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR,#7F03HMOV A,#10010100BMOVX @DPTR,ASJMP $END25.使用8255A或者8155的B端口驱动红色和绿色发光二极管各4只,且红、绿发光二极管轮流发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写控制程序。
解:使用8255A,电路连接图如图4.25所示。
图4.25 4.25题硬件连接电路图其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。
设MCS-51单片机主频为12MHz。
程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR, #7FFFH ; 数据指针指向8255A控制口MOV A, #80HMOVX @DPTR, A ; 工作方式字送8255A控制口MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口MOV A, #0FH ; 置红色发光二极管亮LP1:MOVX @DPTR, A ; 置红色发光二极管亮LCALL DELAY ; 调用1S延时子程序CPL A ; 置发光二极管亮反色SJMP LP1 ; 循环执行DELAY:MOV R7,#10 ; 1s延时子程序D1:MOV R6,#200D2:MOV R5,#248D3:NOPDJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RETEND采用定时器T0方式1中断实现1s定时。
第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。
目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。
嵌入式微处理器相当于通用计算机中的CPU。
与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。
而嵌入式微处理器仅仅相当于单片机中的中央处理器。
为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。
它们的差别是在片内程序存储器上。
8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K 字节的程序存储器EPROM。
7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。
9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。
单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。
DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。
由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。
单片机4 7章参考答案单片机4--7章参考答案“单片机原理及应用”课程习题与解答第4章4-4:外部中断1所对应的中断入口地址为()h。
请问:0013h4-5:下列说法错误的是:a、各中断收到的中断请求信号,都会标记在mcs-51系统的ie寄存器中。
b、各中断收到的中断请求信号,都会标记在mcs-51系统的tmod寄存器中。
c、各中断收到的中断请求信号,都会标记在mcs-51系统的ip寄存器中。
d、各中断收到的中断请求信号,都会标记在mcs-51系统的tcon与scon寄存器中。
答:abc4-7:中断查阅证实后,在以下各种8031单片机运转情况中,能够立即展开积极响应的就是:a、当前正在执行高优先级中断处理b、当前正在执行reti指令c、当前指令是div指令,且正处于取指令的机器周期d、当前指令是mova,r3答:d4-8:8031单片机积极响应中断后,产生短调用指令lcall,继续执行该指令的过程包含:首先把()的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(),使程序执行转向()中的中断地址区。
答:pc、pc、程序存储器4-9:编写成外部中断1为冲沿引爆的中断初始化程序。
请问:setbit1setbex1setbea4-10:在mcs-51中,需要外加电路实现中断撤除的是:a、定时中断b、脉冲方式的外部中断c、外部串行中断d、电平方式的外部中断答:d4-12:以下观点恰当的就是:a、同一级别的中断请求按时间的先后顺序响应。
b、同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
c、低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
d、同级中断不能嵌套。
答:acd4-13:中断服务子程序回到指令reti和普通子程序回到指令ret存有什么区别?答:reti指令在返回的同时清除相应的优先级触发器,以允许下次中断第5章mcs-51的定时/计数器1.如果采用晶振的频率为3mhz,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?解答:因为机器周期tcy?1212??4(?s)6fosc3?10,所以定时器/计数器工作方式0下,其最大定时时间为tmax?213?tc?213?4?10?6?8.192(ms);同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1.024ms。
单片机原理与应用及C51程序设计第4章习题答案第4章习题答案4-2有哪里些数据类型是MCS-51系列单片机直接支持的?答:见P89,基本类型:字符型,整型,长整型,浮点型,特殊功能寄存器;构造类型:数组类型,结构体类型,共用体,枚举指针类型空类型4-3 C51特有的数据结构类型有哪些?答:特殊功能寄存器,位类型4-4 C51的存储类型有几种?它们分别表示的存储器区域是什么?答:见P94页:存储器类型有:data, bdata,idata,pdata,xdata4-5 C51中bit位与sbit位有什么区别?答:bit是定义一个一般的位变量;而使用sbit定义可位寻址字节或是特殊功能寄存器的的位,定义时必指定其位地址,其存储空间为内部RAM中的位寻址区20H-2FH(位地址为:00H~7FH),4-6 在C51通过绝对地址来访问的存储器有几种方式?答:使用C51运行库中预定义宏,通过指针访问,使用C51扩展关键字_at_4-7 在C51中,中断函数与一般函数有什么不同?答:见P112页:7点4-8 按指定存储器类型和数据类型,写出下列变量的说明形式答:(1)在data定义字符变量var11:char data var11(2)在idata定义整型变量var12:char idata var12(3)在xdata定义无符号字符数组var11[4]:unsigned char xdata var13[4](4) 在xdata定义一个指向无符号字符的指针px: unsigned char xdata* px(5)定义可寻址位变量flag: bit flag;(6)定义特殊功能寄存器变量p3: sfr p3=0xb0(7) 定义特殊功能寄存器变量SCON:sfr SCON = 0x98(8)定义16位特殊功能寄存器变量T0:sfr16 T0=0x8a (无法真正与实际相匹配)4-9 设a=3,b=4,c=5,写出下列关系表达式或逻辑表达式的结果答:(1) a+b>c && b==c (False)(2) a||b+c&&b-c (True)(3)!(a>b) && !c|| 1 (True)(4)!(a+b)+c-1&&b+c/2 (True)4-10 break与continue语句的区别是什么?答:见P110; 使用break语句可以跳出switch和循环体,提前结束循环而接着执行循环结构下面的语句continue语句使用在循环体结构中,用于结束本次循环,跳过该语句下面尚未执行的语句,直接进行下一否执行循环的判断。
第4章《单片机原理与C51基础》赵丽清(课后习题及答案)思考题:【4-1】说明伪指令的作用。
“伪”的含义是什么?常用伪指令有哪些,其功能如何?【4-2】解释下列术语:(1)手工编订(2)机器编订【4-3】下列程序段经汇编后,从1000h开始的各有关存储单元的内容是什么?org1000htab1equ1234htab2equ3000hdb0,1,4,5dwtab1,tab2,70h【4-4】设计子程序时应特别注意哪些问题?【4-5】试编写一个程序,将内部ram中45h单元的高4位清0,低4位置1。
【4-6】未知程序执行前存有a=02h,sp=42h,(41h)=ffh,(42h)=ffh。
下列程序执行后,a=();sp=();(41h)=();(42h)=();pc=()。
popdphpopdplmovdptr,#3000hrlamovb,amovca,@a+dptrpushaccmova,bincamovca,@a+dptrpushaccretorg3000hdb10h,80h,30h,80h,50h,80h【4-7】先行编写程序,搜寻在内部ram的30h~50h单元中与否存有0aah这一数据。
若存有,则将51h单元用为“01h”;若未找到,则将51h单元用为“00h”。
【4-8】试编写程序,查找在内部ram的20h~40h单元中出现“00h”这一数据的次数,并将查找到的结果存入41h单元。
【4-9】在内部ram的21h单元已经开始存一组单字节并无符号数,数据长度为20h,编写程序,建议找到最大数取走max单元。
【4-10】若sp=60h,标号label所在的地址为3456h。
lcall指令的地址为2000h,执行如下指令:2000hlcalllabel后,堆栈指针sp和堆栈内容发生了什么变化?pc的值等于什么?如果将指令lcall 直接换成acall是否可以?如果换成acall指令,可调用的地址范围是什么?【4-11】若80c51的晶振频率为6mhz,试计算延时子程序的延时时间?delay:movr7,#0f6;1个机器周期lp:movr6,#0fa;1个机器周期djnzr6,$;2个机器周期djnzr7,lp;2个机器周期ret;2个机器周期【4-12】撰写子程序,将r1中的2个十六进制数切换为ascii后取走r3和r4。
第4章习题答案
1.MCS-51系列单片机能提供几个中断源、几个中断优先级?各个中断源的优先级怎样确定?在同一优先级中,各个中断源的优先顺序怎样确定?
答:MCS-51系列单片机能提供5个中断源,2个中断优先级。
各个中断源的优先级是由特殊功能寄存器IP来确定,IP中和各个中断源对应位为1时,此中断源为高优先级,否则为低优先级。
在同一优先级中,各个中断源的优先顺序是由自然优先级来确定的。
2.简述MCS-51系列单片机的中断响应过程。
答:MCS-51系列单片机的中断响应过程是按照以下顺序执行的:开中断-----中断请求------中断判断-------中断响应-------中断返回。
3.MCS-51系列单片机的外部中断有哪两种触发方式?如何设置?对外部中断源的中断请求信号有何要求?
答:MCS-51系列单片机的外部中断有电平触发和边沿触发两种方式。
是由特殊功能寄存器TCON中IT0,IT1的状态确定的,如:IT0为1时外部中断0为边沿触发方式,当INT0外部引脚出现下降沿时向CPU提出中断请求,否则为电平触发方式,当INT0外部引脚出现低电平时向CPU提出中断请求。
4.MCS-51单片机中断响应时间是否固定?为什么?
答:MCS-51单片机中断响应时间不固定,因为当中断源向CPU提出中断请求时,CPU 正在执行的指令的指令周期是不一样的。
5.MCS-51单片机如果扩展6个中断源,可采用哪些方法?如何确定它们的优先级?
答:一般可采取中断加查询方式,软件先查询到的为高优先级,最后查询到的为低优先级。
6.试用中断技术设计一发光二极管LED闪烁电路,闪烁周期为2s(方波)。
答:用定时器实现
ORG 0000H
AJMP START
ORG 00B0H
AJMP INT-T0
START MOV TMOD, #01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R0,#10
SETB ET0
SETB EA
SETB TR0
SJMP $
INT-T0:
MOV TH0, #3CH
MOV TL0,#0B0H
DJNZ R0,END-P
CPL P1.0
MOV R0,#10
END-P RETI
END
7.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?
答:当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。
8.使用8051外部中断0请求,在中断服务程序中读取P1口数据;然后使用外部中断1请求,在中断服务程序中将读入的P1口数据由P0口输出。
答:ORG 0000H
AJMP START ; 跳到主程序起始地址
ORG 0003H ; INT0中断矢量地址
AJMP EXT0 ; 转到INT0子程序起始地址
ORG 0013H ; INT1中断矢量地址
AJMP EXT1 ; 转到INT1子程序起始地址
START: MOV IE, #10000101B ; 允许INT0、INT1中断,CPU开中断
MOV IP, #00000001B ; INT0为高优先级
MOV TCON, #00H ; INT0、INT1为电平触发方式
AJMP $ ; 设定堆栈指针
EXT0:
MOV P1,#0FFH
MOV A, P1
RETI
EXT1:
MOV P0,A
RETI
END
END
9.8051单片机有5个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。
问以下几种中断优先级顺序的安排(级别由高到低)是否可能?如可能,则应如何设置中断源的中断级别?否则,请叙述不可能的理由。
(1)定时器0,定时器1,外中断0,外中断1,串行口中断。
可能。
其中:定时器0,定时器1为高优先级。
(2)串行口中断,外中断0,定时器0,外中断1,定时器1。
可能。
其中:串行口中断为高优先级。
(3)外中断0,定时器1,外中断1,定时器0,串行口中断。
不可能。
(4)外中断0,外中断1,串行口中断,定时器0,定时器1。
可能。
其中:外中断0,外中断1,串行口中断为高优先级。
(5)串行口中断,定时器0,外中断0,外中断1,定时器1。
不可能。
(6)外中断0,外中断1,定时器0,串行口中断,定时器1。
不可能。
(7)外中断0,定时器1,定时器0,外中断1,串行口中断。
可能。
其中:外中断0,定时器1为高优先级。