《单片机原理作业(CXH)》由会员分享,可在线阅读,更多相关《单片机原理作业(CXH)(10页珍藏版)》请在金锄头文库上搜索。
1、 MCS51单片机作业第一部分 基础 练习一1 1234?X22512? 问这是几进制的运算?在9进制系统中,469?10092 将下列二进制数转换为十进制数和十六进制数:10111101B 110111101B111011010.111011111B3 将下列十进制数转换为二进制数,对于小数,可以仅取4位130 123.47 990.6 256 11.11 4 计算下列二进制算式:10100110B101B 11011110B+1101B1110B1011B 10111010B110B5 将下列算式转换成十六进制和二进制数,对于小数,可以仅取二位十六进制数12767 60000 123.14
2、365535 32767 4096.36 计算下列算式,结果仍用十六进制数表示,仅取二位小数123H0EFDH 1010011011B0FDH0EAH0CDH 66666H练习二1、 请在一字节补码表示的带符号数范围中写出以下数值代码:96 37 150 1002、 请写出以下补码表示的带符号数表示的数值:0FDH 0CDH 0FF00H 1234H3、 在二字节补码表示的带符号范围内计算以下各式结果,并判断结果的正确性006CH+00FAH 006CH00FAH2E04H7EDCH 67DCH+1E74H3C06H6D9EH 9005H+0EF5EH4、 应用题:已知某大学有男、女大学生名额
3、共2000人,如果要在计算机人事档案管理系统中给每一个大学生一个唯一的代码,并用该代码包含性别信息,请问最少要多少二进制位才能构成该代码?练习三1、计算题1: 0DCH O R 65H 0E9H AND 7CH 0BAH EOR 5DH 6DH AND 7EH OR 0ABH EOR 0D6H 6DH AND (7EH OR (0ABH EOR 0D6H)2、计算题2: 123 AND 10100101B 222 EOR 200 11010110B OR 97 1DH EOR 11111111B3、应用题1: 某计算机有一个8位并口,读入的数据存在A寄存器中,问:(1) 判断0、2、6、7位是
4、否全为0,A才变为全0,用什么运算?(2) 判断1、3、4、5位中是否有任何一位为1,就使得A非0,用什么运算?4、应用题2:在Apple计算机中,磁盘存储信息中采用了“44编码”,即把一个字节的8 位D7 D6 D5 D4 D3 D2 D1 D0变成二个编码字节:1 D7 1 D5 1 D3 1 D1和 1 D6 1 D4 1 D2 1 D0 请给出一种简便方法,将编码的两两字节还原成原来的一字节(解码)。(用语言叙述即可)5、应用题3: 为了破解一个用异或串连运算加密的加密程序,让一段全为00H字节的程序让其加密,结果形成以8字节为周期的被加密文: 3DH 0E6H 7CH 0ABH 0F
5、H 27H 0EDH 41H 。请利用密文破解以下一段被加密的密文:0FFH 37H 0C2H 66H 00H 0FAH 27H 68H 。 第二部分 硬件基础问答题(回答问题时,要求简捷):1、8051单片机芯片包含哪些主要逻辑功能部件?各有什么主要功能?2、MCS51单片机的EA()信号有何功能?在使用8031时EA()信号引脚应如何处理?3、MCS51单片机有哪些信号需要芯片引脚以第二功能的方式提供?4、程序计数器(PC)作为不可寻址寄存器,它有哪些特点?5、堆栈有哪些功能?堆栈指示针(SP)的作用是什么?在程序设计时,为什么还要对SP重新赋值?6、MCS51的4个IO口在使用上有哪些分
6、工和特点?试比较各口的特点?7、MCS51单片机运行出错或程序进入死循环,如何摆脱困境?8、什么是指令周期、机器周期和时钟周期?如何计算机器周期的确切时间?9、使单片机复位有几种方法?复位后是机器的初始状态如何?第三部分 存储器1、 内部RAM低128单元划分为哪3个主要部分?说明各部分的使用特点。2、 对MCS51家族器件,0E0H,0FFH,0F00H和2000H作为地址分别可以对应那些存储空间?3、 8051单片机又外接了一片2764 EPROM芯片。问:EA脚接高电平与低电平时,2764的首存储单元地址各为多少?4、 在什么条件下,改变R3等效于改变1BH内部RAM单元?第四部分 寻址
7、1、 写出以下指令中“源”与“的”的寻址方式:MOV A,#00H MOV 0,AMOV 30H,ACC ADD A,30HSUBB A,B MOV A,R0MOV R0,A MOV DPTR,#1234HMOVC A,A+PC MOVX DPTR,AJNZ LOOP SJMP stsrtAJMP start LJMP startCLR A SETB CINC DPTR PUSH ACCJMP A+DPTR CLR 30H二、在以下程序中,数3FH最终传到了什么单元中?Mov A,#3FHMov R0,AMov R0,A三、解释“指令地址”与“指令当前PC值”的区别?二者间的联系? 第五部分
8、指令练习一一、按要求写出指令:1、 将数7FH传给由R1寻址的内部RAM单元中。2、 交换A和B内容。3、 将R2内容传给B。4、 将4CH单元的内容与5CH单元的内容交换。5、 将数6CH传给外部RAM的2C63H单元。6、 将外部RAM的2000H单元内容传给R0所指的内部RAM单元中。 7、将SP所指的内部RAM内容送到P2和R0所指的外部RAM单元中。 8、交换2000H和2010H外部RAM单元内容。 9、将位单元30H与42H对换。二、写出执行以下程序后A,B的值,并汇编该程序:1、 Mov A,3CHMov B,4CHMov R0,BXCH A,R0XCH A,BMov A,R0
9、2、 MOV DPTR,2000HMOV 20H,3CHMOV R1,20HMOV A,20HMOVX DPTR,AXCH A,R1MOVX A,DPTRXCH A,B练习二一、按要求写出指令:1、 将A中的数减去B中的数,结果存入A中。2、 将B中的数减去A中的数,结果存入A中。3、 用加法指令完成将R0所指单元中的数乘2。4、 将B中的数乘以A中的数。5、 将B中的数除以A中的数。6、 将R1所指单元内容增1。 7、将R0所指的二字节单元(R0指在低字节上)内容增1。 8、R2R3:R4R5R6R7二 、写出以下程序执行后A、C、OV、的值:1、 MOV A,7FHADD A,9CH2、
10、SETB CMOV A,80HSUBB A,80H、3、 MOV A,40HMOV B,10HDIV AB4、 MOV A,0C0HMOV B,AMUL AB5、 MOV A,0FFHMOV B,AINC ADEC BADD A,B练习三一、按要求写出指令:1、 R1或上R2。2、 R1与上R0所指单元。3、 用移位指令实现将R0所指单元乘2。4、 用移位指令实现将R2R3除以2。5、 取R5的补数,仍存于R5中。6、 取反由A所指的内部RAM单元。7、 A异或上R1R0所指的外部RAM单元。二、写出以下程序执行后A中的值:1、 MOV B,3EH MOV A,0A5H CPL A XRL A
11、,B2、 CLR C MOV A,75H RRC A RR A3、 ORL A,5AH RL A ANL A,94H练习四一、手工汇编以下程序,并分析程序执行后A中的值:1、 SETB CCLR A L: CPL ASUBB A,0FFHJNC L2、 MOV A,3CHMOV R3,2CH L: DEC ADJNZ R3,L3、 7FE0H: MOV A,3FHAJMP L1 L0: CPL A L1: MOV B,02HMUL ABJC L0二、按要求写出小程序:1、 比较B与数7FH,不相等时转到LNT。2、 将R0所指的20个单元清0,R0指在最低地址单元上。3、 将A异或上B,并且如果A低半字节为0,则转移到L0,否则转到L1。4、 按R0所指的单元中的第6位(从0算起)如果为1,则转到LK。5、 利用RET指令跳转到1234H。三、错误判断:1、 逐句判断:LL: MOV R2,20H ;子程序入口为LLMOV DPTR,5C00H L0: MOV R1,F0H MOV