《2023年单片机原理及应用期末考试复习题.docx》由会员分享,可在线阅读,更多相关《2023年单片机原理及应用期末考试复习题.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理及应用期末复习题一、填空题.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量 形成目的地址的方式。1 .AT 8 9 S51单片机的1个机器周期具有12 个晶振周期或匚状态周期。2 .AT 8 9s 5 1单片机进行扩展时用P0 作为地址/数据总线用 P2 口作为地址总线高8位。3 .假定累加器A的内容30H,执行指令:10 0 0H:MOVC A,A+PC后,把程序存储器1031H单元的内容送累加器A中.指令格式是由操作码 和 操作数 部分组成。4 . AT8 9S51单片机的串行口控制寄存器中有2个中断标志位,它们是T I 和RI. JNC rel指令执行时,当CY位为
2、0时程序发生跳转。5 .单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单 元的地址应当是 22H o.外部中断。的中断入口地址为0003H ,定期/记数器T1的中断入口地址为 001B H o6 .串行口工作方式2为9位异步通信,若SMOD=0, f osc=6MHz ,则其相应波特率 为 6X 106/ 64 b/ s1 1.堆栈应遵循先进后出规律.堆栈指针的符号为SP12、程序计数器PC存放的是下一条要执行指令的地址;(2)写出三位数码管显示“8” “1” “ 0 ”时(按上图由左至右显示为“810”),PA 口和PB 口分别送出的数据;“8” :0x7f
3、Ox f e ?1: 0x06 Oxfd?“0”: 0x3 f Ox f b?8 2 55控制字:特性位A组工彳上方式A 口入/出C 口高4位入/出B组工作 方式B 口入/出C 口低4 位入/出6、简述矩阵式8行2列键盘的工作过程,其中Pl 口连接8根行线,P3.0和P3. 1连接2 根列线。判断是否有键按下:先给列线P3.0和P3.1送低电平,然后读行线P1的值,判断P1是否为 0 xff;若Pl为Oxff则表达没有键按下,则返回重新判断是否有键按下;若P1不为Oxf f则表达有键按下,则延时10ms去抖动,再重新读行线P1 口,再次判断是否有键按下。若的确有键按下,则判断哪一个键按下:先给
4、第一根列线P 3.。送低电平,而P3.1送高电 平,然后读行线P1,判断P1是否为Oxf f ;若是则表达按下的键在这第一列;否则给第二 列P3.1送低电平,而P3.0送高电平,然后读行线P1,判断P1是否为Oxff,若是则表达按 下的键在这第二列;找到按键所在列后,再根据读到的行线值中0的位置从而判断按键所在 行线。拟定按键后,执行按键所相应的服务程序;然后等待键释放;按键释放通过给所有的列线P3.0 和P3.1送低电平,然后读行线Pl的值来进行判断;按键释放后再次延时去抖动,然后返回重 新判断是否有键按下。7、简述5 1单片机串行双机通信的过程,写明发送和接受时软硬件分别执行的操作。数据发
5、送时,在TI=O时,CPU将待发送数据送入SBUF,启动发送;数据由TXD引脚按位送 出,发送时钟由T1控制,最先送出起始位(0),然后依次是8位数据位(低位在前),最后是停 止位(1); 一帧数据发送完毕后,硬件自动将TI置1,向CPU请求中断;CPU接受到请求信 号后,需将TI清0,然后才干启动下一次发送。数据接受时,允许接受位REN必须置1,接受器开始工作;当接受到起始位(0),启动接受;在波 特率的控制下,把接受到的数据依次移入移位寄存器;当接受完一帧数据,将移位寄存器中的 数据送入SBUF,同时硬件自动将RI置1,向CPU请求中断。CPU接受到请求信号后,需将 RI清0,然后才干正常
6、接受下一帧数据。13、指令MOVXA, DPTR的寻址方式是 寄存器间接寻址14、MCS51访问ROM、片内RAM、片外RAM的指令助记符分别为MOVC 、MOV 和 MOVX o1 5、机器字长为8位,则10原 =8 AH, -10反 =F5H, -10# = F6H o16、已经累加器A二97H,则执行指令ADD。A. #7DH后.A二14H,C =1 ,OV t 0, AC =1 o二、单项选择题1 . AT8 9s 51单片机的(d) 口的引脚,还具有外中断、串行通信等第二功能。a) POb) Plc) P2d) P3.单片机应用程序一般存放在(b )a )RAMb) ROM c )寄
7、存器 d)CP U3,已知某数的BCD码为0 0 10则其表达的十进制数值为(b )a) 754 2 H b) 75 4 2c) 75.42H d) 7 5.42.下列指令中不影响标志位CY的指令有(d )oa) ADD A, 20Hb) CL Rc) RRC A d ) INC ACPU重要的组成部部分为(a )a)运算器、控制器b)加法器、寄存器c)运算器、寄存器 d)运算器、指令译码器4. AT 8 9S 5 1的CPU是(c )位的单片机a) 16b ) 47 .当需要从AT89 s 51单片机程序存储器取数据时,采用的指令为(b )。a) MOV A, R1b)MOVC A, A +
8、 DPTRc) MOVX A, ROc) MOVX A, ROd)MOVX A, DPTR8 . AT 8 9s51单片机中既可位寻址又可字节寻址的单元是(a )a ) 20Hb)3OH c ) OOH d )70H.下列哪条指令是对的的(d )a) PUSH R2b) ADD RO, Ac) MO VXoA DPTRd) MOV R0,A.要使累加器A的高4位置为000 0 ,低4位不变,以下指令对的的是B (A)ANL A, # 0 FOH (B) ANL A, #OFH KC)ORL A, #0F0Ho(D) ORL A, #0FII11 .运用串行口工作方式1进行异步串行通信,当其波特
9、率为4800bps,每秒最多能传送A 个字符。(A)480 KB)9 6 0。(C) 4800g(D) 9 6 0 0. C51中,要编写一个中断函数,则必须在函数名后加B修饰符。(A) void。 (B) interrupt(C) using(D) unsi g n e d. 51系列单片机系统中需扩展3 2KBy t e的片外RAM,则需要 C 片626 4 (8KX8bit)o(A) h( B) 2侬 (C) 4。( D ) 8.若单片机当前正在执行高优先级的中断服务,则以下能响应的中断是Do(A)高优先级中断。(B)同优先级中断(C)低优先级中断(D)以上都不能响应16.键盘的软件消除
10、键抖动是通过16.键盘的软件消除键抖动是通过来实现的。(A)加滤波器。(B)中断(C)延时。)加RS触发器三、写出实现下列各规定的指令或程序段1、将8 0H单元中的内容与数据4FH相比较,相等返回,不相等将8 0 H单元置FFH返回。MOV A,80HCJNE A, #4FH, BDSJMPL1BD: MOV 8 0H,#OFFHLI: RET2、外部RAM单元2 0 23H的内容传送到内部RAM单元70H;MOV DPTR, #2023HMO VXA, DPTRMOV7 0 H, A3、将3 2 H单元中内容的第7位取反后送给5011。MOV A, 3 2HCPL ACC.7MOV C ,
11、ACC. 7MO V 50H, C4、若(50H) =4 OH,试写出执行以下程序段后累加器A、寄存器R 0及内部RAM的40H、41H、42H单元中的内容各为多少? (5分)MOV A, 5 OH; (A) =40HMOV RO, A; (RO) =4 OHMOV A, #0 0 H; (A)=0MOV R 0 , A; (40H)=0MO V A, #3BH; (A) =3BHMOV 4111, A; (4111)-3BHMOV 42H, 41H; (4 2H)=3BH(A)= 3BH ;(A)= 3BH ;(R0)=40H;(4 0H)=0; (41H)=3BH:(42H)=3BH5、将
12、外部数据存储器3000H开始100个存储单元的内容存入3070开始的存储单元(9分)MOV DPT R #3 0 0 OHMOV P2,#3 0 HMOV RI, #70HMOV R5,#10 0L 1: MOVX A, DPTRMOVX R 1 , AINC RIINC DPTRDJNZ R5, LIRET四、读程序填空1. CLR CMOVA, 4DIISUBBA, , 4EHMOV 3 OH, AMOV A, 7FHSUBB A, 2BHMOV 3 1H, ASJMP $(1)该程序的功能是:两个16位数的减法:(7F4DH)-(2B4EH),结果存入内部RAM的30H和31H单元,31
13、H单元存差的高8位,30H单元存差的低8位若(4DH)=06H, (4EH)=05H, ( 7FH) =OAH, (2BH)=0 1 H则执行上述程序后(3 0H)=0 1则执行上述程序后(3 0H)=0 1Ho (31H)=09 Ho2. S TART: MO V RO , #4011MOV R7,#04HMOV A, R0LOOP: INC ROMOV 50H , R0CJNE A, 50 H , NEXTN EXT: JNC BIEIMOV A, 50HBIEI: DJNZ R7, LOOPMOV 3 OH, ARET(1)该程序的功能是:求出4 OH44H中最大的无符号数,并将最大数存
14、入30H中(2) 设(40H)= 12H,(41H) =22H , (42H)=6EH, (4 3 H)=5 AH ,(4 4 H) = 8AH,填写程序执行后的结果,(3 0 H)= 8A Ho3 ,已知(3 0H)=49H, (3 1 II)=2BII, (32I1)=OA3H,执行以下程序:MOV R7,# 4RRO: MOV R6, # 3C LR CMOV RO, # 30HRR1 : MOV A, R0MOV RO, AI NC RODJNZ R6 , RR1DJ NZ R7, RRORET从该程序可看出这段程序的功能是:将内RAM中30H32H的内容右移4位执行后结果:果0H)=
15、 04H, (31H) = 9 2H , (3 2H)= QBAH 。(3分)4、已知(A) =58H, ( 3 0H)=7FH,(P 1 )=EAH,执行下列程序:MOV SP, #40 HPUSH APU SH 30HMOV A,P 1MOV 30H,APOP 3 OHPOP A执行后结果:(SP)= 40H, (A)=58H, OOH)= 7FH , (41H) =58H o五、根据题意,按规定答题。1 .AT98S51单片机P 1 口上接8只发光二极管(高电平亮,低电平灭),若晶振频率是12MHz,用定期/计数器TO以工作方式1工作,使8只发光二极管每1 S单循环点亮。(1) 计算定期
16、初值,写出过程根据相关注释,填写程序答:(1)定期初值:(2 %-x) X 1 nS =50mSX= 2 ,6-5 0 0 0 0=15536(2) MOV TMOD,#01H(2) MOV TMOD,#01H;设T 0工作方式MOV DPTR, #15536;置定期初值50mSMOV TH0,DPHMOV TL0,DPLMOV A,#01HSETB TROLOOP: MOV R 7 , #2 0MOV Pl,ALOO P 1 : JNB T F 0 , $CLR TFOMOV TH0,DPHMOV TL0,DPLMOV A,#01HSETB TROLOOP: MOV R 7 , #2 0MO
17、V Pl,ALOO P 1 : JNB T F 0 , $CLR TFO;置A初值;允许定期;设定期次数;从Pl 口输出;判断定期50mS到没;定期时间到,TF0清0MOV TH0 , DPHMOV TLO, DPLMOV TH0 , DPHMOV TLO, DPL;重新置定期初值50mS;判断定期次数到没;输出左移;继续循环输出D JNZ R7,LOOP1RL ASJMP LOOPEND2、根据给定存储类型和数据类型,声明下列变量:(1)在片内RAM低1 2 8字节定义一个有符号整型变量val,初值为1 0 0;(si g n e d) in t d a ta val = 1 0 0 ;(2
18、)在R 0 M定义一个3元素的无符号字节数组num,数组内容分别为:12H, 3 4H,56;unsi g n e d char code num3 = 0 x 12, Ox 3 4, 56;(3)在片外RAM定义一个指向无符号字节类型的指针变量p;u n s i gned ch a r x d ata *p;3、根据下图进行分析。00P2. 7P2. 6P2. 5P2. 4P2. 0GlY5Y4Y3 8OOISW G2G3CBAALEP0Q7:Q0OE oozgswUA7AO A12A86264(l)CRjD7DO WE OE CE2A7Ao Al2A86264 (2)年 D7DO WE O
19、E CE2A7AO AirA86264 (3)国二)D7D0 WE OE CE2RDTO(1 )62 6 4是程序存储器还是数据存储器?数据存储器件(2 )写出三片6264所占的地址范围。0x6000Ox7fff, 0 x8 0000 0 x9 f ff;OxaO 0 0 Oxbfff4、5 1系列单片机中,运用82 5 5A扩展了 3个共阴极LED数码管,如下图所示。RSTP2. 0ALEPO EAOORDWRQ7Q6:QOOE wsw GD7:DORESETCSAlAOD7DO而WRLO z ooce01234567 aaaaaaaa pppppppp0 12 B B B pppup ab cd ef g db 1cdpDu(1)写出8255A的控制字;控制字:0x80