单片机原理作业CXHWord文档下载推荐.docx
- 文档编号:16775572
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:12
- 大小:21.95KB
单片机原理作业CXHWord文档下载推荐.docx
《单片机原理作业CXHWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机原理作业CXHWord文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
006CH+00FAH006CH-00FAH
2E04H-7EDCH67DCH+1E74H
3C06H-6D9EH9005H+0EF5EH
4、应用题:
已知某大学有男、女大学生名额共2000人,如果要在计算机人事档案管理系统中给每一个大学生一个唯一的代码,并用该代码包含性别信息,请问最少要多少二进制位才能构成该代码?
练习三
1、计算题1:
0DCHOR65H0E9HAND7CH0BAHEOR5DH
6DHAND7EHOR0ABHEOR0D6H
6DHAND(7EHOR(0ABHEOR0D6H))
2、计算题2:
123AND10100101B222EOR200
11010110BOR971DHEOR11111111B
3、应用题1:
某计算机有一个8位并口,读入的数据存在A寄存器中,问:
(1)判断0、2、6、7位是否全为0,A才变为全0,用什么运算?
(2)判断1、3、4、5位中是否有任何一位为1,就使得A非0,用什么运算?
4、应用题2:
在Apple计算机中,磁盘存储信息中采用了“4-4编码”,即把一个字节的8位
D7D6D5D4D3D2D1D0变成二个编码字节:
1D71D51D31D1和1D61D41D21D0请给出一种简便方法,将编
码的两两字节还原成原来的一字节(解码)。
(用语言叙述即可)
5、应用题3:
为了破解一个用异或串连运算加密的加密程序,让一段全为00H字节的程序让其加密,结果形成以8字节为周期的被加密文:
3DH0E6H7CH0ABH0FH27H0EDH41H。
请利用密文破解以下一段被加密的密文:
0FFH37H0C2H66H00H0FAH27H68H。
第二部分硬件基础
问答题(回答问题时,要求简捷):
1、8051单片机芯片包含哪些主要逻辑功能部件?
各有什么主要功能?
2、MCS-51单片机的EA(-)信号有何功能?
在使用8031时EA(-)信号引脚应如何处理?
3、MCS-51单片机有哪些信号需要芯片引脚以第二功能的方式提供?
4、程序计数器(PC)作为不可寻址寄存器,它有哪些特点?
5、堆栈有哪些功能?
堆栈指示针(SP)的作用是什么?
在程序设计时,为什么还要对SP重新赋值?
6、MCS-51的4个I∕O口在使用上有哪些分工和特点?
试比较各口的特点?
7、MCS-51单片机运行出错或程序进入死循环,如何摆脱困境?
8、什么是指令周期、机器周期和时钟周期?
如何计算机器周期的确切时间?
9、使单片机复位有几种方法?
复位后是机器的初始状态如何?
第三部分存储器
1、内部RAM低128单元划分为哪3个主要部分?
说明各部分的使用特点。
2、对MCS-51家族器件,0E0H,0FFH,0F00H和2000H作为地址分别可以对应那些存储空间?
3、8051单片机又外接了一片2764EPROM芯片。
问:
EA脚接高电平与低电平时,2764的首存储单元地址各为多少?
4、在什么条件下,改变R3等效于改变1BH内部RAM单元?
第四部分寻址
1、写出以下指令中“源”与“的”的寻址方式:
MOVA,#00HMOV0,A
MOV30H,ACCADDA,30H
SUBBA,BMOVA,R0
MOV@R0,AMOVDPTR,#1234H
MOVCA,@A+PCMOVX@DPTR,A
JNZLOOPSJMPstsrt
AJMPstartLJMPstart
CLRASETBC
INCDPTRPUSHACC
JMP@A+DPTRCLR30H
二、在以下程序中,数3FH最终传到了什么单元中?
MovA,#3FH
MovR0,A
Mov@R0,A
三、解释“指令地址”与“指令当前PC值”的区别?
二者间的联系?
第五部分指令
一、按要求写出指令:
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、MovA,#3CH
MovB,#4CH
MovR0,B
XCHA,@R0
XCHA,B
MovA,@R0
2、MOVDPTR,#2000H
MOV20H,#3CH
MOVR1,#20H
MOVA,20H
MOVX@DPTR,A
XCHA,R1
MOVXA,@DPTR
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:
=R4R5-R6R7
二、写出以下程序执行后A、C、OV、的值:
1、MOVA,#7FH
ADDA,#9CH
2、SETBC
MOVA,#80H
SUBBA,#80H、、、
3、MOVA,#40H
MOVB,#10H
DIVAB
4、MOVA,#0C0H
MOVB,A
MULAB
5、MOVA,#0FFH
INCA
DECB
ADDA,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、MOVB,#3EH
MOVA,#0A5H
CPLA
XRLA,B
2、CLRC
MOVA,#75H
RRCA
RRA
3、ORLA,#5AH
RLA
ANLA,#94H
练习四
一、手工汇编以下程序,并分析程序执行后A中的值:
1、SETBC
CLRA
L:
SUBBA,#0FFH
JNCL
2、MOVA,#3CH
MOVR3,#2CH
DECA
DJNZR3,L
3、7FE0H:
MOVA,#3FH
AJMPL1
L0:
L1:
MOVB,#02H
JCL0
二、按要求写出小程序:
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:
MOVR2,#20H;
子程序入口为LL
MOVDPTR,5C00H
MOVR1,F0H
MOVA,@DPTR
XCHB,A
MOVA,@R2
CJNEB,#70H,L1
JCC,L2
MOV@R1,B
MOV@DPTR,A
L2:
INCR2
PUSHR2
DECDPTR
POPF0H
MOVR1,R2
POPACC
RET
2、有人编了一个子程序,想完成:
“将30H开始的16个数中大于等于80H的单元内容放入50H以后的相应单元中”。
程序有错,请逐行改正。
(10个地方有错)
有错程序修改程序
MOVR0,#30H
MOVR7,#50H
LOOP:
MOVR6,16H
MOVA,R0
JNBACC.8,NPUT
MOV@R7,A
INCR0
NPUT:
INCR7
DJNZR6,LOOP
第六部分小程序编制
一、简单小程序编制:
注:
所有多字节数的低字节都在低地址;
R0或R1均指向内部RAM的最低字节。
1、将30H、31H单元内容与T0计数器的TL0、TH0交换。
保持其它R(R是指
寄存器)和M(M是指存储器)不变。
2、将30H、31H单元的内容分别与5C30H、5C31H单元的内容交换。
3、将30H、31H单元的内容分别与R0指向的两字节单元的内容交换。
4、将30H、31H单元的内容分别与DPTR指向的两字节单元的内容交换。
5、将30H、31H单元的内容分别存入5C30H、5C31H单元中。
6、将30H、31H单元内容(内容为一个两字节的数,高字节存31H单元,
低字节存30H单元)加上数03C4H后存入5C30H、5C31H单元。
7、将30H、31H单元的内容(内容为一个两字节的数,高字节存31H单元,
低字节存30H单元)减去数03C4H后存入5C30H、5C31H单元。
8、将30H、31H单元内容(内容为一个两字节的数,高字节存31H单元,
低字节存30H单元)除以2后存入5C30H、5C31H单元。
9、将30H、31H单元内容(内容为一个两字节的数,高字节存31H单元,
低字节存30H单元)乘以2后存入5C30H、5C31H单元。
10、将30H、31H单元内容(内容为一个两字节的数,高字节存31H单元,
低字节存30H单元)减1。
保持其它R和M不变。
11、将30H、31H单元内容(内容为一个两字节的数,高字节存31H单元,
低字节存30H单元)加1。
12、将外部RAM中的5C30H、5C31H单元内容(内容为一个两字节的数,
高字节存5C31H单元,低字节存5C30H单元)乘以2。
13、将外部RAM中的5C30H、5C31H单元内容(内容为一个两字节的数,
高字节存5C31H单元,低字节存5C30H单元)除以2。
14、将30H的低半字节和31H单元的高半字节交换。
15、将30H的高半字节和31H单元的高半字节交换。
16、将30H、31H单元的4位16进制数的中间两位数交换。
17、如果引脚INT0为低,则,位30H改为它的值与P0口最低位的“反”相
“与”后的值;
否则,清30H位。
18、如果引脚INT0为低,则,位30H改为它的值与P0口最高位的“反”相
“或”后的值;
19、如果引脚INT0为高,则,位30H改为它的值与P0口最低位相“或”后
的值;
否则,取反30H位。
20、如果引脚INT0为低,则,A的最低位与A的最高位对调;
否则,清除A。
21、如果引脚INT1为高,则,A的最低位改为它的值与A的最高位的“反”
相“与”后的值;
否则,取反A。
22、改变30H单元为加上数0F7H后的值,如果产生进位,则,设置F0标志;
否则,清除F0标志。
23、改变30H单元为减去数0F7H后的值,如果产生进位,则,设置F0标志;
24、如果30H内容等于数80H,则,P1.0置位;
否则,P1.0清零。
保持其它
R和M不变。
25、改变30H、31H单元内容为乘以2后的值,如果产生进位,则,工作寄存
器换用寄存器组1。
26、改变30H、31H单元内容为除以2后的值,如果余数为1,则,工作寄存
器换用寄存器组3。
27、已知晶振频率为8MHZ,编一个子程序,延时150微秒。
保持其它R和
M不变。
28、已知晶振频率为6MHZ,编一个子程序,延时30微秒。
29、将从10H开始的64单元内容异或数5AH。
30、将由R0寻址的32个单元内容清为零。
31、将由R0寻址的32个单元内容移到R1寻址的单元中。
保持其它R和M
不变。
32、将由R0寻址的16个单元内容改为与R1寻址的单元相“异或”后的值。
33、将由R0寻址的32个单元内容改为与R1寻址的单元相“或”后的值。
34、将由DPTR寻址的100个单元中找出第一个内容为00H的单元,其地址
存入30H、31H。
35、将从5C00H开始的100个单元内容移到5E00H开始的单元中。
36、将从5C00H开始的100个单元内容改为与5E00H开始的单元相“或”后
的值。
37、将从5C00H开始的100个单元内容改为与5E00H开始的单元相“异或”
后的值。
38、将从5C00H开始的100个单元中找出第一个内容为00H的单元,其地址
39、将从5C00H开始的100个单元中找出第一个内容不为00H的单元,其地址
40、将从5C00H开始的100个单元中找出最大的数和存该数的单元,数存入
40H,地址存入30H,31H。
41、将从5C00H开始的100个单元中找出最小的数和存该数的单元,数存入
42、将从5C00H开始的100个单元中找出第一个偶数和存该数的单元,数存入
43、将从5C00H开始的100个单元中找出第一个奇数和存该数的单元,数存
入40H,地址存入30H,31H。
44、编查表子程序,按40H中的索引数查出存在5C00H中的100个三字节数,
存入30H,31H,32H。
45、编多分支转移程序段,按40H中的索引数,取转移地址表中的两字节地址,
进行跳转。
46、将R0指向的三字节带符号数取负后存回。
47、将R0指向的三字节数取R2R3乘以R4的积。
48、将R0指向的二字节带符号数乘以2,校验是否溢出。
49、将R0指向的二字节带符号数除以2。
50、一字节带符号数R2R3=R4乘以R5。
51、将R0指向的二字节数乘以10。
52、将R0指向的2n字节的单字节BCD码转换成压缩BCD码,放于(R1)指向的
n字节中。
53、将R0指向的n字节的压缩BCD码转换成单字节BCD码,放于(R1)指向的
2n字节中。
第七部分综合编程题
编程题
1、内部RAM从list单元开始存放一正数表,表中之数作无序排列,并以“-1”作结束标志。
编程实现在表中找出最小数。
2、求8个数的平均值,这8个数以表格形式存放在从table开始的单元中。
3、比较两个ASCII码字符串是否相等。
字符串的长度在内部RAM41H单元,第一
个字符串的首地址为42H,第二个字符串的首地址为52H。
如果两个字符串相等,则置内部RAM40H单元为00H,否则置40H单元为0FFH。
4、输入缓冲区inbuf存有80个字节,编程实现将其中所有的组分隔符(1DH)的
地址依次压入separ栈中。
5、求16位补码所对应的原码,16位补码存放在31H和30H单元,转换后的原码仍放在这两个单元,低地址存低字节。
6、设有100个有符号数,连续存放在以2000H为首地址的RAM中,试编程统计其中正数、负数、零的个数,并把统计结果分别存入50H,51H,52H这三个单元中。
7、5个双字节数,存放在外部RAM从barf开始的单元中,求它们的和,并把和存放在sum开始的单元中,请编程实现。
8、编写双字节有符号数除法子程序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 作业 CXH