- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统基础复习题1
嵌入式系统基础复习题
在MCS-51单片机21个特殊功能寄存器中,哪些具有位寻址能力?
MCS-51单片机中的程序状态字寄存器(PSW),B寄存器,累加器(ACC),端口P0~P3,控制寄存器中用于中断控制的中断优先级控制寄存器(IP)和中断允许控制寄存器(IE),用于设置定时/计数器和串行口工作方式的定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)具有位寻址能力程序状态寄存器PSW)的作用是什么?
PSW寄存器是8位寄存器,用做程序运行状态的标志,字节地址为D0H。可以进行位寻址。P3口是双功能口,除了作为准双向通用I/O口使用外,每一根口线还具有第二种功能,P3口的各位如不设定为第二功能则自动处于第一功能。P3的第二功能涉及到串行口、外部中断、定时器,与特殊功能寄存器有关。 片内数据存储器分为工作寄存器区、位寻址区和数据缓冲器区等3个区域。
工作寄存器使用内部RAM中地址为00H~1FH的32个单元,并分成4个工作寄存器组,每个组有8个工作寄存器,名称为R0~R7。 对于内部RAM中地址为20H~2FH的16个单元,CPU不仅具有字节寻址功能,而且还具有位寻址功能。这16个单元共128位,每一位都赋予1个位地址,位地址范围是00H~7FH。 30H~7FH是数据缓冲区,即用户RAM区,共80个单元。 51单片机有4组R~R7工作寄存器,程序运行中具体使用哪一组由程序状态字PSW的RS1及RS0(PSW.4及PSW.3)决定,可以设置这两位来选择寄存器组特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 ACC 00H TMOD 00H PC 0000H TCON 00H PSW 00H TL0 00H SP 07H TH0 00H DPTR 0000H TL1 00H P0~P3 0FFH TH1 00H IP xx000000B B 00H IE 0x000000B SCON 00H PCON 0xxx0000B SBUF 不定 复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。
上电复位利用电容器的充电实现。在时钟电路工作后,在RST端连续给出2个机器周期的高电平就可完成复位操作。MCS-51单片机的上电加按键复位电路当复位按键按下 后,复位端通过51Ω的小电阻与+5V电源接通,迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V电源通过2kΩ电阻对22μF电容重新充电,RST引脚端出现复位正脉冲。mov r0,#30h
mov dptr,#1000h
mov a,@r0
movx @dptr,a
inc r0
inc dptr
mov a,@r0
movx @dptr,a
19、加法和减法指令影响哪些标志位?是怎么影响的?
在带进位的加法运算中,会影响进位位Cy,最终要将A中的值和其后面的值以及进位位Cy中的值相加,最终结果存在A。 在带进位减法指令中,要将累加器A的内容与第二操作数及进位标志相减,结果送回到累加器A中。在执行减法过程中,如果位7(D7)有借位,则进位标志Cy置“1”,否则清“0”;如果位3(D3)有借位,则辅助进位标志AC置“1”,否则清“0”;如位6有借位而位7没有借位,或位7有借位而位6没有借位,则溢出标志OV置“1”,否则清“0”。若要进行不带借位的减法操作,则必须先将Cy清“0”。ORG 2000H MOV A, 20H MOV B, #10H ;除以10HDIV AB ORL B, #30H ;低4位BCD码转换为ASCII码MOV 21H, B ORL A, #30H ;高4位BCD码转换为ASCII码MOV 22H, A END
32、设有一带符号的数组存放在内部RAM以20H为首址的连续单元中,其长度为10,要求找出其中的最大值,并将其存放到内部RAM的1FH单元中,试编写相应的程序。
ORG 1000HSCMPPMA:MOV R0, #20H ;置取数指针R0初值MOV B, #59H ;置循环计数器B初值MOV A, @R0 ;第一个数送ASCLOOP:INC R0 ;修改指针MOV R1, A ;暂存XRL A, @R0 ;两数符号相同?JB ACC.7, RESLAT ;若相异,则转RESLATMOV A, R1 ;若相同,则恢复A中原来值CLR C ;C清零SUBB A, @R0 ;两数相减,以判断两者的大小JNB ACC.7, SMEXT1 ;若A中值为大,则转SMEXT1CXAHER:MOV A,
文档评论(0)