《单片机原理及应用》第二章 课题六 汇编程序设计(原卷版+解析版)

2024-11-15
| 2份
| 16页
| 139人阅读
| 3人下载

资源信息

学段 中职
学科 职教专业课
课程 单片机技术与应用
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 硬件结构与原理
使用场景 中职复习-一轮复习
学年 2024-2025
地区(省份) 四川省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 144 KB
发布时间 2024-11-15
更新时间 2024-11-15
作者 中职电子知识铺
品牌系列 学易金卷·阶段检测模拟卷
审核时间 2024-11-15
下载链接 https://m.zxxk.com/soft/48700030.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

四川省单独招生考试《单片机原理及应用》45分钟专题训练专辑,共30份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固电子信息类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加电子信息类高考的学生。与本专辑配套的还有四川省单独招生考试《电子技术基础与技能》《电工技术基础与技能》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《单片机原理及应用》 第二章 指令系统与程序设计 课题六 汇编程序设计 时间:45分钟 总分:100分 班级 姓名 学号 成绩 一、选择题(本大题共12小题,每小题 2 分,共 24分) 1.在一个简单的延时子程序中,若晶振频率为 12MHz,执行一条指令需要 1μs,若有一个循环包含 10 条指令且循环 100 次,该部分延时时间是( )。 A. 1000μs B. 100μs C. 10μs D. 1μs 2. 已知某延时子程序中,外循环次数为 M,中循环次数为 N,内循环次数为 K,假设每个循环内指令执行时间为 t,该延时子程序总延时时间为( )。 A. M×N×K×t B. (M + N + K)×t C. M×t + N×t + K×t D. M×(N + K)×t 3.在一个三重循环的单片机程序中,最外层循环次数为 5,中间层循环次数为 3,最内层循环次数为 2,循环体中每一条指令执行时间为 2μs,总延时时间为( ) A. 60μs B. 30μs C. 15μs D. 20μs 4.在一个延时子程序中,晶振频率为 6MHz,单条指令执行周期为 2μs,若要实现 10ms 的延时,循环次数约为( ) A. 5000 B. 2500 C. 1000 D. 500 5. 在一个延时子程序中,若晶振频率降低为原来的一半,要保持延时时间不变,以下哪种指令修改方式合适( ) DELAY: MOV R4, #150 L1: MOV R3, #200 L2: DJNZ R3, L2 DJNZ R4, L1 RET A. 将MOV R4, #150改为MOV R4, #300 B. 将MOV R3, #200改为MOV R3, #100 C. 将DJNZ R3, L2改为DJNZ R3, L1 D. 将DJNZ R4, L1改为DJNZ R4, L2 6. 以下汇编代码实现两重循环,内层循环计算1到n(n= 6)的累加和,外层循环执行3次,假设累加结果存放在 A 寄存器中,结束后 A的值是多少( ) MOV R2, #3 OUT_LOOP: MOV R3, #1 MOV A, #0 IN_LOOP: ADD A, R3 INC R3 CJNE R3, #7, IN_LOOP DJNZ R2, OUT_LOOP A. 63 B. 21 C. 18 D. 42 7. 已知晶振频率为 12MHz,在以下延时子程序中,计算该子程序的延时时间。( ) DEL: MOV R7,#10 DEL1:MOV R6,#200 DEL2:MOV R5,#248 DJNZ R5,$ DJNZ R6, DEL2 DJNZ R7, DEL1 RET A. 1s B. 400ms C. 500ms D. 2s 8. 以下是一个三重循环的汇编代码片段,计算循环体执行的总次数。( ) MOV R7, #3 OUTER: MOV R6, #4 MIDDLE: MOV R5, #5 INNER: DJNZ R5, INNER DJNZ R6, MIDDLE DJNZ R7, OUTER A. 60 B. 20 C. 12 D. 30 9.以下汇编代码实现了一个简单的延时功能,假设晶振频率为 12MHz,请问执行完以下代码延时多久( ) DEL: MOV R7,#200 DEL1: MOV R6,#125 DEL2: DJNZ R6, DEL2 DJNZ R7,DEL1 RET A. 50ms B. 10ms C. 15ms D. 20ms 10. 在延时子程序中,如果要延长延时时间,以下哪种方法可行( ) A. 减少循环次数 B. 增加循环次数 C. 降低晶振频率 D. 提高晶振频率 11. 以下是一个简单的延时子程序: DELAY: MOV R6, #150 L1: DJNZ R6, L1 RET 若晶振频率为 6MHz,机器周期为 2μs,该子程序延时时间约为( ) A. 600μs B. 300μs C. 750μs D. 150μs 12.对于以下延时子程序: DELAY: MOV R5, #200 D1: MOV R4, #250 D2: DJNZ R4, D2 DJNZ R5, D1 RET 若要延长其延时时间,可( ) A. 减小R5的初始值 B. 减小R4的初始值 C. 增加R5的初始值 D. 增加R4的初始值和减小R5的初始值 二、判断题(本大题共10小题,每题 2分,共 20 分) 1.在延时子程序编写中,所有的指令对延时时间的贡献是相同的。( ) 2.在单片机两重循环程序中,外层循环的循环变量变化范围决定了内层循环的执行总次数。( ) 3.在延时子程序中,若晶振频率降低,相同的程序延时时间会变长。( ) 4. 在单片机三重循环程序中,最内层循环一定是对整个程序影响最大的部分。( ) 5.在延时子程序中,增加循环嵌套层数一定会延长延时时间。( ) 6.对于一个简单的延时子程序,其延时时间只与晶振频率有关。( ) 7.延时子程序通过大量复杂运算来实现延时。( ) 8.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期。( ) 9. 单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。( ) 10. CPU的时钟周期为振荡器频率的倒数。( ) 3、 填空题(本题共8小题,每空2分,合计16分) 1. 在编写延时子程序时,延时时间与晶振频率成______比。 2.对于汇编语言中的显示子程序,如果要显示动态效果,需要结合______子程序来控制显示的时间间隔。 2. 一个机器周期=______个振荡周期=______个时钟周期。 4.在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为______。 5.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:           PUSH  ACC           PUSH  B 后,SP的内容为        ,61H单元的内容为      ,62H单元的内容为      。 4、 读程序题(本大题共2小题,每题 10 分,共 20 分) 1.已知(A)=83H,(R0)=17H,(17H)=34H,执行下列程序段后: ANL A , #17H ORL 17H , A XRL A , @R0 CPL A (A)=        ,(R0)=         ,(17H)=         。 2 .已知(10H)=5AH ,(2EH)=1FH,(40H)=2EH,(60H)=3DH , 执行下列程序段后: MOV 20H , 60H MOV R1 , 20H MOV A , 40H XCH A , R1 XCH A , 60H XCH A , @R1 MOV R0 , #10H XCHD A , @R0 ( A ) =         ( 10H ) =        ( 2EH ) =         ( 40H ) =        ( 60H ) =         五、综合题(共计20 分) 1.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间________   MOV R3,#100 ;1   LOOP:NOP ;1   NOP   NOP   DJNZ R3,LOOP ;2 RET ;1 2.存放于ADDR1和ADDR2中的两个无符号二进制数,求其中的大数并存于ADDR3中,请完成以下程序实现上述功能。 MOV A, ADDR1 CJNE A, ADDR2,LP1 LP1:________ LP2 MOV ADDR3, A  ________________ LP2: MOV ADDR3,ADDR2 LP3: RET 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 四川省单独招生考试《单片机原理及应用》45分钟专题训练专辑,共30份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固电子信息类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加电子信息类高考的学生。与本专辑配套的还有四川省单独招生考试《电子技术基础与技能》《电工技术基础与技能》45分钟专题训练专辑,欢迎同学和老师们下载使用。 《单片机原理及应用》 第二章 指令系统与程序设计 课题六 汇编程序设计 时间:45分钟 总分:100分 班级 姓名 学号 成绩 一、选择题(本大题共12小题,每小题 2 分,共 24分) 1.在一个简单的延时子程序中,若晶振频率为 12MHz,执行一条指令需要 1μs,若有一个循环包含 10 条指令且循环 100 次,该部分延时时间是( )。 A. 1000μs B. 100μs C. 10μs D. 1μs 【答案】A 【解析】每条指令 1μs,循环内 10 条指令,执行一次循环就是 10μs,循环 100 次,总延时时间为 10×100 = 1000μs。故选 A。 2. 已知某延时子程序中,外循环次数为 M,中循环次数为 N,内循环次数为 K,假设每个循环内指令执行时间为 t,该延时子程序总延时时间为( )。 A. M×N×K×t B. (M + N + K)×t C. M×t + N×t + K×t D. M×(N + K)×t 【答案】A 【解析】因为是三重循环,总延时时间为各层循环次数相乘再乘以每条指令执行时间,即 M×N×K×t。故选A。 3.在一个三重循环的单片机程序中,最外层循环次数为 5,中间层循环次数为 3,最内层循环次数为 2,循环体中每一条指令执行时间为 2μs,总延时时间为( ) A. 60μs B. 30μs C. 15μs D. 20μs 【答案】A 【解析】总循环次数为 5×3×2 = 30 次,每次循环中指令执行时间为 2μs,所以总延时时间为 30×2 = 60μs。故选A。 4.在一个延时子程序中,晶振频率为 6MHz,单条指令执行周期为 2μs,若要实现 10ms 的延时,循环次数约为( ) A. 5000 B. 2500 C. 1000 D. 500 【答案】A 【解析】已知单条指令执行周期为 2μs,总延时时间 T=10ms=10000μs,根据 N=T×f/n,这里 n = 1(假设一个循环内一条关键指令用于延时),f = 6MHz,计算可得 N=10000÷2=5000。故选A。 5. 在一个延时子程序中,若晶振频率降低为原来的一半,要保持延时时间不变,以下哪种指令修改方式合适( ) DELAY: MOV R4, #150 L1: MOV R3, #200 L2: DJNZ R3, L2 DJNZ R4, L1 RET A. 将MOV R4, #150改为MOV R4, #300 B. 将MOV R3, #200改为MOV R3, #100 C. 将DJNZ R3, L2改为DJNZ R3, L1 D. 将DJNZ R4, L1改为DJNZ R4, L2 【答案】A 【解析】晶振频率降低为原来的一半,则指令执行周期变为原来的2倍。原程序中,外循环次数由 R4的值决定,要保持延时时间不变,外循环次数应增加一倍,即把 MOV R4,#150改为 MOV R4,#300。故选A。 6. 以下汇编代码实现两重循环,内层循环计算1到n(n= 6)的累加和,外层循环执行3次,假设累加结果存放在 A 寄存器中,结束后 A的值是多少( ) MOV R2, #3 OUT_LOOP: MOV R3, #1 MOV A, #0 IN_LOOP: ADD A, R3 INC R3 CJNE R3, #7, IN_LOOP DJNZ R2, OUT_LOOP A. 63 B. 21 C. 18 D. 42 【答案】A 【解析】内层循环:计算1到6的累加和,根据等差数列求和公式S=(首项十尾项)x项数:2=(1+6)x6÷2=21. 外层循环:执行3次,所以累加和为21x3=63。故选A。 7. 已知晶振频率为 12MHz,在以下延时子程序中,计算该子程序的延时时间。( ) DEL: MOV R7,#10 DEL1:MOV R6,#200 DEL2:MOV R5,#248 DJNZ R5,$ DJNZ R6, DEL2 DJNZ R7, DEL1 RET A. 1s B. 400ms C. 500ms D. 2s 【答案】A 【解析】对每条指令进行计算得出精确延时时间为: 1+(1*10)+(1*200*10)+(2*248*200*10)+(2*200*10)+(2*10)+2=[(2*248+3)*200+3]*10+3 =998033us≈1s。整理得:延时时间=[(2*第一层循环+3)*第二层循环+3]*第三层循环+3 此式适用三层循环以内的程序,注意,要实现较长时间的延时一般采用多重循环,有时会在程式序里加入NOP指令,故选择A。 8. 以下是一个三重循环的汇编代码片段,计算循环体执行的总次数。( ) MOV R7, #3 OUTER: MOV R6, #4 MIDDLE: MOV R5, #5 INNER: DJNZ R5, INNER DJNZ R6, MIDDLE DJNZ R7, OUTER A. 60 B. 20 C. 12 D. 30 【答案】A 【解析】最内层循环:R5 从5开始,每次减1,直到0,执行5次。中间层循环:每次中间层循环时,R6 从4开始,每次减1,直到0,执行4次,而中间层循环每次执行时内层循环都完整执行5次,所以中间层和内层循环一起执行4x5=20次。最外层循环: R7 从3开始,每次减1,直到0,执行3次,而每次最外层循环时中间层和内层循环都完整执行20次,所以总循环次数为3x20=60次。故选A。 9.以下汇编代码实现了一个简单的延时功能,假设晶振频率为 12MHz,请问执行完以下代码延时多久( ) DEL: MOV R7,#200 DEL1: MOV R6,#125 DEL2: DJNZ R6, DEL2 DJNZ R7,DEL1 RET A. 50ms B. 10ms C. 15ms D. 20ms 【答案】B 【解析】DEL这个子程序共有五条指令,现在分别就 每一条指令 被执行的次数和所耗时间进行分析。 第一句:MOV R7,#200 在整个子程序中只被执行一次,且为单周期指令,所以耗时1us 第二句:MOV R6,#125 从②看到④只要R7-1不为0,就会返回到这句,共执行了R7次,共耗时200us 第三句:DJNZ R6,DEL2 只要R6-1不为0,就反复执行此句(内循环R6次),又受外循环R7控制,所以共执行R6*R7次,因是双周期指令,所以耗时2*R6*R7uS。精确延时时间为:1+(1*200)+(2*125*200)+(2*200)+2 =(2*125+3)*200+3 =50603μs≈50ms。‌故选B。 10. 在延时子程序中,如果要延长延时时间,以下哪种方法可行( ) A. 减少循环次数 B. 增加循环次数 C. 降低晶振频率 D. 提高晶振频率 【答案】B 【解析】在延时子程序中,增加空循环次数可以延长延时时间。A 选项减少循环次数会缩短延时;C、D 选项晶振频率一般是硬件决定的,且在延时子程序编写中通常不改变晶振频率来调整延时。故选B。 11. 以下是一个简单的延时子程序: DELAY: MOV R6, #150 L1: DJNZ R6, L1 RET 若晶振频率为 6MHz,机器周期为 2μs,该子程序延时时间约为( ) A. 600μs B. 300μs C. 750μs D. 150μs 【答案】B 【解析】MOV R6, #150执行 1 次,DJNZ R6, L1执行 150 次,加上RET指令约 1 次,总共执行时间约 150×4 + 2 + 2 = 604 us。故选择A。 12.对于以下延时子程序: DELAY: MOV R5, #200 D1: MOV R4, #250 D2: DJNZ R4, D2 DJNZ R5, D1 RET 若要延长其延时时间,可( ) A. 减小R5的初始值 B. 减小R4的初始值 C. 增加R5的初始值 D. 增加R4的初始值和减小R5的初始值 【答案】C 【解析】此延时子程序是双重循环结构,外循环由R5控制,内循环由R4控制。延长延时时间可增加外循环次数,即增加R5的初始值。减小R5或R4初始值会缩短延时时间,增加R4初始值同时减小R5初始值不一定能延长延时时间。故选C。 二、判断题(本大题共10小题,每题 2分,共 20 分) 1.在延时子程序编写中,所有的指令对延时时间的贡献是相同的。( ) 【答案】× 【解析】不同指令的执行周期不同,在延时子程序中,执行周期长的指令对延时时间的贡献更大,而且一些用于控制循环的指令(如 DJNZ)和普通指令(如 MOV)在延时程序结构中的作用和对延时的影响是不同的。故表述错误。 2.在单片机两重循环程序中,外层循环的循环变量变化范围决定了内层循环的执行总次数。( ) 【答案】× 【解析】内层循环的执行总次数由内层循环自身的条件决定,外层循环变量的变化范围决定了内层循环被重复执行的次数,而不是内层循环的执行总次数。故表述错误。 3.在延时子程序中,若晶振频率降低,相同的程序延时时间会变长。( ) 【答案】√ 【解析】晶振频率降低,指令执行周期变长,在相同的循环结构和指令下,程序执行完所花费的时间就会变长,从而使延时时间变长。故表述正确。 4. 在单片机三重循环程序中,最内层循环一定是对整个程序影响最大的部分。( ) 【答案】× 【解析】虽然最内层循环执行频率高,但从对整个程序功能和结果的影响角度看,三层循环都有各自的作用,最外层循环往往控制整体的执行规模,对程序的宏观逻辑影响重大,不能简单说最内层循环影响最大。故表述错误。 5.在延时子程序中,增加循环嵌套层数一定会延长延时时间。( ) 【答案】× 【解析】增加循环嵌套层数不一定会延长延时时间,如果内层循环次数或指令执行情况不合理,可能不会延长延时时间,甚至可能由于程序结构变化导致其他问题而影响延时效果。而且如果新增加的循环次数很少,也不一定能有效延长延时。故表述错误。 6.对于一个简单的延时子程序,其延时时间只与晶振频率有关。( ) 【答案】× 【解析】延时子程序的延时时间不仅与晶振频率有关,还与循环次数、指令执行周期等因素有关。晶振频率决定了指令执行的基本时间单位,但循环次数等也会极大地影响总延时时间。故表述错误。 7.延时子程序通过大量复杂运算来实现延时。( ) 【答案】× 【解析】延时子程序通常通过空循环来实现延时,即让程序在一定时间内执行无实际功能的循环指令,消耗时间,而不是通过大量复杂运算。复杂运算可能会有其他结果,且可能会受运算数据和处理器性能影响,不利于精确延时。故表述错误。 8.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期。( ) 【答案】× 【解析】由于一般情况下一个机器周期不等于一个时钟周期,而是包含多个时钟周期。故表述错误。 9. 单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。( ) 【答案】√ 【解析】表述正确。 10. CPU的时钟周期为振荡器频率的倒数。( ) 【答案】√ 【解析】表述正确。 3、 填空题(本题共8小题,每空2分,合计16分) 1. 在编写延时子程序时,延时时间与晶振频率成______比。 【答案】反 【解析】延时时间与晶振频率成反比。晶振频率越高,指令执行速度越快,在相同的指令和循环结构下,完成程序执行所需要的时间就越短,即延时时间越短;反之,晶振频率越低,延时时间越长。 2.对于汇编语言中的显示子程序,如果要显示动态效果,需要结合______子程序来控制显示的时间间隔。 【答案】延时 【解析】要实现动态显示效果,需要结合延时子程序。延时子程序可以控制显示内容更新的时间间隔,使得显示看起来是动态变化的。例如在动态数码管显示或动态液晶显示中,通过在两次显示数据更新之间插入合适的延时,来实现滚动、闪烁等动态效果。 2. 一个机器周期=______个振荡周期=______个时钟周期。 【答案】12,6 4.在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为______。 【答案】2us 5.假定(SP)=60H,(ACC)=30H,(B)=70H,执行下列指令:           PUSH  ACC           PUSH  B 后,SP的内容为        ,61H单元的内容为      ,62H单元的内容为      。 【答案】62H,30H,70H 4、 读程序题(本大题共2小题,每题 10 分,共 20 分) 1.已知(A)=83H,(R0)=17H,(17H)=34H,执行下列程序段后: ANL A , #17H ORL 17H , A XRL A , @R0 CPL A (A)=        ,(R0)=         ,(17H)=         。 【答案】(A)= CBH ,(R0)= 17H ,(17H)= 37H 2 .已知(10H)=5AH ,(2EH)=1FH,(40H)=2EH,(60H)=3DH , 执行下列程序段后: MOV 20H , 60H MOV R1 , 20H MOV A , 40H XCH A , R1 XCH A , 60H XCH A , @R1 MOV R0 , #10H XCHD A , @R0 ( A ) =         ( 10H ) =        ( 2EH ) =         ( 40H ) =        ( 60H ) =         【答案】 ( A ) = 5AH( 10H ) =1FH ( 2EH ) = 3DH( 40H ) = 2EH ( 60H ) = 3DH 五、综合题(共计20 分) 1.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间________   MOV R3,#100 ;1   LOOP:NOP ;1   NOP   NOP   DJNZ R3,LOOP ;2 RET ;1 【答案】1ms 【解析】一个机器周期为2μs,执行程序所需时间T=2us*(5x100+2)=1004us≈1ms 2.存放于ADDR1和ADDR2中的两个无符号二进制数,求其中的大数并存于ADDR3中,请完成以下程序实现上述功能。 MOV A, ADDR1 CJNE A, ADDR2,LP1 LP1:________ LP2 MOV ADDR3, A  ________________ LP2: MOV ADDR3,ADDR2 LP3: RET 【答案】 J C ;SJMP LP3 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

《单片机原理及应用》第二章 课题六 汇编程序设计(原卷版+解析版)
1
《单片机原理及应用》第二章 课题六 汇编程序设计(原卷版+解析版)
2
《单片机原理及应用》第二章 课题六 汇编程序设计(原卷版+解析版)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。