单片机考试题(附答案)(10).doc
.单片机考试试题及答案(10) 一 填空题(共20分,每题4分)1、我们使用的单片机试验箱型号是 。 2、输入文件后,按F2保存程序,此时文件扩展名是 。 3、提示装载完毕后,使用命令进行反汇编 ,检查程序是否正确装入。 4、将30H单元的内容67H送R1,用最少的指令实现,指令为: 。 5、弹出操作,使用 指令。 二、程序分析题(共20分,每题10分) 1、程序如下 2506HM5: MOVSP,#58H;2509MOV10H,0FH;250CHMOV 11H,#0BH;250FHACALLXHD;2511HMOV20H,11H2514HM5A: SJMPM5AXHD: PUSH 10HPUSH 11HPOP 10HPOP 11HRET问:()执行后堆栈内容? ()执行:后,()?()? 2、解读下列程序,然后填写有关寄存器内容 (1)MOV R1,#48HMOV 48H,#51HCJNE R1,#51H,00HJNCNEXT1MOV A,#0FFHSJMP NEXT2NEXT: MOV A,#0AAHNEXT2:SJMP NEXT2累加器A=( )(2) MOVA,#0FBHMOVPSW,#10HADDA,#7FH 若,当执行完上述程序段后,将各位状态填入下表: 三、编程题(共60分,每题30分) 1. 将片内RAM2单元(如20H)的内容分成两段,并将它们分别存入2单元和3单元。(高位清零)。 1. 输入程序。 参考程序: MOVR0,#21HMOVA,20HANLA,#0FHMOVR0,AINC R0MOVA,20HSWAPAANLA,#0FHMOVR01. 在某单元(如20H)存入待分字的某数(如5BH)。 2. 单步或带断点运行该段程序。 3. 运行过程中注意检查程序的变化,并在最后检查(21H)= , 4. (22H)= 。 2、编程实现字符串长度统计:设在单片机内RAM中从STR单元开始有一字符串以ASC II码存放,该字符串以$<其值为24H>结束,试统计该字符串的长度,其结果存于LON单元。 (1)输入所编程序 START: CLRA ;计数单元清零 MOV R0,#STRLOOP:CJNE R0,#24H,NEXT;判断字符串是否结束 SJMP COMPNEXT:INTA INCR0SJMP LOOPCOMP: MOV LON,A ;将长度存入LON单元 SJMP $(2)在以STR为首的地址内部RAM单元开始存放待统计长度的数据块(自设),并以24作为数据块的结束标志。 (3)单步或断点运行所编程序,注意观察每次转移后PC及统计长度单元LON的变化,并做好记录。 (4)验证运行结果。 (5)改变数据块长度,重做。 单片机原理与应用试题010答案 1. 填空题(共20分,每题4分) 1、我们使用的单片机试验箱型号是TDN-MI。 2、输入文件后,按F2保存程序,此时文件扩展名是 .ASM。 3、提示装载完毕后,使用U000命令进行反汇编 ,检查程序是否正确装入。 4、将30H单元的内容67H送R1,用最少的指令实现,指令为:MOV30H,#67H; MOVR1,30H。 5、弹出操作,使用POPACC指令。 二、程序分析题(共20分,每题10分) 1、程序如下 2506HM5: MOVSP,#58H;2509MOV10H,0FH;250CHMOV 11H,#0BH;250FHACALLXHD;2511HMOV20H,11H2514HM5A: SJMPM5AXHD: PUSH 10HPUSH 11HPOP 10HPOP 11HRET问:()执行后堆栈内容? ()执行:后,()?()? 解 1. 执行指令时:?: ()?() ()?() )子程序返回时,点地址弹出, 所以()执行后,堆栈内容如左图所示 5C 0B5B 0F5A 2559 1158()执行:后,(), () 2、解读下列程序,然后填写有关寄存器内容 (1)MOV R1,#48HMOV 48H,#51HCJNE R1,#51H,00HJNCNEXT1MOV A,#0FFHSJMP NEXT2NEXT: MOV A,#0AAHNEXT2:SJMP NEXT2累加器A=( )(2) MOVA,#0FBHMOVPSW,#10HADDA,#7FH解 () MOVR1,#48H;48H? 送 R1MOV48H,#51H ;51H送?(48H)CJNER1,#51H,00H;(R1)GN #51相比,相等,顺序执行 JNC NEXT1 ;没借位转,NEXT1MOVA,#0FFH;有借位,FFH送ASJMPNEXT2NEXT1MOVA,#0AAH ;0AAH送A NEXT2SJMPNEXT2累加器A=(0AAH) (2)MOV A,#0FBHMOV PSW,#10H 00010000送PSW ADD A,#7FH由11111011+01111111- _1 01111010所以,有进位CY=1,C6? 7=1?10,=0; A中有奇数个1,=1; 有辅助进位位 若,当执行完上述程序段后,将各位状态填入下表: 三、编程题(共60分,每题30分) 1. 将片内RAM2单元(如20H)的内容分成两段,并将它们分别存入2单元和3单元。(高位清零)。 1. 输入程序。 参考程序: MOVR0,#21HMOVA,20HANLA,#0FHMOVR0,AINC R0MOVA,20HSWAPAANLA,#0FHMOVR01. 在某单元(如20H)存入待分字的某数(如5BH)。 2. 单步或带断点运行该段程序。 3. 运行过程中注意检查程序的变化,并在最后检查(21H)= , 4. (22H)= 。 2、编程实现字符串长度统计:设在单片机内RAM中从STR单元开始有一字符串以ASC II码存放,该字符串以$<其值为24H>结束,试统计该字符串的长度,其结果存于LON单元。 (1)输入所编程序 START: CLRA ;计数单元清零 MOV R0,#STRLOOP:CJNE R0,#24H,NEXT;判断字符串是否结束 SJMP COMPNEXT:INTA INCR0SJMP LOOPCOMP: MOV LON,A ;将长度存入LON单元 SJMP $(2)在以STR为首的地址内部RAM单元开始存放待统计长度的数据块(自设),并以24作为数据块的结束标志。 (3)单步或断点运行所编程序,注意观察每次转移后PC及统计长度单元LON的变化,并做好记录。 (4)验证运行结果。 (5)改变数据块长度,重做。 单片机原理与应用试题0111. 填空题(共20分,每题4分) 1、开启微机电源,在软件所在目录键入命令,选择对应串口号,进入集成操作软件环境。 2、对源文件进行汇编,生成浮动目标文件,文件扩展名是 。 3、用 命令设置断点。 4、将立即数3052H送数据指针DPTR,使用指令。 5、两寄存器交换数据,使用指令。 二、程序分析题(共20分,每题10分) 1、程序存储器空间表格如下: 地址 内容 已知:片内的中为,执行下列程序后()? , , , MOV 30H,A END: SJMPEND执行程序后,(30H)=2、分析程序段: , ,; ,; ; , (1)程序执行何种操作? (2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 。 1. 编程题(共60分,每题30分) 1. 编程实现下列逻辑运算Z=(M+N)*(O+P)。设M,N,O,P为片内RAM30H33H单元,输出结果单元Z地址为34H。 1. 将下列程序输入到实习装置 参考程序 START:MOV A,MXRL A,NMOVB,AMOVA,OORL A,PANL A,BMOV Z,A1. 在MP(30H33H单元)装入待进行逻辑运算的数据(自设)。 2. 单步或带断点运行该段程序。 3. 运行过程中注意检查程序的变化,并在最后验证(Z)是否与理论值相符。 2、 设从内存BLOCK单元开始存放一 无符号数的数据块,其长度为LEN。试找出其最小数,并存入MIN单元。 (1)输入所编程序。 COMP: MOVA,#0FFH;置比较的初始值 MOVR2,#LEN;置数据块长度 MOVR1,#BLOCK;置地址指针 LOOP: CLR CSUBB A,R1 ;比较 JCNEXT;若小,则恢复原值 MOVA,R1SJMPNEXT1NEXT:ADD A,R1NEXT1: INC R1;若大,则取下个数比较 DJNZ : DJNZR2,LOOPMOVMN ,A;存最小数 SJMP$(2)确定好数据块的起始地址和长度,并在相应的内部RAM单元存入数据,同时作好记录。 (3)单步或断点运行程序,注意循环次数是否等于数据块长度。 (4)观察PC,A和计数单元的变化并作好记录。 (5)验证运行结果。 <SCR .页脚.