2022年单片机考试常见试题程序分析题.pdf
《2022年单片机考试常见试题程序分析题.pdf》由会员分享,可在线阅读,更多相关《2022年单片机考试常见试题程序分析题.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序分析及编程1. 设 (A)=04H,(CY)=1, 写出下列各条指令的结果。RL A; (A)= 08HRR A; (A)= 02HRLC A; (A)= 09HRRC A; (A)= 82H2设(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1, 写 出 下列 各条指令的结果。 MOV A ,R0 (A)=30H (R0)=30H XCH A, R0 (A)=30H (R0)=30H XCHD A,R0 (A)=A5H (R0)=30H (30H)=30H ADD A,#30H (A)=D5H (CY)=1 ADDC A,30H (A)=06H (CY)=1 SUBB A
2、,#30H (A)=D5H (CY)=14. 已 知 程 序 执 行 前 有A=02H , SP=52H ,(51H ) =FFH ,(52H)=FFH。下述程序执行后:请问:A= ( ) ,SP= ( ) ,(51H )= ( ) , (52H )= ( ) ,PC= ( ) 。POP DPHPOP DPLMOV DPTR,#4000HRL AMOV B,AMOVC A,A+DPTRPUSH AMOV A,BINC AMOVC A,A+DPTRPUSH ARETORG 4000HDB 10H,80H,30H,50H,30H,50H答: (A)=50H , (SP )=50H , (51H)=
3、30H , (52H)=50H , (PC ) =5030H5. 假定 A=83H , (R0 )=17H ,(17H )=34H ,执行以下指令后, A的内容为() 。 :ANL A,#17HORL 17H,AXRL A,R0CPL A答:0CBH6.如 果DPTR=507BH ,SP=32H , (30H)=50H,(31H)=5FH , (32H)=3CH ,则执行下列指令精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 13 页 - - - - - - - - - - 后则: DPH=
4、( ) ,DPL=( ) ,SP= ( ) :POP DPHPOP DPLPOP SP答:DPH=3CH , DPL=5FH , SP=4FH7. 假定, SP=60H ,A=30H ,B=70H ,执行下列指令后,SP的内容为() ,61H单元的内容为() ,62H单元的内容为() 。PUSH APUSH B 答: 62H , 30H , 70H8. 计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz ) 。MOV R3,#15H ;1个机器周期DL1:MOV R4,#255 ;1个机器周期DL2:MOV P1,R3 ;2 个机器周期DJNZ R4,DL2 ;2个机器周期D
5、JNZ R3,DL1 ;2个机器周期RET ;2 个机器周期答:15348us 析: ( (22)25512)151215348us9. 假定 A=83H , (R0)=17H ,(17H )=34H ,执行以下指令后, A的内容为() 。ANL A,#17HORL 17H,AXRL A,R0CPL A 答:0CBH10. 如 果 (DPTR)=507BH ,(SP)=32H , (30H)=50H ,(31H)=5FH, (32H)=3CH,则执行下列指令后: DPH内容为() ,DPL 内容为() , SP内容为 () 。POP DPH;POP DPL;POP SP;答: (DPH)= 3
6、CH ,(DPL ) =5FH ,(SP )=50H11. 假 设外 部 数 据 存 储 器2000H单元的内容为80H ,执行下列指令后,累加器A中的内容为() 。MOV P2,#20HMOV R0,#00HMOVX A,R0答:累加器A 中的内容为(80H )精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 13 页 - - - - - - - - - - 12. 阅读下列程序段并回答问题 。(1). 该程序执行何种操作(2 ). 已知初值(60H )=23H , (61H )=61H ,运
7、行程序后 62H内容 CLR C MOV A ,#9AH SUBB A ,60H ADD A ,61H DA A MOV 62H ,A 答: 1 ) 、该程序是单字节BCD码运算,是将( 61H )( 60H )62H 2) 、 (62H )=38H13. 试编写 1 个程序,将内部 RAM 中 45H单元的高 4 位清 0,低 4 位置 1。答:MOV A, 45HANL A, #0FHORL A, #0FHMOV 45H, A14. 试编写程序,查找在内部RAM 的 30H 50H单元中是否有0AAH这一数据。若有,则将51H单元置为“ 01H ” ;若未找到,则将 51H单元置为“00H
8、 ” 。答:START: MOVR0,#30HMOVR2,#20HLOOP: MOV A,R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMP EXITNEXT: INC R0DJNZR2,LOOPMOV51H,#00HEXIT: RET15. 编写程序,要求使用T0,采用方式 2 定时,在输出周期为 400s, 占空比为10:1 的矩形脉冲。解:根据题意,从输出的矩形脉冲的高低电平的时间为 10:1, 则高低电平的时间分别为 s 和s。 如果系统采用 6MHz晶振的话,sTcy2,因此高低电平输出取整,则约为364s 和36s。编写程序如下:ORG 0000HLJMP MAIN
9、ORG 000BHLJMP IT0P精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 13 页 - - - - - - - - - - MAIN:MOV TMOD,#02H ;定时器 / 计数器 T0为定时方式 2MOV TL0,#4AH ; 定时 364s 初值赋值SETB TR0 ; 启动 T0,开始计数SETB ET0 ;允许 T0 中断SETB EA ;CPU 开中断SETB WAIT: AJMP WAITIT0P: CLR EACLR ;关中断MOV R0,#9DLY: DJNZ R0
10、,DLY ;延时 26sMOV TL0,#4AH ; 定时 364s 初值赋值SETB SETB EARETI16. 设在外部 RAM 中有三个连续单元2001H,2002H ,2003H , 其中 2001H和 2002H单元中分别存放两个8位无符号二进制数, 比较这两个数的大小,然后将大数送到2003H单元。COMPARE:MOV DPTR, #2001HMOVX A , DPTRMOV R0,AINC DPTRMOVX A,DPTRSUBB A ,R0JNC LOOPMOV A, R0INC DPTRMOVX DPTR ,ARETLOOP:INC DPTRMOVX DPTR ,ARET
11、17.将内部 RAM 40H开始的 10 个单元,搬移到 50H开始的 10 个单元中。MOV R0,#40HMOV R1,#50HMOV R2, #10LOOP1:MOV A, R0MOV R1,AINC R0INC R1DJNZ R2 ,LOOP1RET18. 设单片机晶振频率为精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 13 页 - - - - - - - - - - 6MHz,使用定时器 0, 以工作方式 2,在引脚输出一个周期为 200us连续方波解: MOV TMOD,#02H
12、 MOV TH0, #0CEHMOV TL0 ,#0CEHSETB TR0LOOP: JBC TF0,LOOP1 AJMP LOOPLOOP1: CPL 19. 编写一段程序, 功能要求为:当引脚的电平正跳变时,对的输入脉冲进行计数;当引脚的电平负跳变时,停止计数,并将计数值写入 R0、R1(高位存 R1,低位存 R0)。答 : 将 的 输 入 脉 冲 接 入INT0,即使用 T0 计数器完成对口的脉冲计数。 编写程序如下:ORG 0000HLJMP MAINORG 000BHLJMP IT0PMAIN: JNB ,MAINMOV TMOD,#05H ;定时器/ 计数器 T0为计数方式 1SE
13、TB TR0 ;启动T0,开始计数SETB ET0 ;允许T0中断SETB EA ; CPU 开中断WAIT: JB ,WAITCLR EACLR TR0MOV R1,TH0MOV R0,TL0AJMP $IT0P: INC R2RETI20. 试编写一个程序(例如将 05H和 06H拼为 56H ) , 设原始数据放在片外数据区2001H 单元和2002H 单元中,按顺序拼装后的单字节数放入 2002H 。答:编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换, 再屏蔽掉低四位然后将寄存器A的值保存到 30H 中,然后再读取2002H的值,保存在寄存器A 中,
14、屏蔽掉高四位,然后将寄存器 A的值与 30H进行或运算,将运算后的结果保存在 2002H中。ORG 0000HMAIN :MOV DPTR ,#2001H;设置数据指针的初值精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 13 页 - - - - - - - - - - MOVX A,DPTR ;读 取2001H的值SWAP A ANL A,#0F0H ;屏蔽掉低四位MOV 30H ,A ;保存 AINC DPTR ;指针指向下一个MOVX A,DPTR ;读 取2002H的值ANL A,#0
15、FH ;屏蔽掉高四位ORL A,30H ;进行拼装MOVX DPTR,A ;保存到2002HEND21. 编写程序,将外部数据存储器中的4000H 40FFH单元全部清零。解:本题主要考察了对外部数据块的写操作; 编程时只要注意循环次数和MOVX 指令的使用就可以了。ORG 0000HMAIN : MOV A,#0;送预置数给 AMOV R0 ,#0FFH ;设置循环次数MOV DPTR ,#4000H;设置数据指针的初值LOOP : MOVX DPTR , A;当前单元清零INC DPTR ;指向下一个单元DJNZ R0,LOOP ;是否结束END22. 编写程序,采用8255A的 C 口按
16、位置位 / 复位控制字,将 PC7置 0,PC4置 1,(已知 8255A各端口的地址为 7FFCH-7FFFH ) 。解:本题主要考察对8255A的 C口的操作。 其方式控制字的高位为 0 时,低四位对C 口进行置位。由题目我们得到了方式控制字的地址为 7FFFH 。ORG 0000HMAIN: MOV DPTR,#7FFFH ;控制字寄存器地址送 DPTRMOV A,#0EH; 将 PC7置 0MOVX DPTR,AMOV A,#09H; 将 PC4置 1MOVX DPTR,AEND23. 试编写逻辑运算程序,功能为:精品资料 - - - 欢迎下载 - - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 单片机 考试 常见 试题 程序 分析
限制150内