单片机原理与应用戴胜华课后答案

上传人:沈*** 文档编号:116088939 上传时间:2022-07-04 格式:DOC 页数:16 大小:63KB
收藏 版权申诉 举报 下载
单片机原理与应用戴胜华课后答案_第1页
第1页 / 共16页
单片机原理与应用戴胜华课后答案_第2页
第2页 / 共16页
单片机原理与应用戴胜华课后答案_第3页
第3页 / 共16页
资源描述:

《单片机原理与应用戴胜华课后答案》由会员分享,可在线阅读,更多相关《单片机原理与应用戴胜华课后答案(16页珍藏版)》请在装配图网上搜索。

1、 . . 单片机作业答案-第二章1、MCS-51系列单片机部有哪些主要的逻辑部件?P10答:MCS-51系列单片机部的逻辑部件主要有:算术/逻辑部件ALU、累加器A、只读存储器ROM、随机存储器RAM、指令寄存器IR、程序计数器PC、定时器/计数器、I/O接口电路、程序状态寄存器PSW、寄存器组。3、MCS-51部RAM区功能如何分配?如何选用4组工作寄存器中的一组作为当前的工作寄存器组?位寻址区域的字节地址围是多少?P13-P15答:MCS-51部RAM的地址空间为00H-7FH,128B,按功能分为3个区域。00H-1FH的32B单元是4个工作寄存器组,单片机执行程序时,具体使用哪一组是通

2、过对PSW的RS1、RS0两位的设置来实现;20H-2FH的16B共128位,是可以按位寻址的部RAM区;30H-7FH的80B单元是只能按字节寻址的部RAM区。5、8031设有4个8位并行端口,若实际应用8位I/O口,应使用P0-P3中的哪个端口传送?16位地址如何形成?P19-P21答:P1口是专门供用户使用的I/O口,是准双向接口,故可以使用P1口传送; P0口既可作地址/数据总线使用,又可作通用I/O使用。一方面用来输出外部存储器或I/O的低8位地址,另一方面作为8位数据输入/输出口,故由P0口输出16位地址的低8位; P2口可作通用I/O口使用,与P1口相同。当外接存储器或I/O时,

3、P2口给出地址的高8位,故P2口输出16位地址的高8位。8、MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一个机器周期为多少微妙?P25答:CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的。MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。当振荡频率为10MHz时,一个机器周期为12/10M Hz=1.2us。9、在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不会发生冲突?P12;P13、P18答:1、程序存储器和数据存储器物理上是独立的,寻址片外程序

4、存储器和片外数据存储器的寻址方式、寻址空间和控制信号不同。2、对外部程序存储器访问使用MOVC指令;对外部数据存储器访问使用MOVX指令。10、MCS-51的P3口具有哪些第二种功能?P19表2-6答: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口)P3.2 INT0(外部中断0) P3.3 INT(外部中断1)P3.4 T0(定时器0外部中断) P3.5 T1(定时器1外部中断)P3.6 WR(外部数据存储器写信号)P3.7 RD(外部数据存储器读信号)11、位地址7CH与字节地址7CH有哪些区别?位地址7CH具体在存中什么位置?P14答:位地址7CH与字节地址7CH在RAM

5、中的位置不同,寻址方式也不用。位地址7CH在部RAM区2FH中,可以位寻址;字节地址7CH在用户区中,只能按字节寻址。第三章2、什么是寻址方式?MCS-51单片机有哪几种寻址方式?P36答:寻址方式是指令中确定操作数的形式。MSC-51单片机有立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。3、指出以下指令中画线的操作数的寻址方式?P36MOV R0, #55H ; 立即寻址 MOV A, 2AH ; 直接寻址 MOV A, R1 ; 寄存器间接寻址MOV R0, A ; 寄存器寻址 DIV A, B ; 寄存器寻址 ADD A, R7 ; 寄存器寻址 MOVX

6、A, DPTR ; 寄存器间接寻址MOV DPTR, #0123H ; 立即寻址 MOVC A, A+DPTR ; 基址加变址寻址 INC DPTR ; 寄存器寻址 7、为什么要进行十进制调整?调整方法是什么?P49答:十进制表示用BCD码规则,相加大于10进位;运算用二进制规则,相加大于16进位。所以要进行十进制调整。调整方法:数的低四位大于9或标志位AC=1,则低四位加06H调整。高四位大于9或标志位CY=1则高四位加60H。8、编程实现两个一字节压缩型BCD码的减法。设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。?答: CLR CMOV A,#9AH SUBB A,R

7、1 ADD A,R0DA AMOV R0,A9、把片外数据存储器8000H单元中的数据读到累加器中,应用哪几条指令?P45例3.7答: MOV DPTR, #8000HMOV A, DPTR10、已知部RAM中,(A) =35H,(R0) =6FH,(P1) =0FCH,(SP) =0C0H。分别写出以下各条指令的执行结果。P41-(1) MOV R0, A ; (R0)=35H P41(2)(2) MOV R0, A ; (6FH)=35H P42(4)(3) MOV A, #90H ; (A)=90H P41(1)(4) MOV A, 90H ; (A)=(90H) P41(1)(5) M

8、OV 80H, #81H ; (80H)=81H P42(3)(6) MOVX R0, A ; (6FH)=35H P45 2(7) PUSH A ; (0C1H)=35H,(SP)=0C1H P43(6)(8) SWAP A ; (A)=53H P44(8)(9) XCH A, R0 ; (A)=6FH,(R0)=35H P44(7)第四章2、在汇编语言程序设计中,为什么要采用标号来表示地址?标号的构成原则是什么?使用标号有什么限制?注释段起什么作用?P69答:采用标号便于在编写程序时,实现跳转、循环等程序控制转移。标号位于语句的开始,由以字母开头的字母和数字组成,它代表语句的地址。标号与指

9、令间要用冒号“:”分开,标号与“:”之间不能有空格,“:”与操作码之间可以有空格。注释段放在语句的最后,以冒号开始,为不可执行部分,对程序进行解释性说明。3、MCS-51汇编语言有哪几条常用的伪指令?各起什么作用?P70-P72答:MCS-51汇编语言有以下常用的伪指令:1、设置起始地址伪指令ORG(Origin)格式:ORG 起始地址作用:ORG伪指令总是出现在每段源程序或数据块的开始,可以使程序、子程序和数据快存放在存储器的任何位置。若在源程序中不放ORG指令,则汇编将从0000H单元开始编排目标程序。ORG定义控件地址应由从小到大,且不能重叠。2、定义字节伪指令DB(Define Byt

10、e)格式:DB 作用:把项或项表的数值存入从标号开始的连续单元中。3、定义字伪指令DW(Define Word)格式:DW 作用:基本含义与DB相同,不同的是DW定义16位数据。4、预留存储区伪指令DS(Define Storage)格式:DS 作用:由标号指定的单元开始,定义一个存储区,以给程序使用。存储区预留的存储单元数由表达式的值决定。5、为标号赋值伪指令EQU格式:EQU 数或汇编符号作用:将操作数中的地址或数据赋给标号字段的标号,故又称为等值指令。6、数据地址赋值伪指令DATA格式:DATA 作用:其功能和EQU类似,但有以下区别。(1)用DATA定义的标识符汇编时作为标号登记在符号

11、表中,所以可以先使用后定义;而EQU定义的标识符必须先定义后使用。(2)用EQU可以把一个汇编符号赋给字符名,而DATA只能把数据赋给字符名。(3)DATA可以把一个表达式赋给字符名,而DATA只能把数据赋给字符名。(4)DATA常在程序中用来定义数据地址。7、位地址符号伪指令BIT格式:字符名 BIT 位地址作用:把位地址赋给字符名称8、源程序完毕伪指令END格式:END 作用:END命令通知汇编程序完毕汇编。在END之后,所有的汇编语言指令均不作处理。如果没有这条指令,汇编程序通常会给出“警告”指示。6、外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H

12、单元开始的区域中,编写有关程序。COMPARE WITH P80 例4.10答: START: MOV R0,#00HMOV DPTR,#1000HLOOP: MOVX A,DPTRMOV DPH,#25HMOVX DPTR,AMOV DPH,#10HINC DPTRINC R0DJNZ R0,LOOPSJMP $11、设系统晶体振荡频率为12MHz,请编写延时50ms的延时子程序。P81例4.11答:使用12MHz晶振时,1个机器周期为1us,一条DJNZ耗时2us,采用双重循环方法,50ms=2us*250*100,程序如下:DL50MS: MOV R4, #100DELAY1: MOV

13、R3 , #250DELAY2: DJNZ R3, DELAY2DJNZ R4, DELAY1RET12、分析以下程序中各条指令的作用,并说明运行后相应寄存器和存单元的结果。MOV A, #34H ; (A)=34H MOV B, #0ABH ; (B)=0ABH MOV 34H, #78H ; (34H)=78H XCH A, R0 ; (A),(R0)互换 XCH A, R0 ; (A),(R0)互换XCH A, B ; (A),(B)互换 SJMP $ ; 暂停 第五章:2、8051单片机的定时器/计数器有哪几种工作方式?各有什么特点?P105答: 8051单片机的定时器/计数器有4种工

14、作方式,分别是:工作方式0:M1M0=00,为13位定位器/计数器,其计数器由THi的全8位和TLi的低5位构成,TLi的高3位未用。当TLi的低5位计满时,向THi进位,THi溢出后对中断标志位TFi 置“1”,并申请中断。Ti是否溢出可用软件查询TFi是否为“1”。计数器围为1-8192,如需再次定时或计数,需要用指令重置时间常数。工作方式1:M1M2=01,与工作方式0基本相同,不同之处在于其为16位定时器/计数器,计数值围为1-65536,如需再次定时或计数,需要用指令重置时间常数。工作方式2:M1M0=10,为可重装初值的8位定时器/计数器。把16位的计数器拆成两个8位计数器,TLi

15、用作8位计数器,THi用来保存初值。每当TLi计满溢出时,可自动将THi的初值再装入TLi,继续计数,循环重复。其计数围为1-256。这种工作方式可省去用户软件中重装初值的程序,并可产生相当精度的定时时间,特别适合于产生周期性脉冲与作为串行口波特率发生器,缺点是计数长度太小。工作方式3:M1M0=11,该工作方式只适用于T0。T0在该工作方式被分成两个相互独立的8位计数器,其中TL0既可以作计数器使用,又可以作定时器使用。而TH0只能作8位定时使用,并占用了T1的控制启动位TR1和溢出标志位TF1。T1只能工作在方式0、方式1或方式2,只能用在不需中断控制的场合。工作方式3是为了在使用串行口时

16、,需要两个独立的计数器而特别提供的。因为此时把定时器1规定用作串行通信的波特率发生器,并设定为工作方式2,使用时只要将计数器初值送到计数器寄存器即开始工作,启动后不需要软件干预,也不使用溢出标志。9、设晶振频率为6MHz。编程实现:使用定时器T0工作在方式2、定时,在P1.4输出周期为100us,占空比为4:1的矩形脉冲。答:使用晶体振荡器频率为6MHz时,1个机器周期为2us。欲使占空比为4:1,可将矩形脉冲分为5份,前4份P1.4输出高电平,第5份输出低电平。计数初值: 计数初值满足:(256-Y)*2us=20us,解得计数初值为Y=246=0F6H,则TH0=TL0=0F6H。TMOD

17、寄存器定义:D7D6D5D4D3D2D1D0GATEC/M1M0GATEC/M1M0定时器1定时器0定时器工作方式定义:M1M0工作方式说明00013位定时器/计数器01116位定时器/计数器102可重装8位定时器/计数器113T0分成两个8位定时器/计数器,T1停止计数定时器0,定时方式2,故TMOD设置:00000010=02H,。程序如下:ORG 2000HSTART: MOV TMOD, #02H /定时器0,定时方式2MOV TL0,0F6H /初值送TL0MOV TH0,0F6H /初值送TH0SETB P1.4 /P1.4置高SETB TR0 /允许T0计数LOOP: MOV R

18、0, #4 /由于是4:1,故计数周期定为4WAIT1: JNB TF0,WAIT1 /等待定时器T0溢出标志位CLR TF0 /软件清零TF0DJNZ R0,WAIT1 /判断R0是否等于0,即判断是否循环了四次CPL P1.4 /对P1.4取反WAIT2: JNB TF0,WAIT2/等待定时器T0溢出标志位,即判断是否循环一次CLR TF0 /软件清零TF0CPL P1.4 /对P1.4再次取反SJMP LOOP /程序循环运行第六章2、MCS-51单片机的串行口共有哪几种工作方式?各有什么特点和功能?P129答: MCS-51单片机的串行口共有以下四种工作方式:工作方式0:SM1SM0

19、=00,为同步移位寄存器。当一个数据写入串行口发送缓冲器时,串行口即将8位数据以fosc/12的固定波特率从RXD引脚输出,低位在先,TXD为移位脉冲信号输出端。发送完8位数据后中断标志位T1置“1”。特点是:移位寄存器的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后,波特率固定,一个机器周期移位一次。工作方式1:SM1SM0=01,串行口被定义为波特率可变的8位异步通信接口。方式1的波特率=(2smod/32) x定时器T1的溢出率特点为:一帧信息为10位,其中1位起始位“0”,8位数据位(地位在前)和一位停止位“1”,其波特率可变。工作方式2:SM1SM0=10,串行口被定义

20、为9位异步通信接口。方式2的波特率=(2smod/64) x 振荡器频率特点是:一帧信息为11位,1位起始位“0”,8位数据位(低位再前),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。工作方式3:SM1SM0=11,串行口被定义为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2完全相同。方式3的波特率=(2smod/32) x 定时器T1的溢出率特点:一帧信息为11位,1位起始位“0”,8位数据位(低位在先),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。3、MCS-51单片机4种工作方式的波特率应如何确定?P134答: MCS-51单片机波特率的确定方法:

21、(1)方式0的波特率=fosc/12(2)方式1的波特率=(2smod/32) x定时器T1的溢出率。(3)方式2的波特率=(2smod/64) x 振荡器频率(4)方式3的波特率=(2smod/32) x 定时器T1的溢出率7、请用查询法编写程序实现串行口工作方式1下的发送程序。设单片机主频为11.0592MHz,波特率为1200bps、发送数据缓冲区在外部RAM,起始地址为1000H,数据块长度为30B,采用偶校验(其他条件自设)。答:1) 设数据为ASCII码形式,最高位作为奇偶校验位。2) T1作为波特率发生器,工作于方式2。TMOD寄存器定义:D7D6D5D4D3D2D1D0GATE

22、C/M1M0GATEC/M1M0定时器1定时器0定时器工作方式定义:M1M0工作方式说明00013位定时器/计数器01116位定时器/计数器102可重装8位定时器/计数器113T0分成两个8位定时器/计数器,T1停止计数故,TMOD=20H;3) 设SMOD=0。4) 串行口工作在方式1SCOD寄存器定义:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI串行口工作方式定义:SM0SM1工作方式方式简单描述波特率000移位寄存器I/O主振频率/120118位UART可变1029位UART主振频率/32或主振频率/641139位UART可变故,SCON=40H;5) 波

23、特率为1200bps通过计算得T1的时间常数为0E8H。程序如下:ORG 1000HSTART: MOV TMOD, #20H ;T1工作方式2MOV TL1, #0E8HMOV TH1, #0E8HMOV PCON, #00H ;SMOD=0波特率不倍增SETB TR1 ;启动T1MOV SCON, #40H ;串行口工作方式1MOV DPTR, #1000H ;MOV R2, #30 ;计数值30LOOP: MOVX A, DPTRMOV C, P ;送奇偶标志MOV ACC.7, C ;MOV SBUF, A ;发送字符WAIT: JNB TI, WAIT ;CLR TI ;INC DP

24、TRDJNZ R2,LOOPAJMP START第七章1、MCS-51有几个中断源?有几级中断优先级?各中断标志如何产生?又如何清除? P149答:5个中断源:2个外部中断INT0、INT1,3个部中断T0、T1、串行口。2个优先级:高级中断和低级中断,由用户定义。中断标志的产生:(1) 外部中断可以设置边沿触发或者电平触发,边沿触发进入中断程序后硬件自动清中断标志,电平触发需要软件清标志位;(2) 定时器T0,T1计数溢出产生中断,进入中断程序硬件自动清标志位;(3) 串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是承受

25、中断,并且只能由软件清标志位;中断请求的清除: (1) 定时中断由硬件自动撤除定时中断响应后,硬件自动把标志位(TFx)清零。(2) 外部中断的自动与强制撤除若外部中断以脉冲方式触发,则由硬件自动地把标志位(IEx)清零。24 若以电平方式触发,则需由外部电路和软件配合撤除。(3)串行中断软件撤除CLR TI; CLR RI;2、什么是中断优先级?优先级的处理原则是什么?P151答: CPU一般与多个中断源相连,因此有多个中断同时发生的可能,为使系统能与时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程序,将中断源分为若干个级别,称作中断优先级;中断优先级的处理原则:1、低优先级

26、中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。2、如果一个中断请求已被响应,则同级的其他中断响应将被禁止。3、如果同级的多个请求同时出现,则按CPU查询次序确定哪个中断请求被响应。其查询次序为:外部中断0定时中断0外部中断1定时中断串行中断。8试编写一段对中断系统初始化的程序,使之允许INT0、INT1、T0和串行口中断,且使串行口中断为高优先级中断。 P150、P151答: 允许INT0、INT1、T0和串行口中断中断控制寄存器IE定义:D7D6D5D4D3D2D1D0EAET2ESET1EX1ET0EX0EA=1(中断使能),ES=1(串行口中断),EX1=1( 中断),ET0=1(T0中断),EX0=1( 中断)。故IE=97H;串行口中断为高优先级中断优先级寄存器IP定义:D7D6D5D4D3D2D1D0PT2PSPT1PX1PT0PX0PS=1(串行口中断高优先级),故IP=10H;MOV IE #97HMOV IP #10H第八章9、 MCS-51单片机利用4KB的EPROM 2764和2KB的 SRAM 6116与74HC138译码器,构成一个具有8KB ROM, 16KB RAM的存储器系统,给出硬件连接图并指出各芯片地址围。答:需要两个2764和8个6116。16 / 16

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!