MCS51单片机作业解答
单片机习题答案

单片机-习题答案第七章MCS-51的串行口1.串行数据传送的主要优点和用途是什么?答:串行数据传送的主要优点是硬件接口简单,接口端口少(2个)。
主要用于多个单片机系统之间的数据通信。
2.简述串行口接收和发送数据的过程。
答:以方式一为例。
发送:数据位由TXT端输出,发送1帧信息为10为,当CPU执行1条数据写发送缓冲器SBUF的指令,就启动发送。
发送开始时,内部发送控制信号/SEND变为有效,将起始位想TXD输出,此后,每经过1个TX时钟周期,便产生1个移位脉冲,并由TXD输出1个数据位。
8位数据位全部完毕后,置1中断标志位TI,然后/SEND信号失效。
接收:当检测到起始位的负跳变时,则开始接收。
接受时,定时控制信号有2种,一种是位检测器采样脉冲,它的频率是RX时钟的16倍。
也就是在1位数据期间,有16个采样脉冲,以波特率的16倍的速率采样RXD引脚状态,当采样到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
3.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式(1)。
4.串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有3种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD/32×定时器T1的溢出率方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×定时器T1的溢出率5.假定串行口串行发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式。
起始位01000000校验位停止位6.判断下列说法是否正确:(1)串行口通信的第9数据位的功能可由用户定义。
单片机应用技术试题库及答案-MCS—51单片机原理与结构

14.MCS—51单片机中堆栈的作用有 CDE 。
A.保护SP B.保护栈顶 C.保护断点 D.保护现场
E.保护调用指令的下一条指令地址
一、填空题:(2分/题*10=20分)
1、8051单片机堆栈遵循数据后进先出(先进后出)的原则。
31.MCS—51的串行数据缓冲器SBUF用于 。B
A.存放运算中间结果 B.存放待发送或已接收到的数据 C.暂存数据和地址
D.存放待调试的程序
32.MCS—51单片机的P1口的功能是 。A
A.可作通用双向I/O口用 B.可作一般I/O口用
C.可作地址/数据总线用 D.可作通用I/O口用
5.单片机8031的ALE引脚是 B 。
A. 输出高电平 B。输出矩形脉冲,频率为fosc的1/6
B. C.输出低电平 D。输出矩形脉冲,频率为fosc的1/2
6.单片机8031的 引脚 A 。
A.必须接地 B。必须接+5V C。可悬空 D。以上三种视需要而定
7.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是 A 。
D.少部分只能位寻址
16.寻址方式就是 C 的方式。
A.查找指令操作码 B.查找指令 C.查找指令操作数
D.查找指令操作码和操作数
17.8031 单片机若晶振频率为fosc=12MHz,则一个机器周期等于 C μS。
A.1/12 B.1/2 C.1 D.2
18.MCS—51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来 。
A.P0口 B。P1口 C。P2口 D。P0口 和 P2口
MCS-51作业讲解

③ 位地址7CH与字节地址7CH如何区别?位地址 7CH具体在片内RAM中什么位置?
答:位地址7CH与字节地址7CH靠所使用的指令 或指令中所使用的寄存器来区别,当使用 位指令或指令中使用“C”寄存器时表明此 时的地址是位地址,其余情况均为字节地 址。 位地址7CH具体在片内RAM2FH单元中D4位。
CJNE A,30H,NEXT ;两数比较,不等转NEXT SJMP NOCHA ;相等转NOCHA(不交换位置)
NEXT:JNC NOCHA;C=0则(A)>(30H)不交换, 转NOCHA(@R1>R0@)
MOV @R0,A;交换R0与R1指向单元的数 XCH A,30H ;将@R1中的数(A)与30H
⒍ MCS-51单片机如何实现工作寄存器组 R0-R7的选择?
答:用户可通过改变PSW中的RS1和RS0的 两位的值选择相应的工作寄存器组。
⒎什么是时钟周期、机器周期、指令周期?当 单片机时钟频率为12 MHz时,一个机器周期 是多少?ALE引脚的输出频率是多少?
答:时钟周期:指为单片机提供时钟信号的振 荡源的周期.
(原R0 )交换 MOV @R1,A;使A(原R0中数)→@R1 NOCHA:INC R0;调节地址指针
INC R1 DJNZ R3,LOOP1;内循环结束判别 DJNZ R2,LOOP0;外循环结束判别
RET
MOV R0,#51H MOV R5,#07H MOV R4,#00H MOV A, @R0 INC R0 LP: ADD A, @R0 JNC LP1 INC R4 CLR C LP1:INC R0 DJNZ R5,LP
⒉在以3000H为首地址的外部单元中,存放了14 个ASCII码表示的0~9之间的数,试编写程序 将它们转换为BCD码,并以压缩型BCD码的 形式存放在以2000H为首地址的外部单元中. MOV DPTR,#2000H MOV P2,#20H MOV R0,#00H MOV R3,#07H LOOP: MOVX A,@R0
MCS—51单片机指令系统及程序设计

MCS—51单片机指令系统及程序设计一、判断题()1.MCS—51单片机的指令格式中操作码与操作数之间必须用“,”分隔。
()2.MCS—51指令:MOV A,#40H ;表示将立即数40H传送至A中。
()3.MCS—51指令:MOV A,@R0 ;表示将R0指示的地址单元中的内容传送至A中。
()4.MCS—51指令:MOVX A,@DPTR ;表示将DPTR指示的地址单元中的内容传送至A 中。
()5.MCS—51的数据传送指令是把源操作数传送到目的操作数,指令执行后,源操作数改变,目的操作数修改为源操作数。
()6.MCS—51指令中,MOVX为片外RAM传送指令。
()7.MCS—51指令中,MOVC为ROM传送指令。
()8.将37H单元的内容传送至A的指令是:MOV A,#37H。
()9.MCS—51指令中,16位立即数传送指令是:MOV DPTR,#data16。
()10.MCS—51单片机,CPU对片外RAM的访问只能用寄存器间接寻址的方式,且仅有4 条指令。
()11.如JC rel发生跳转时,目标地址为当前指令地址加上偏移量。
()12.对于8051单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程序存储器中寻址。
()13.指令MUL AB执行前(A)=F0H,(B)=05H,执行后(A)=FH5,(B)=00H。
()14.已知:DPTR=11FFH 执行INC DPTR后,结果:DPTR=1200H。
()15.已知:A=11H B=04H,执行指令DIV AB后,其结果:A=04H,B=1 CY=OV=0。
()16.已知:A=1FH,(30H)=83H,执行 ANL A,30H 后,结果:A=03H (30H)=83H P=0。
()17.无条件转移指令LJMP addr16称长转移指令,允许转移的目标地址在128KB空间范围内。
()18.MCS—51指令系统中,执行指令FGO bit F0 ,表示凡用到F0位的指令中均可用FGO来代替。
单片机习题 解答 (仅供参考)

1、单片机是将微处理器、一定容量的RAM 和ROM 以及I/O接口、定时器等电路集成在一块芯片上而构成的微型计算机。
2、MCS-51系列单片机片内集成了 4 KB的FLASH ROM,共有 5 个中断源。
3、两位十六进制数最多可以表示256 个存储单元。
4、A T89C51是以下哪个公司的产品?(C )A、INTELB、AMDC、ATMELD、PHILIPS5、MCS-51系列单片机具有64 KB的字节寻址能力。
6、MCS-51系列片内有两个16 位的定时/计数器。
7.MCS-51单片机是8 位的单片机。
8、MCS-51单片机有( 2 )级优先级中断。
9、单片机也可称为___微控制器________或___嵌入式控制器________。
10.一个完整的微机系统由硬件系统和软件系统两大部分组成。
11、MCS-51单片机片内有 5 个中断源,其中 2 个外部中断源。
12.10101.101B转换成十进制数是(D)。
(A)46.625 (B)23.625 (C) 23.62 (D) 21.62513. 存储器的地址范围是0000H~0FFFH,它的容量为(D )。
(A)1KB (B) 2KB (C) 3KB (D) 4KB14.3D.0AH转换成二进制数是(A )。
(A)111101.0000101B (B) 111100.0000101B(C) 111101.101B (D) 111100.101B15.73.5转换成十六进制数是( B )。
(A)94.8H (B) 49.8H (C) 111H (D) 49H一、填空题1、8051 的引脚RST是_ IN脚___(IN脚还是OUT脚),当其端出现_高__电平时,8051进入复位状态。
8051一直维持这个值,直到RST脚收到__低__电平,8051才脱离复位状态,进入程序运行状态,从ROM H单元开始取指令并翻译和执行。
2、PC存放下一条需要执行指令的内存地址,具有__自动加一_________特性。
单片机作业与答案

第四章1、单片机系统结构特点?答:(1)在系统结构上采用哈佛型;(2)极强的布尔处理能力(3)具有较齐全的输入/输出接口及实时中断功能(4)配有实时控制时的特殊电路2、MCS-51单片机的基本组成?答:(1)8位中央处理单元CPU。
(2)4KB程序存储器ROM,256B数据存储器RAM。
(3)4个8位并行I/O口(P0~P3)。
(4)1个全双工串行I/O口(P3.0,P3.1)。
(5)2个16位加法定时/计数器(T0,T1)。
(6)5个中断源。
(7)内部时钟产生电路。
最高允许振荡频率为12MHz。
3、MCS-51单片机存储器可划分为几个空间?各自地址范围是多少?答:单片机存储器划分为四个空间:1)EA=1片内程序存储器地址0000-0FFFH ,片外程序存储器地址1000-FFFFH EA=0片外程序存储器地址0000-FFFFH2)片内数据存储器地址00-FFH片外数据存储器地址为0000-FFFFH4、MCS-51单片机内RAM存储器可划分为几个空间?各自地址范围是多少?答:寄存器区00H-1FH位寻址区20H-2FH用户区和堆栈区30H-7FH特殊功能寄存器区80H-FFH第五章1.MCS-51系列单片机有哪几种寻址方式?答:立即寻址:MOV A,#5直接寻址:MOV A,30H寄存器寻址:MOV A,R0寄存器间接寻址:MOV A,@R0变址寻址:MOVC A,@A+DPTR相对寻址:JZ REL位寻址:MOV C,BIT2.指出下列指令中画线的操作数的寻址方式。
MOV R0,#60H立即寻址MOV A,30H直接寻址MOV A,@Ri寄存器间接寻址MOV @Ri,A 寄存器寻址ADD A, B 寄存器寻址SUBB A,R7 寄存器寻址3.指出下列指令中画线的操作数的寻址方式。
MOVX A,@DPTR 寄存器间接寻址MOV DPTR,#0123H 立即寻址MOVC A,@A+DPTR 基址变址寻找MUL A B 寄存器寻址INC DPTR 寄存器寻址4.指出下列指令中画线的操作数的寻址方式。
MCS-51单片机练习题
(二)单项选择题:1.在中断服务程序中,至少应有-条()(A) 传送指令 (B) 转移指令 (C ) 加法指令 ( D ) 中断返回指令2.当MCS-51复位时,下面说法正确的是()(A) PC=0000H (B) SP=00H (C) SBUF=00H (D) (30H)=00H3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是()。
(A) MOV (B) MOVX (C) MOVC (D)以上都行4.下面哪-种传送方式适用于电路简单且时序已知的外设()。
(A)条件传送 (B)无条件传送 (C) DMA (D)中断5 .ORG 2000HLCALL 3000H : 注:本指令为3字节指令ORG 3000HRET 左边程序执行完RET指令后,PC= ()。
(A) 2000H (B) 3000H (C) 2003H (D) 3003H·6.要使MCS - 51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是()。
(A) 98H (B) 84H (C) 42.H (D) 22H8.MCS-51在响应中断时,下列哪种操作不会发生()。
(A) 保护现场 (B) 保护PC(C)找到中断人口(D)保护PC转人中断人口10. JNZ e指令的寻址方式是()。
(A)立即寻址 (B)寄存器寻址 (C)相对寻址 (D)位寻址11.执行LCALL 4000H指令时,MCS-51所完成的操作是()。
(A)保护PC、 (B) 4000H→PC(C)保护现场 (D) PC+3入栈,4000 H→PC12.下面哪条指令产生/WR信号()。
‘(A) MOVX A,@DPTR (B) MOVC A,@A+PC(C) MOVC A,@A+DPTR (D) MOVX @DPTR,A13.若某存储器芯片地址线为12根,那么它的存储容量为()。
(A) 1 KB (B) 2 KB (C) 4 KB (D) 8 KB15. PSW=18 H时,则当前工作寄存器是()。
MCS-51单片机定时器-计数器常见习题解答
MCS-51 单片机定时器/计数器常见习题解答1、根据定时器/计数器0 方式1 逻辑结构图,分析门控位GATE 取不同值时,启动定时器的工作过程。
答:当GATE=0:软件启动定时器,即用指令使TCON 中的TR0 置1 即可启动定时器0。
GATE=1:软件和硬件共同启动定时器,即用指令使TCON 中的TR0 置1 时,只有外部中断INT0 引脚输入高电平时才能启动定时器0。
2、当定时器/计数器的加1 计数器计满溢出时, 溢出标志位TF1 由硬件自动置1,简述对该标志位的两种处理方法。
答:一种是以中断方式工作,即TF1 置1 并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF1 清0;另一种以查询方式工作,即通过查询该位是否为1 来判断是否溢出,TF1 置1 后必须用软件使TF1 清0。
3、设MCS-51 单片机fosc=12MHz,要求T0 定时150µs,分别计算采用定时方式0、方式1 和方式2 时的定时初值。
答:方式0 的定时初值:IF6AH方式1 的定时初值:FF6AH方式2 的定时初值:6AH4、设MCS-51 单片机fosc=6MHz,问单片机处于不同的工作方式时,最大定时范围是多少?答:方式0 的最大定时范围:131,072µs方式1 的最大定时范围:16,384µs方式2 的最大定时范围:512µs5、设MCS-51 的单片机晶振为6MHZ,使用T1 对外部事件进行计数,每计数200 次后,T1 转为定时工作方式,定时5ms 后,又转为计数方式,如此反复的工作,试编程实现。
答:#includebit F0=0;void main() {TMOD=0x60; TL1=56;TH1=56;TR1=1;ET1=1;EA =1; While(1);}void serve() interrupt 3 {if (!F0){ TMOD=0x10;TL1=63036%16;TH1=63036/16;F0=~F0;}else{TMOD=0x60;TL1=56;TH1=56;F0=~F0;}}6、用方式0 设计两个不同频率的方波,P1.0 输出频率为200Hz,P1.1 输出频率为100Hz,晶振频率12MHz。
MCS51单片机试题及答案
试题1 参考答案一、填空题(25分,每空1分)1. AT89S51单片机为 8 位单片机2. MCS-51系列单片机的典型芯片分别为 8031 、 8051 、 8751 。
3. AT89S51的异步通信口为全双工(单工/半双工/全双工)4. AT89S51有 2 级中断, 5 个中断源5. AT89S51内部数据存储器的地址范围是 00H~7FH ,位地址空间的字节地址范围是 20H~2FH ,对应的位地址范围是00H~7FH ,外部数据存储器的最大可扩展容量是64K 。
6. AT89S51单片机指令系统的寻址方式有__寄存器寻址__、____直接寻址____、___寄存器间接寻址_____、_立即寻址____、基址寄存器加变址寄存器寻址。
7. 如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。
8. 82C55可以扩展 3 个并行口,其中8 条口线具有位操作功能;9. 当单片机复位时PSW=00 H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为 04 H。
10. 若A中的内容为67H,那么,P标志位为 1 。
11. 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8片芯片。
二、判断以下指令的正误:(5分)(1)MOV 28H,@R4;(×)(2)INC DPTR;(√)(3)DEC DPTR ;(×)(4)CLR R0 ;(×)(5)MOV T0,#3CF0H;(×)三、简答题1、如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= ___3CH___;(DPL)=___5FH___;(SP)=___50H___;(6分)2、采用6MHz的晶振,定时1ms,用定时器方式0时的初值应为多少?(请给出计算过程)(6分)解:∵采用6MHZ晶振∴机器周期为2us(213-X)×2×10-6=1×10-3∴X=7692(D)=1E0CH=1 1110 0000 1100(B),化成方式0要求格式为 1111 0000 1100 B即0F00CH综上可知:TLX=0CH, THX=0F0H 3. 分析下列程序的 功能(5分) PUSH ACC PUSH B POP ACCPOP B解: 该程序的 功能是通过累加器ACC 与寄存器B 数据交换。
mcs-51单片机考试试题及答案
mcs-51单片机考试试题及答案一、选择题(每题2分,共20分)1. MCS-51单片机的内部结构中,CPU可以访问的存储器是()。
A. ROMB. RAMC. EPROMD. A和B答案:D2. 下列哪个寄存器是MCS-51单片机中用于堆栈指针的寄存器?()A. PCB. SPC. PSWD. DPTR答案:B3. MCS-51单片机的定时器/计数器中,定时器0和定时器1都是()。
A. 8位定时器B. 16位定时器C. 8位计数器D. 16位计数器答案:B4. 下列哪个指令是MCS-51单片机中用于将累加器A的内容与寄存器R0的内容相加的指令?()A. ADD A, #dataB. ADD A, R0C. MOV A, R0D. INC A答案:B5. 在MCS-51单片机中,下列哪个中断源的优先级最高?()A. INT0B. TF0C. TF1D. IE0答案:B6. MCS-51单片机的I/O口具有()功能。
A. 推挽输出B. 开漏输出C. 推挽输出和开漏输出D. 仅推挽输出答案:B7. MCS-51单片机的定时器/计数器工作在定时模式时,定时时间的计算公式是()。
A. 定时时间 = (65536 - THx)×12 / foscB. 定时时间 = (256 - THx)×12 / foscC. 定时时间 = (65536 - THx)×1 / foscD. 定时时间 = (256 - THx)×1 / fosc答案:B8. 在MCS-51单片机的中断系统中,下列哪个寄存器用于存储中断向量地址?()A. IPB. IEC. TCOND. SCON答案:A9. MCS-51单片机的外部中断INT0和INT1的触发方式是()。
A. 电平触发B. 边沿触发C. 定时触发D. 计数触发答案:B10. 在MCS-51单片机中,下列哪个指令用于将内部RAM的20H地址的内容传送到累加器A?()A. MOV A, #20HB. MOV A, 20HC. MOV A, @20HD. MOV A, R2答案:B二、填空题(每题2分,共20分)1. MCS-51单片机的内部RAM分为______区和______区。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV P2, DPH
MOV R0, DPL
MOV DPTR,#DATA_BCD
MOV R2, #NUM
ASC_TO_BCD1: MOVX A, @R0
ANL A, #0FH
SWAP A
MOV B, A
INC R0
MOVX A, @R0
ANL A, #0FH
时钟周期——振荡脉冲2分频的信号
机器周期——完成一个基本操作需要的时间,是振荡周期/12=1T
指令周期——执行1条指令需要的时间 1~4T
(11)单片机工作时在运行出错或进入死循环时,如何处理?
答:复位处理,在单片机的RESET加持续1段时间的高电平
(12)使单片机复位的方法有几种?复位后单片机的初始状态如何?
MOV @R0, A
INC R0
DJNZ R2,Mult10_DATA3
MOV R0 , #DATA1
MOV R1 , # DATA2
MOV R2, #10H
CLR C
Mult10_DATA4:
MOV A, @R0 ;*2*2*2
ADDC A, @R1 ; + *2
MOV @R0, A
INC R0
INC R1
MOV R1 , # DATA2
MOV R2, #10H
CLR C
Mult10_DATA1:
MOV A, @R0
ADDCA, @R0 ;*2
MOV @R0, A
MOV @R1, A
INC R0
INC R1
DJNZ R2,Mult10_DATA1
MOV R0 , #DATA1
MOV R2, #10H
CLR C
result = result + tmp[i]*count;
count = count*16;
}
return result;
}
解:
#include <stdio.h>
#include <string.h>
typedef unsigned char bool;
bool strend(unsigned char s[], unsigned char t[]);
tmp[i] = s[i] - 48;
else if((s[i]>='a') && (s[i]<='f'))
tmp[i] = s[i] - 'a' + 10;
else if((s[i]>='A') && (s[i]<='F'))
tmp[i] = s[i] - 'A' + 10;
else
tmp[i] = 0;
MCS51单片机作业解答
第二章 MCS-51单片机的结构和原理
(1) MCS-51单片机芯片包含哪些主要功能部件?
答:CPU、4KBROM、128B RAM、4个8位I/O口、2个定时计数器、串行I/O口、中断系统、时钟电路、位处理器、总线结构。
(2)MCS-51单片机的/EA端有何用途?
答:当/EA =0 只访问片外程序区;当/EA=1时,先访问片内程序区,当PC超过片内程序容量时,自动转向外部程序区。
JB ACC.0, CAL_ODD ;
INC EVEN
SJMP CAL_EVEN_ODD1
CAL_ODD: INC ODD
CAL_EVEN_ODD1: INC DPTR
DJNZ R2, CAL_EVEN_ODD2
RET
解:DATA_ASC EQU 2000H
DATA_BCD EQU 3000H
NUM EQU10
答:(1)立即寻址 (2)直接寻址 (3)寄存器间接寻址 (4)寄存器寻址 (5)MOVC A @A+DPTR
变址寻址 (6)相对寻址 (7)CLR A 立即寻址 ,CLR C 位寻址
答:这2条指令的操作结果相当,但是前1条指令速度快,指令短
答:如A= 12H (PC) = 0FFEH + 20H +3= 1021H如A= 10H (PC)= 0FFEH +3 = 1001H
答:只允许数据单端输入输出的一段存储空间。
SP的作用是用来存放堆栈栈顶的地址。
因为SP的初值是07H,后继的是寄存器区和位寻址区,为了便于编程工作,要修改SP.
(8)程序状态字寄存器PSW的作用是什么?简述各位的作用。
答:PSW用来存放程序执行状态的信息,
CY—加减运算的进位、借位
AC—辅助进位标志,加减运算的低4位进位、借位
分上电复位和手动复位。复位后PC=0000H ALE=0 /PSEN=1
(13)开机复位后,单片机使用的是哪组工作寄存器?它们的地址是什么?如何改变当前工作寄存器组?
答:单片机使用的是第0组工作寄存器R0-R7, 对应的地址为00H-07H,采用置位复位RS1、RS0,可以改变单片机使用的工作寄存器。
(3)MCS-51单片机有哪些信号需要芯片引脚以第二功能的方式提供?
答:RXD、TXD、/INT0、/INT1、T0、T1、/WR、/RD
(4)MCS-51单片机的4个I/O口在使用上各有什么功能和特点?
答:P1口通用输入输出;P0口数据总线、地址总线低8位、通用输入输出
P2口地址总线高8位、通用输入输出
ORL A, B
MOVX @DPTR, A
INC R0
INC DPTR
DJNZ R2,ASC_TO_BCD1
RET
第5章单片机C51程序设计
解:
unsigned int htoi(unsigned char s[], unsigned int size)
{
unsigned int tmp[10];
unsigned int i = 0;
DJNZ R2,Mult10_DATA4
RET
解:data equ 2000H
NUM EQU 100
EVENEQU 30H ;偶数
ODD EQU 31H ;奇数
CAL_EVEN_ODD: MOV DPTR , #DATA
MOV R2, #NUM
CAL_EVEN_ODD2: MOVX A, @DPTR
第6章单片机内部资源
解: 因为10KHZ的周期为100us ,定时器中断时间可为50us,因此有4中方式。
方式0:x= 213-50*(12/12) =8192-50 =1FCEH
= 1 1111 1100 1110B TH0 = FEH TL0 = 0EH
方式1: x= 216-50*(12/12) =65536-50 =FFCEH
第3章 MCS-51单片机的汇编语言指令系统
单片机的指令格式为: 操作码+操作数
[标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释]
答:MCS-51单片机有7种寻址方式: 立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。
立即寻址——操作Байду номын сангаас在指令中直接给出。
= 1111 1111 1100 1110B TH0 = FEH TL0 = CEH
方式2: x= 28-50*(12/12) =256-50 =CEH
直接寻址——操作数存放的地址在指令中给出。可寻址RAM128B和特殊功能寄存器
寄存器寻址——操作数在寄存器中。可寻址4组寄存器共32个字节即00H—1FH
寄存器间接寻址——操作数的地址放在寄存器R0、R1、dptr中
@R0、R1可寻址256B @DPTR可寻址64KB
变址寻址——操作数的地址由变址寄存器A和基址寄存器DPTR、PC相加得到。
{
int ls = strlen(s);
int lt = strlen(t);
if (lt == 0)
return 1;
if (ls < lt)
return 0;
return !strcmp(&s[ls-lt],t);
}
解:晶振频率12MHZ,25ms中断1次,5次中断为125ms移位1次。
#define uint unsigned int
int main()
{
unsigned char s1[] = "abcdefg";
unsigned char s2[] = "ef";
bool flag = strend(s1, s2);
printf("the result is %d\n", flag);
return 0;
}
bool strend(unsigned char s[], unsigned char t[])
P3第2功能信号、通用输入输出。
(5)单片机的存储器分哪几个空间?试述各空间的作用。
答:程序存储器:内部ROM、外部ROM
数据存储器:内部基本RAM、专用寄存器区、外部RAM
(6)简述片内RAM中包含哪些可位寻址单元?
答:20H~2FH共16个可寻址单元
(7)什么叫堆栈?堆栈指针SP的作用是什么?在程序设计中为何要对SP重新赋值?
CAL_AVE2:
CLR C
MOV A, R3
RRC A
MOV R3, A
MOV A, R4 ;/2
RRC A
MOV R4, A
DJNZ R2, CAL_AVE2
MOVResult, R3
RET
解:data1 equ 40h
Data2 equ 50h