《单片机原理及应用》复习试题整理版.docx
《《单片机原理及应用》复习试题整理版.docx》由会员分享,可在线阅读,更多相关《《单片机原理及应用》复习试题整理版.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、长江大学?单片机原理及应用?试题库 一、填空题派001、单片机片内程序存储器按编程方式可分为 ROM型(掩模型OTP型(一次性编程EPROM (紫外线擦除编程)EEPROM (电擦除编程)FLASH (闪速编程)。002、MCS 51的物理地址空间由片内数据存储区 片外数据存储区 片内程序存储区 片外程序存储区 四个存储器组成。003、MCS51系列单片机的存储器,是由三个彼此独立的地址空间来组织的,它们分别为片内数据存储 区 片外数据存储区 程序存储区。004、单片机复位时,PC = 0000H, ACC=OOH, PSW=00H, SP=07H, PQ-P3 = 0FFHo 005、MCS
2、 51系列单片机的地址总线是坨位,数据总线是位。006、MCS 51系统单片机的数据总线由”提供,低八位地址总线由”提供,高八位地址总线由也提 供。007、MCS 51系列单片机的一个机器周期包含11个时钟周期;设晶振频率为6MHz,那么时钟周期为0.167 微秒,机器周期为之微秒。008、8051型号单片机内部有红个特殊功能存放器,它们可以分为工组。009、堆栈在片内数据存储区,程序存放在程序存储区,外部10接口设置片外数据存储区,中断效劳程序 存入在程序存储区。010、指令MOVC A, A+DPTR属于变址寻址方式,指令MOV A, R3属于存放器寻址方式,指令 MOV C, 04H属于
3、直接寻址方式,MOV 30H, #24H属于直接寻址方式。011、8051型号的单片机内部有1L个用户可位寻址单元。012、8031单片机有氏个IO线。013、执行以下程序后,CY=1、OV=。、A=94Ho MOV A, #56H ADD A, #74H ADD A, A014、设内部 RAM 中59H) =50H,执行一列程序段后,A = 25H50H)=小(51H) =25H52H)= 70Ho MOV A, 59H MOV R0, A MOV A, #00H MOV R0, A MOV A, #25H MOV 51H, A MOV 52H, #70H015、执行以下程序段后,A = 0
4、A7H、R0 = 7AH、(R0) =0A7H。 MOV R0, #0A7H XCH A, R0 SWAP A XCH A, R0 MOV R0, A030、在CPU内部,反映程序运行状态或反映运算结果的一些特征存放器是1(1)、PC 2)、PSW (3)、ACC (4)、SP031、外部中断1固定对应的中断入口地址为()。(1)、0003H(2)、000BH(3)、0013H(4)、001BH032、各中断源发出的中断请求信号,都会标记在MCS51系统中的)。(1)、TMOD 2)、TCON/SCON (3)、IE (4)、IP033、MCS51的并行10 口信息有两种读取方法,一种是读引脚
5、,还有一种是)。1)、读锁存 (2)、读数据 (3)、读A累加器 (4)、读CPU034、MCS51的并行10 口读一改一写操作,是针对该口的()o1)、引脚 (2)、片选信号 3)、地址线 4)、内部锁存器035、以下指令中,属于单纯读引脚的指令是()。(1)、MOV Pl, A (2)、ORL P, #0FH(2)、MOV C, Pl.5 4)、DJNZ Pl, short-lable036、以下哪种情况不属于微型机引入中断技术后的好处(1)、分时操作(2)、实时处理3)、故障处理(4、高速传送数据037、下面哪种情况并不是单片机系统响应中断的必要条件)。(1)、TCON或SCON存放器内
6、的有关中断标志位为1。(2)、IE中断允许存放器内的有关中断允许位置1。(3)、IP中断优先级存放器内的有关位置1。(4)、当前一条指令执行完。038、CPU寻址外设端口地址的方法有两种,一种是统一编址,另一种是)o(1)、混合编址(2)动态编址3)独立编址(4)变址编址039、访问片外数据存储器时,不起作用的信号是)。Uh RD 2)、WR 3) PSEN (4) ALE040、以下四条表达中,有错误的一条是)。(1)、16根地址线的寻址空间可达1MB。2)、内存储器的存储单元是按字节编址的。(3)、CPU中用于存放地址的存放器称为地址存放器。(4)、地址总线上传送的只能是地址信息。041、
7、20根地址线的寻址范围可达)。(1)、512KB(2、1024KB3)、640KB(5)、4096KB042、主存储器系统中使用Cache的目的是)。(1)、增加主存容量(2)、存放常用的系统程序(3)、存放固化的软件(4、提高CPU存取主存的速度043、MCS 51系列单片机外扩存储器芯片时,4个10 口中用作数据总线的是()。(1)、P0 和 P2 口 2)、P0D (3)、P2 和 P3 口 4)、P2 044、计算机工作时,能写入也能读出的半导体存储器是。(1)、RAM (2)、ROM (3)、磁盘 (4)、磁带045、区分片外程序存储器还是数据存储器的最可靠方法是)。1)、看其芯片型
8、号是RAM还是ROM(2)、看其位于地址范围的低端还是高端(3)、看其离MCS51芯片的远近(4)、看其是被RD信号连接还是被PSEN信号连接 046、指令AJMP的跳转范围是)。(1)、2562)、1KB 3)、2KB 4、64K三、编程题00k编写程序实现两个4位BCD数相加,设被加数存放在内部RAM 40H和41H单元,加数存放在45H和 46H单元,和数存入50H和51H单元,并设最高位不产生进位。解:程序如下: MOV A, 41H ADD A, 46H DA A MOV 51H, A MOV A, 40H ADDC A, 45H DA A MOV 50H, A SJMP $002、
9、编写程序,将1字节的压缩BCD数转换为二进制数,并存入内部RAM 30H单元中。 解:程序如下: MOV A, 40H SWAP A ANL A, #0FH MOV B, #10 MUL AB ANL 40H, #0FH ADD A, 40H MOV 30H, A SJMP $003、编写程序,将一个字节的二进制数转换为BCD数(0 255),并存入内部RAM 31H和32H单元中。 解:程序如下:MOV A, 30H MOV B, #10 DIV AB MOV 32H, B MOV B, #10 DIV AB XCH A, B SWAP A ORL 32H, A MOV 31H, B SJM
10、P $004、试编写一个程序,将内部RAM中45H单元的高4位清0,低4位置1。 解:程序如下: MOV A, #0FH XCH A, 45H005、设有字无符号数X、Y存放在内部RAM 30H、31H和32H、33H,试编写求I X Y I的程序。 解:程序如下:CLR CMOV A, 31H SUBB A, 33H MOV 35H, A MOV A, 30H SUBB A, 32HJNC NN CPL A MOV 34H, A MOV A, 35H CPL A ADD A, #1 MOV 35H, A MOV A, 34H ADDC A, #0 NN: MOV 34H, A SJMP $0
11、06、设平面上一点P的直角坐标为X, Y), X、Y为字节符号数,试编写假设P落在第I象限内,那 么令K = I;假设P落在坐标轴上,那么令K = 0的程序。解:程序如下: X DATA 30H Y DATA 31H K DATA 33H MOV A, Y JZ K0 MOV A, X JZ K0 JNB ACCo 7, K14 MOV A, Y JNB ACCo 7, K2 MOV K, #3 SJMP $ K2:MOVK,#2SJMP $ K0:MOVK,#0SJMP $ K14:MOVA,YJNB ACCo 7, KI MOV K, #4SJMP $KI:MOV K, #1SJMP $0
12、07、编写程序把起始地址为1000H的100个连续单元中的内容送到以2000H开始的单元中。 解:程序如下:MOV DPTR, # 1000H AG1: MOVX A, DPTRXRL DPH, #30H MOVX DPTR, A XRL DPH, #30H INC DPTR MOV A, DPL CJNE A, #04H, AG1 SJMP $008、编程求内部RAM中40H49H 10个单元中的内容的平均值,并放入4AH单元中。 解:程序如下: MOV R0, #40H CLR A MOV 4AH, A AG1: ADD A, R0 JNC NINC INC 4AH NINC: INC R
13、0CJNE R0, #4AH, AG1 XCHD A, R0 SWAP A MOV B, #10 DIV AB XCH A, R0 XCH A, B SWAP A ORL A, B MOV B, #10 DIV AB SWAP A ORL A, R0 SWAP A MOV R0, A SJMP $009、从2000H地址单元开始,连续存有200W个字节补码数,编写程序将它们改变为各自的绝对值。 解:程序如下:MOV DPTR, # 2000H AG1: MOVX A, DPTRJNB ACCo 7, NN CPL A INC A MOVX DPTR, A NN: INC DPL MOV A,
14、DPL CJNE A, #200, AG1 SJMP $010、编写程序把内部RAM 20H23H单元的内容分别送到2000H、2004H、2021H和200cH单元中。 解:程序如下: MOV DPTR, # 2000H MOV R0, #20H AG1: MOV A, R0 MOVX DPTR, A INC ROMOV A, DPL ADD A, #4 MOV DPL, A CJNE R0, #24H, AG1 SJMP $011、编写程序求放在3000H单元开始的5个字无符号数的和,并将和存放在3100H开始的单元中。 解:程序如下:MOV DPTR, # 3000H MOV 40H,
15、#0 MOV 41H, #0 MOV 42H, #0 MOV R7, #5 AG1: MOVX A, DPTR MOV 4AH, A INC DPL MOVX A, DPTR ADDA, 42H MOV 42H, A MOV A, 41H ADDC A, 4AH MOV 41H, A JNC NI INC 40H NI: INC DPL DJNZ R7, AG1 MOV R0, #40H MOV DPTR, #3100H AGI1: MOV A, R0 MOVX DPTR, A INC DPLINC ROCJNE RO, #43H, AGI1SJMP $012、从内部RAM的DATA单元开始,
16、存有H个数。请设计一个程序,将其中正数,零及负数分选出来,将数据块中的正数和零传送到自ZHEN单元开始的存贮区,而把其中的负数送到FUSH单元开始 的存贮区。解:程序如下:ORG 300HSTART: MOV MOV MOVSTART: MOV MOV MOVRI, #H20H, #ZHEN21H, #FUSHMOVLOOP: MOVMOVLOOP: MOVRO, #DATAA, R0JB ACCo 7, NEGMOW RI, #20HMOV R1, AINC 20HSJMP HEDNEG: MOV RI,21HMOV R1, AHED: INC RODJNZ R2, LOOPSJMP $01
17、3、从20H单元开始存一组带符号数,数组长度存于1FH单元,要求统计出其中大于零、等于零和小于零的数的数目,并把统计结果分别存入ONE, TWO, THREE三个单元。解:程序如下:START:MOVRO, #20HMOVR2, #1FHCLRMOVONE, AMOVTWO, AMOVLOOP:MOVTHREE, AA, R0JZ ZEROJB ACCo 7, NEG INC ONE SJMP NEXT ZERO: INC TWO NEXT: INC RODJNZ R2, LOOP SJMP $014、从2000H单元开始的外部RAM中存有100个数,要求把它传送到自2500H单元开始的存贮区
18、中去, 但在传递过程中要检查数的值,遇到第一个零就停止传送,编制完成此功能的程序。解:程序如下:START: MOV R7, #64H MOV R2, #00H MOV R3, #20H MOV R4, #00H MOV R5, #25HLOOP: MOV DPL, R2 MOV DPH, R3 MOVX A, DPTR JZ STOP MOV DPL, R4 MOV DPH, R5 MOVX DPTR, A INC R2INC R4DJNZ R7, LOOPSTOP: SJMP STOP015、设有一个巡回检测报警装置,需对16路输入值进行比较,当每一路输入值超过该路的报警值时,实现 报警,
19、下面根据这一要求,编制一个查表程序,X为路数,查表时Xi按0、1、2、15 (n = 15) 取数,Y1为最大值,二字节数,依Xi顺序列成表格放在TABi中,进入查表程序前,路数Xi放在R2中,查表后的最大值放在R3, R4中。解:程序如下:TB1: MOVADDMOVADDMOVSJMPA, R2A, R2R3, AA, # TABMOVCR4, A$A, A+PCTAB: DW 05F0H, 0E89H, 0A695H, 1EAAHDW 0D9BH, 7F93H, 0373H, 26D7HDW 2710, 9E3FH, 1A66H, 22E3HDW 1174H, 16EFH, 33E4H,
20、 6CA0H016、从DATA单元开始,有10个8位无符号数,编写求这10个数和的程序,其和放到SUM和SUM+1单元中低位先存)解:程序如下:START: MOVR0,#DATAMOVR2#0AHMOVR3,#00HMOVR4,#00HLOOP: MOV A, R3ADD A, R0MOV R3, AMOV A, R4ADDC A, #00HMOV R4, AINC R0DJNZ R2, LOOPMOV SUM, R3MOV SUM+1, R4SJMP $017、自内部RAM的BUFF单元开始,放有一个数据块,BUFF单元中放的是数据块的长度,从BUFF+1开始存放的是以ASCH码表示的10
21、进制数码,把它们转换为BCD码,且把两个相邻单元的数码并 成一个单元(地址高的放高四位,放到从BUFF+1开始的存贮区中。解:程序如下:R2, BUFFRO, # BUFF+1RI, #BUFF+1A, R0 R1, AROA, R0AA, R1 R1, ASTART: MOV MOV MOVLOOP: MOV MOV INC MOV SWAP XCHD MOVINC ROINC RI DJNZ R2, LOOP SJMP $018、从内部RAM的BLOCK地址开始有一个无符号数据块,长度存于LEN单元,求出数据块中的最小元 素,并将其存入MINI单元。解:程序如下: MINI DATA 20
22、HLEN DATA 21H BLOCK DATA 22HMOV RO, # BLOCK MOV RI, LEN MOV MINI, #0FFH MOV A, RI JZ FINI LOOP: MOV A, R0INC RO CJNEA, MINI, NEXT JNC NEXT MOV MINI, A NEXT: DJNZ RI, LOOP FINI: SJMP $019、在内部RAM的BLOCK单元开始的数据内存放着假设干带符号数,数据块长度存于LEN单元。要求 对数据块内的正数和负数分别相加,相加的结果分别存入SUM1和SUM2单元。设相加的结果不 超过8位二进制数。DATA 22H解:程序
23、如下: SUMI DATA 20H SUM2 DATA 21H LENBLOCK DATA MOV MOV MOV MOV MOV23HRO, # BLOCKRI, LENSUMI, #00HSUM2, #00HA, RIJZ FINILOOP: MOV A,R0INC RO7, NEXT1ADD A, SUMIMOV SUMI, ASJMP NEXT2NEXT1: ADD A, SUM2MOVSUM2, ANEXT2: DJNZ RI, LOOPFINI: SJMP $020、求内部RAM的50H-5AH中的最大值并放入5AH单元。 解:程序如下:MOV RO, #50HMOV R2, #1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理及应用 单片机 原理 应用 复习 试题 整理
限制150内