资源描述:
《单片机原理及接口技术试卷B.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、写程序运行后各寄存器的内容。(每空2分,共20分)a)已知(40H)=98H,(41H)=AFH,写出涉及的片内RAM单元的最后结果。MOVR0,#40HMOVA,@R0INCR0ADDA,@R0INCR0MOV@R0,ACLRAADDCA,#0INCR0MOV@R0,A;42H=47H43H=01Hb)已知(61H)=F2H,(62H)=CCH,写出涉及的片内RAM单元的最后结果。MOVA,61HMOVB,#02HMULABADDA,62HMOV63H,ACLRAADDCA,BMOV64HA;
2、63H=24H64H=01Hc)MOV30H,#25HCLRAMOVR1,#30HXCHDA,@R1MOVR2,AMOVA,30HSWAPA程序运行结束后:MOVR3,AR2=05HENDR3=02H。二、外部数据RAM中有一100个字节的数据块,首地址为SOURCE。要求统计数据块中负数的个数并将结果存入内部RAM中DIST单元。(10分)ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60HMOVDPTR,#SOURCEMOVR7,#100MOVR6,#00HLOOP:M
3、OVXA,@DPTRJNBACC.7,NEXTINCR6NEXT:INCDPTRDJNZR7,LOOPMOVDIST,R6END三、判断R1中存放的数据,若为奇数则将其乘2,若为负数则将其减去100。试编写一程序完成上述任务。(10分)(R1为原码)ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60HMOVA,R1JNBACC.0,NEXTRLANEXT:JBACC.7,EXITADDA,#100SETBACC.7EXIT:MOVR1,AEND一、设fosc=11.0592
4、MHz,试编写一段程序,其功能为对串行口初始化,使之工作于方式1,波特率为1200b/s;采用查询串行口状态的方法,从串行口读入200个数据,并将其存入以2000H为首址的外部RAM中。(10分)ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60HMOVTMOD,#20HMOVTH1,#0E8HMOVTL1,#0EHMOVPCON,#00HSETBTR1MOVSCON,#50HMOVR7,#200MOVDPTR,#2000HHER:JNBRI,HERCLRRIMOVA,SB
5、UFMOVX@DPTR,AINCDPTRDJNZR7,LOOPEND二、试编写一子程序,把A中的十六进制数转换为ASCII码。出口为R1(高位)、R2(低位)。例:若A=4AH,则R1=34H,R2=42H。(10分)FFASC:MOVR7,AANDA,#0FHACALLCVERTMOVR2,AMOVA,R7SWAPAANDA,#0FHACALLCHANGEMOVR1,ARETCVERT:ADDA,#90HDAAADCA,#40HDAARET三、某控制系统每隔1秒钟需要较直观地知道控制室外4个开关的
6、闭合状态,不允许使用延时程序,要求使用定时器用中断方式。1.画出电路示意图(5分)2.编写程序(10分)ORG0000HAJMPMAINORG000BHAJMPSERVORG0030HMAIN:MOVSP,#60HMOVP1,#0FFHMOVR7,#0AHMOVTMOD,#01HMOVTHO,#3CHMOVTL0,#B0HSETBTR0SETBIT0SETBEASJMP$SERV:CLREADJNZR7,EXITMOVR7,#0AHMOVA,P1SWAPAMOVP1,AEXIT:MOVTH0,#3C
7、HMOVTL0,#B0HSETBTR0SETBEARETIEND七、试用8051和DAC0832构成一个方波信号发生器。1.画出电路示意图(DAC0832的地址为0F7FFH)。(5分)2.编写程序(方波的周期为1ms,fosc=6MHz)。(10分)ORG0000HAJMPMAINORG0030HMAIN:MOVSP,#60HMOVDPTR,#0F7FFHLOOP:MOVA,#00HMOVX@DPTR,AACALLDLYMOVA,#0FFHMOVX@DPTR,AACALLDLYAJMPLOOPDL
8、Y:MOVR7,#64HDLY1:NOPNOPNOPDJNZR7,DLY1RETEND八、某系统有4片2K×8位的存储器芯片,如下图所示。1.每个存储器芯片具有多少根地址线。(2分)2.各个芯片的地址范围为多少?(8分)具有11根地址线。芯片1:0100H~0FFFH;芯片2:1100H~1FFFH芯片3:2100H~2FFFH;芯片4:3100H~3FFFHA15A14A13A12G1Y7G2AY6G2BY5Y4CY3BY2AY1CE4CE3CE2CE1