单片机第4章作业及答案
单片机原理及应用第四章课后题答案

EA
;开总允许中断
LP1:SJMP
LP1
;等待定时器中断
TT0:PUSH
PSW
INC 30H
MOV R7, 30H CJNE R7, #20, LP2 CPL A
MOVX @DPTR, A MOV 30H, #00H
LP2:MOV TL0,#0B0H; T0赋初值
MOV TH0,#3CH
POP PSW SETB TR0 RETI END
数据传输可达千米以上。
RS-232的双机通信接口电路如图4.26-1所示。
图4.26-1 4.26题硬件连接电路图
RS-422和RS-485的双机通信接口电路如图4.26-2所示。
图4.26-24.26题硬件连接电路图
31•何谓看门狗”?它如何实现对系统程序的监控?
解:
看门狗(WDT)”,也称为程序监视定时器。WDT的作用是通过不断监视程序每周
期的运行事件是否超过正常状态下所需要的时间,从而判断程序是否进入了 死循环”并对
进入 死循环”的程序作出系统复位处理。
在程序中设置适当的指令,清WDT,就可监视微处理器的工作。例如在主程序开始时, 将WDT置位,如果主程序执行过程中产生死循环,就无法清WDT,超过WDT的定时时
间时,WDT就会对微处理器发出复位信号。从而实现对系统程序的监控。
管轮流发光各1S不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口
电路图,并编写控制程序。
解:
使用8255A,电路连接图如图4.25所示。
图4.254.25题硬件连接电路图
其中,PB0〜PB3接红色发光二极管,PB4〜PB7接绿色发光二极管。设MCS-51单片 机主频为12MHz。
单片机原理及应用第四章课后题答案

第四章作业答案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定时。
单片机第4章习题答案(桂电)

第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 0000HAJMP STARTORG 00B0HAJMP INT-T0START MOV TMOD, #01HMOV TH0,#3CHMOV TL0,#0B0HMOV R0,#10SETB ET0SETB EASETB TR0SJMP $INT-T0:MOV TH0, #3CHMOV TL0,#0B0HDJNZ R0,END-PCPL P1.0MOV R0,#10END-P RETIEND7.当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,当新中断源中断级别比正在执行中断源的中断级别高时可响应新的中断请求,否则不能响应新的中断请求。
单片机第4章习题答案

第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章单片机原理课后答案(最新整理)

习题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.按给定的存储类型和数据类型,写出下列变量的说明形式。
单片机 第四章答案

LP1: JBC TF0 ,LP2
JB P3.2 , LP1
INC R0
;低电平到,停止定时器1,存储单元地址加1
SJMP LP0
;低电平到,停止定时器1 宽度
LP2: INC @R0
;存储溢出次数加1ms
MOV TH0,#0FCH ;定时1ms
MOV TL0,#18H SJMP LP1
INT1
INT1 为高时T1 开始计数
中断程序结构框架
20.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正 脉冲信号,晶振频率为12MHz。试设计程序。参照【例4-6】
解:因方式2是8位计数器,其最大定时时间为:256×1 s = 256 s,为实现1 s延时,
可选择定时时间为200 s,再循环5000次。定时时间选定后,可确定计数值为200,则定
时器0的初值为:X = M 计数值=256 200 = 56 。采用定时器0,方式2工作,因此,
TMOD =02H。
ORG 0000H
MOV TMOD,#02H ;置定时器0为方式2
MOV TH1,#56
;置定时器初值
MOV TL1,#56
CLR P1.0 MAIN: MOV R5,#50
;置20 ms计数循环初值 1s
②计算定时500us初值:方式0:X = 213 - 500 = 7692 = 1E0CH
ORG START:MOV
CLR CLR MOV MOV MOV SETB LOOP: JNB CLR MOV MOV INC CJNE MOV CPL JNB CPL SJMP END
0000H TMOD, #00H
ORG 0000H
START:MOV TMOD, #02H;定时器T0工作方式2
单片机第4章习题参考答案.docx

第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章 AT89C51单片机汇编语言程序设计1.已知程序执行前有A = 02H,SP = 42H,(41H) = FFH,(42H) = FFH。
下述程序执行后,A = ;SP = ;(41H) = ;(42H) = ;PC = 。
POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,@A+DPTRPUSH AccMOV A,BINC AMOVC A,@A+DPTRPUSH AccRETORG 3000HDB 10H,80H,30H,80H,50H,80H答:A=80H,SP=40H,(51H)=50H,(52H)=80H ,PC=8050H。
2.说明伪指令的作用。
“伪”的含义是什么?常用伪指令的功能如何?答:伪指令不属于指令系统中的汇编语言指令,它是程序员发给汇编程序的控制命令。
只有在汇编前的源程序中才有伪指令。
所以“伪”体现在汇编后,伪指令没有相应的机器代码产生。
3.解释手工汇编、机器汇编、交叉汇编、反汇编术语概念。
答:(1)手工汇编:手工编程,首先把程序用助记符指令写出,然后通过查指令的机器代码表,逐个把助记符指令“翻译”成机器代码,这种人工查表“翻译”指令的方法称为手工汇编。
(2)机器汇编:是借助于微型计算机上的软件(汇编程序)来代替手工汇编,完成把助记符指令“翻译”成机器代码的工作。
(3)交叉汇编:使用微型计算机来完成汇编,而汇编后得到的机器代码却是在另一台计算机(这里是单片机)上运行,称这种机器汇编为交叉汇编。
(4)反汇编:将二进制的机器代码语言程序翻译成汇编语言源程序的过程。
4.下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDB "MAIN"DW TAB1,TAB2,70H答:4D 41 49 4E 12 34 30 00 00 705.设计子程序时应注意哪些问题?答:在编写子程序时应注意以下问题。
单片机原理及应用第四章课后题答案

单片机原理及应用第四章课后题答案
1.什么是单片机?
单片机是一种微型、多功能的数字集成电路,其中集成了计算机的核心功能,包括存储器、定时/计数器、输入/输出外设、可编程逻辑电路、音频处理等功能。
它可以执行复杂的运算和控制任务,并且比传统的微机更小、更节能、更耐用。
2.简述单片机的结构特点
单片机的结构特点主要有:(1)内置处理器:单片机内置着微处理器,它完成程序控制和数据处理;(2)内存:内置存储器,用以存放程序指令和运算数据;(3)输入/输出口:接口用于连接外围设备;(4)时序功能:提供定时、定时/计数功能;(5)可编程逻辑电路:可根据用户要求定义自己的逻辑电路功能;(6)多种功能模块:可连接有多种功能的模块,如ADC、UART、I2C等。
3.谈谈单片机的应用领域
单片机的应用领域极其广泛,主要涉及家电、工控自动化、汽车、影音机顶盒、游戏机、消费类电子产品、工业控制、公共交通等。
其核心技术、节能和灵活性使其在各个领域有着重要的应用,使其成为近年来电子设备的重要组成部分。
4.什么是常用的单片机?。
单片机课后习题答案(4~9章)

《单片机原理与接口技术》习题解答第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的地址空间寻址要注意什么?答用直接寻址,寄存器寻址,位寻址。
单片机第4章参考答案

第4章 AT89S51汇编语言程序的设计与调试参考答案1.答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编过程的命令。
所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。
常用伪指令及其功能如下:ORG(ORiGin)汇编起始地址命令;END(END of assembly)汇编终止命令;EQU(EQUate)标号赋值命令;DB(Define Byte)定义数据字节命令;DW(Define Word)定义数据字命令;DS(Define Storage)定义存储区命令;BIT 位定义命令2.答:手工汇编:通过查指令的机器代码表(表3-2),逐个把助记符指令“翻译”成机器代码,再进行调试和运行。
这种人工查表“翻译”指令的方法称为“手工汇编”。
机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。
通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。
反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。
3.答:从1000H开始的各有关存储单元的内容(16进制)如下:4D 41 49 4E 12 34 30 0000 70 78 7F E4 F6 D8 FD75 81 07 024.在编写子程序时应注意以下问题:(1)子程序的第一条指令前必须有标号。
(2)主程序调用子程序,有如下两条子程序调用指令:①绝对调用指令ACALL addr11。
被调用的子程序的首地址与绝对调用指令的下一条指令的高5位地址相同,即只能在同一个2KB区内。
②长调用指令LCALL addr16。
addr16为直接调用的目的地址,被调用的子程序可放置在64KB程序存储器区的任意位置。
(3)子程序结构中必须用到堆栈,用来保护断点和现场保护。
(4)子程序返回时,必须以RET指令结束。
(5)子程序可以嵌套,但要注意堆栈的冲突。
5.答:参考程序如下:MOV A,45HANL A,#0FHORL A,#0FHMOV 45H,A6.答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,PC=8050H 7.答:参考程序如下:START:MOV R0,#30HMOV R2,#20HLOOP: MOV A,@R0CJNE A,#0AAH,NEXTMOV 51H,#01HLJMP EXITNEXT: INC R0DJNZ R2,LOOPMOV 51H,#00HEXIT: RET8.答:参考程序如下:START:MOV 41H,#0MOV R0,#20HMOV R2,#20HLOOP:MOV A,@R0JNZ NEXTINC 41HNEXT:INC R0DJNZ R2,LOOPRET9.答:参考程序如下:ORG 0100HMOV R2, #20H 要比较的数据字节数MOV A , #21HMOV R1 , ADEC R2MOV A , @R1LOOP: MOV R3,ADEC R1CLR CSUBB A,@R1JNC LOOP1MOV A,@R1SJMP LOOP2LOOP1: MOV A,R3LOOP2: DJNZ R2, LOOPMOV @R0,ARET10.答:(1)SP=SP+1=61H (61H)=PC的低字节=03HSP=SP+1=62H (62H)=PC的高字节=20H(2)PC=3456H(3)可以(4)2KB=2048 Byte11.答:可对程序做如下修改:ORG 0100HDEL: MOV R7, #200DEL1: MOV R6, #123 ;将原来的立即数125改为123DEL2: DJNZ R6, DEL2NOP ;增加的指令DJNZ R7, DEL1RET程序修改后的延时时间为:1+(1+123*2+1+2)*200+2=50003us=50.003ms。
单片机第4章习题答案(桂电)

MOV TL0,#0B0H
DJNZ R0,END-P
CPL P1.0
MOV R0,#10
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(方波)。 答:用定时器实现
第4章习题答案
1.MCS-51系列单片机能提供几个中断源、几个中断优先级?各个中断源的优先级怎样确定?在同一优先级中,各个中断源的优先顺序怎样确定?
答:MCS-51系列单片机能提供5个中断源,2个中断优先级。各个中断源的优先级是由特殊功能寄存器IP来确定,IP中和各个中断源对应位为1时,此中断源为高优先级,否则为低优先级。在同一优先级中,各个中断源的优先顺序是由自然优先级来确定的。
第4章习题答案

第 4 章习题答案1.MCS-51 系列单片机能供给几其中止源、几其中止优先级各其中止源的优先级如何确定在同一优先级中,各其中止源的优先次序如何确立答: MCS-51 系列单片机能供给 5 其中止源, 2 其中止优先级。
各其中止源的优先级是由特别功能存放器IP 来确立, IP 中和各其中止源对应位为 1 时,其中止源为高优先级,否则为低优先级。
在同一优先级中,各其中止源的优先次序是由自然优先级来确立的。
2.简述 MCS-51 系列单片机的中止响应过程。
答: MCS-51 系列单片机的中止响应过程是依据以下次序履行的:开中止-----中止恳求------中止判断 -------中止响应 -------中止返回。
3.MCS-51 系列单片机的外面中止有哪两种触发方式如何设置对外面中止源的中止恳求信号有何要求答: MCS-51 系列单片机的外面中止有电平触发和边缘触发两种方式。
是由特别功能寄存器 TCON 中 IT0,IT1 的状态确立的,如:I T0 为 1 时外面中止0 为边缘触发方式,当INT0 外面引脚出现降落沿时向CPU 提出中止恳求,不然为电平触发方式,当INT0 外面引脚出现低电平常向CPU 提出中止恳求。
4. MCS-51 单片机中止响应时间能否固定为何答: MCS-51 单片机中止响应时间不固定,由于中间止源向CPU 提出中止恳求时,CPU 正在履行的指令的指令周期是不同样的。
5. MCS-51 单片机假如扩展 6 其中止源,可采纳哪些方法如何确立它们的优先级答:一般可采纳中止加查问方式,软件先查问到的为高优先级,最后查问到的为低优先级。
6.当正在履行某一中止源的中止服务程序时,假如有新的中止恳求出现,问在什么情况下可响应新的中止恳求在什么状况下不可以响应新的中止恳求答:当正在履行某一中止源的中止服务程序时,假如有新的中止恳求出现,当新中止源中止级别比正在履行中止源的中止级别高时可响应新的中止恳求,不然不可以响应新的中止请求。
第四章80C51的程序设计习题及答案

第四章80C51的程序设计习题及答案第四章80C51的程序设计习题及答案1、80C51单⽚机汇编语⾔有何特点?答:80C51单⽚机汇编语⾔的源程序结构紧凑、灵活,汇编成的⽬标程序效率⾼,具有占存储空间少、运⾏速度快、实时性强等优点。
但它的是⾯向机器的语⾔,所以它缺乏通⽤性,编程复杂繁琐,但应⽤相当⼴泛。
2、利⽤80C51单⽚机汇编语⾔进⾏程序设计的步骤如何?答:在进⾏程序设计时,⾸先需要对单⽚机应⽤系统预先完成的任务进⼊深⼊的分析,明确系统的设计任务、功能要求、技术指标。
然后,要对系统的硬件资源和⼈⼯作环境进⾏分析和熟悉。
经过分析、研究和明确规定后,利⽤数学⽅法或数学模型来对其进⾏描述,从⽽把⼀个实际问题转化成由计算机进⾏处理的问题。
进⽽,对各种算法进⾏分析⽐较,并进⾏合理的优化。
3、常⽤的程序结构有哪⼏种?特点如何?答:常⽤的程序结构有以下⼏种:(1)顺序程序结构顺序结构是按照逻辑操作顺序,从某⼀条指令开始逐条顺序进⾏,直到某⼀条指令为⽌;⽐如数据传送与交换、查表程序和查表程序的设计等;在顺序结构中没有分⽀,也没有⼦程序,但它是组成复杂程序的基础和主⼲;(2)分⽀程序结构它的主要特点是程序执⾏流程中必然包含有条件判断指令,符合条件要求的和不符条件合要求的有不同的处理程序;(3)循环程序结构它在本质上只是分⽀程序中的⼀个特殊形式,它由循环初始化、循环体、循环控制和结束部分构成;在循环次数已知情况下,采⽤计数循环程序,其特点是必须在初始部分设定计数的初始值,循环控制部分依据计数器的值决定循环次数;根据控制循环结束的条件,决定是否继续循环程序的执⾏。
(4)⼦程序它的主要特点是,在执⾏过程中需要由其它的程序来调⽤,执⾏完后⼜需要把执⾏流程返回到调⽤该⼦程序的主程序。
4、⼦程序调⽤时,参数的传递⽅法有哪⼏种?答:在80C51单⽚机中,⼦程序调⽤时,参数的传递⽅法由三种:1、利⽤累加器或寄存器;2、利⽤存储器;3、利⽤堆栈。
单片机第四章答案

第四章习题与思考答案4-3外设端口有哪两种编址方法?各有什么特点?答:微型计算机对 I/O 端口进行编址的方式有两种:单独编址和统一编址。
1.外设端口单独编址特点:(1) 需要专用 I/O 指令,实现 CPU 和外设间数据传送。
(2)I/O端口地址的独立。
2.外设端口与存储器统一编址特点: (1) 无需专用 I/O 指令(2)I/O端口地址是内存地址中的一部分。
4-4 I/O 数据有哪四种传送方式?各有什么特点?CPU 与外设之间的数据传送方式有无条件传输方式、查询方式、中断方式和 DMA 方式。
1.无条件传输方式无条件传送又称为同步传送或直接传送方式。
CPU 在与外设进行数据交换时,外设随时处于准备好的状态,这样 CPU 不必查询外设的状态,也不必等待,而是直接进行数据的输入输出。
2.查询传输方式查询传输方式也称为异步传输、条件传输方式。
采用查询方式时, CPU 每次与外设进行数据传输前,都要先读取状态端口的信息,查询外设是否准备就绪,只有在外设处于“就绪”状态时,才能向外设的数据端口发送数据或从其中读取数据,如果外设未就绪,就需要 CPU 原地循环等待外设完成准备工作,所以 CPU 的工作效率不高。
3.中断传输方式在中断传输方式中,以外设为主动方,每次外设准备好就可以向 CPU 发出一次中断请求,使 CPU 暂停当前正在执行的程序,转去与外设进行一次数据传输工作,当完成了本次数据的输入或输出后,再回到原先被打断的地方继续执行原来的程序。
中断方式可以大大提高 CPU 的效率和系统的实时性。
4. DMA 方式DMA 方式即直接存储器存取方式,是一种在DMA控制器的控制下实现的外设与存储器之间的直接数据传输方式。
在整个DMA 传输过程中,是不需要 CPU 参与的,完全是通过硬件逻辑电路用固定的顺序发地址和读写信号来实现的,数据不需要经过 CPU 而是在外设和存储器之间高速传输。
4-5 8051 内部的并行I/O 口有哪些?各有什么功能?1.P0 口P0 口的第一功能是作为通用I/O 口使用。
单片机原理及应用习题4-6章

《单片机原理及应用》课后习题库第四章(P122)画出MCS-51系列单片机最小应用系统的原理结构图。
参考答案:片内带程序存储器的8051、8751本身即可构成一片最小系统, 只要将单片机接上时钟电路和复位电路即可, 同时接高电平, ALE、EA PSEN 信号不用, 系统就可以工作。
如图所示该系统的特点如下:(1) 系统有大量的I/O线可供用户使用: P0、P1、P2、P3四个口都可以作为I/O口使用。
(2) 内部存储器的容量有限, 只有128 B的RAM和4 KB的程序存储器。
MCS—51系列最小化系统试说明存储器的译码选择方法积及特点。
参考答案:存储器芯片的选择有两种方法: 线选法和译码法。
1. 所谓线选法, 就是直接以系统的地址线作为存储器芯片的片选信号, 为此只需把用到的地址线与存储器芯片的片选端直接相连即可。
其优点是简单明了,不需要另外增加译码电路,成本低。
缺点是浪费了大量的存储空间。
2. 所谓译码法就是使用地址译码器对系统的片外地址进行译码, 以其译码输出作为存储器芯片的片选信号。
该方法能有效地利用存储空间,适用于大容量多芯片存储器的扩展。
什么是完全译码?什么是部分译码?各有什么特点?参考答案:完全译码是指地址译码器使用了全部地址线,地址与存储单元一一对应,即一个存储单元只占用1个唯一地址。
部分译码是指地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,而是1个存储单元占用了几个地址。
1根地址线不接,一个单元占用2(21)个地址;2根地址线不接,一个单元占用4(22)个地址;3根地址线不接,则占用8(23)个地址,依此类推。
参考答案:其所占有的地址范是:8000H~9FFFH 。
其中片内译码有13根地址线和片外译码有3根地址线。
参考答案:该题为部分译码法。
其所有占用的全部地址范围是:0000H~1FFFH 、2000H~3FFFH 、4000H~5FFFH 6000H~7FFFH 。
单片机习题答案(第四章)

RL A
MOV 30H,A
RET
编写程序,把片外RAM从2 0 00 H开始连续存放的8个数据送到片内3 0H开始的单元
中。
程序如下:
ORG 0000H
MOV R7,#08H
MOV DPTR,#2000H
MOV R0,#30H
LOOP1: MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,LOOP1
RET
已知片内3 0H, 3 1H中存有一个1 6位的二进制数,高位在前,低位在后,请编程将
它们乘2 ,再存回原处。设乘完结果不超出双字节。
程序如下:
ORG 0000H
MOV A,31H
CLR CY
RLC A
MOV A,30H
RLC A
MOV 30H,A
AJMP$
若有两个无符号数X ,Y分别存放在外部数据存储器5 0,5 1单元中,试编写一个程序,
实现X*5+Y,结果高8位存入片内4 2单元,低8位存入片内4 3单元。
程序如下:
ORG 0000H
MOV DPTR,#0050H;X先乘2
MOVX A,@DPTR
MOV 43H,A
CLR CY
RLC A
MOV R0,#A
MOV A,@R0
MOV R0,#B
SUBB A,@R0
JNB OV,OVER
MOV @R0,#00H
MOV R0,#A
MOV @R0,#00H
OVER: RET
已知片内30H单元中存有一个8位无符号数。编程将它们乘2,再存回原处。设乘完结果
不超出一个字节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章作业
1、进行两个16位数的减法:6F5DH-13B4H,结果存入片内RAM30H和31H单元中,30H 存低8位。
MOV A , #5DH
CLR C
BUBB A , #0B4H
MOV 30H , A
MOV A , #6FH
SUBB A , #13H
MOV 31H , A
2、把片外RAM从2000H单元开始存放的8个数传送到片内30H开始的单元中。
MOV DPTR , #2000H
MOV R5 , #8
MOV R0 , #30H
LOOP: MOVX A , @DPTR
MOV @R0 , A
INC R0
INC DPTR
DJNZ R5 , LOOP
RET
3、查找在片内RAM30H~50H单元中是否有#0AAH这个数据,若有,则将51H单元置为#01H,若未找到,则将51H单元置为0。
MOV 51H , #0
MOV R0 , #30H
MOV R6 , #21H
LOOP: CJNE @R0 , #0AAH , NEXT
MOV 51H , #1
RET
NEXT: INC R0
DJNZ R6 , LOOP
RET
4、查找在片内RAM30H~50H单元中出现#00H的次数,并将结果存云51H单元。
MOV 51H , #0
MOV R1 , #30H
MOV R3 , #21H
LOOP: CJNE @R1 , #00H , NEXT
INC 51H
NEXT: INC R1
DJNZ R3 , LOOP
RET
5、片内RAM30H和31H单元中存有一个小于1000的BCD码,30H存个位和十位,31H 存百位,将此BCD码乘以10后存与30H和31H单元,30H存个位和十位,31H存百位和千位。
MOV R4 , #4
LOOP: CLR C
MOV A , 30H
RLC A
MOV 30H , A
MOV A , 31H
RLC A
MOV 31H , A
DJNZ R4 , LOOP
RET
6、编写一个程序,把片外RAM从2000H单元开始的8个数传送到片内30H开始的单元中。
MOV DPTR , #2000H
MOV R0 , #30H
MOV R2 , #8
LOOP : MOVX A , @DPTR
MOV @R0 , A
INC DPTR
INC R0
DJNZ R2 , LOOP
RET。