1、哈尔滨工业大学威海单片机原理及接口技术期末期终2009年7月单片机原理及接口技术期末班级: 姓名: 学号: 成绩: 一、填空题(20分,每小题2分)1、19D的二进制的补码表示为 11101101B 。2、89C51含 4KB 掩膜ROM, 128B的RAM,在物理上有 4个 独立的存储器空间。3、通过堆栈操作实现子程序调用,首先要把 PC 的内容入栈,以进行断点保护。调用返回时再进行出栈操作,把保护的断点弹回 PC 。4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中 8 块芯片。5、PSW中RS1 RS0=10H时,R2的地址为 12H 。6、假定DPTR的内
2、容为8100H,累加器A的内容为40H,执行下列指令:MOVC A,A+DPTR 后,送入A的是程序存储器 8140H 单元的内容。7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执行结果。 PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H POP DPH ;SP=60H,DPH=24H MOV A,#00H MOVX DPTR,A 最后执行结果是 执行结果将0送外部数据存储器的2410H单元 。8、在中断系统中,T0和T1两引脚扩展成外部中断源时,
3、计数初值应当是(TH)=(TL)= 0FFH 。9、12根地址线可寻址 4KB 存储单元。二、选择题(10分,每小题1分)1、MCS-51响应中断时,下面哪一个条件不是必须的 (C) (A)当前指令执行完毕 (B)中断是开放的 (C)没有同级或高级中断服务 (D)必须有RETI2、执行PUSH ACC指令,MCS-51完成的操作是 (A) (A)SP+1SP,(ACC)(SP);(B)(ACC)(SP),SP1SP (C)SP1SP,(ACC)(SP);(D)(ACC)(SP),SP+1SP3、89C51是 (C) (A)CPU (B)微处理器 (C)单片微机 (D)控制器4、关于MCS-51
4、的堆栈操作,正确的说法是 (C) (A)先入栈,再修改栈指针 (B)先修改栈指针,再出栈(C)先修改栈指针,再入栈 (D)以上都不对5、某种存储器芯片是8KB4片,那么它的地址线根数是 (B) (A)11根 (B)13根 (C)12根 (D)14根6、MOV C,#00H的寻址方式是 (A) (A)位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址7、必须进行十进制调整的十进制运算 (C) (A)有加法和减法 (B)有乘法和除法 (C)只有加法 (D)只有减法8、ORG 0000H AJMP 0040H ORG 0040H MOV SP,#00H 当执行完左边的程序后,PC的值是 (C)
5、 (A)0040H (B)0041H (C)0042H (D)0043H9、MCS-51复位时,下述说法正确的是 (D) (A)(20H)=00H (B)SP=00H (C)SBUF=00H (D)TH0=00H三、简答分析题(30分,每小题10分)1、简述89C51定时器的四种工作模式的特点,如何选择和设定。答:89C51定时器的四种工作模式有,模式1,模式2,模式3。模式0时:选择定时器的高8位和低5位组成13位定时器/计数器。TL低5位溢出时向TL进位,TH溢出时向中断标志位TF0进位,并申请中断。 定时时间t=(213初值)振荡周期12;计数长度为213=8192个外部脉冲。模式1时:
6、当TMOD中的M1M0置成01时,定时器工作于方式1,构成16位定时器/计数器。定时时间t=(216初值)振荡周期12;计数长度为216=65536个外部脉冲。模式2时:把TL0和TL1配置成一个可以自动重装载的8位定时器/计数器。TL担任8位计数器,TH保存初值,TL溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载在TL中。定时时间t=(28初值)振荡周期12;计数长度为28=256个外部脉冲。模式3时:方式3是两个8位定时/计数器模式,只适用于T0。TH0和TL0成为两个独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。TH0仅用作简单的内部定时功能,它
7、占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭受TR1的控制。T1无此模式。选择和设定:由定时器的2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两个8位寄存器,设置各个定时器的操作模式和控制功能。2、位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置?答:字节地址是片内RAM的单元地址,而位地址是片内RAM单元的某一位。 7CH字节地址RAM的7CH单元,而7CH位地址是RAM 2FH单元中的D4位。四、编程题(任选2题,20分,每题10分)1、编写一程序,实现下图中的逻辑运算电路。其中P3.1、P1.1、P1.0分别是单片机端口线上
8、的信息,RS0、RS1是PSW寄存器中的两个标志位,30H、31H是两个位地址,运算结果由P1.0输出。 ORG 0000HMOV C,P3.1 ANL C,P1.1 CPL C MOV 20H,C;暂存数据MOV C,30H ORL C,/31HANL C,RS1ANL C,20HANL C,RS0MOV P 1.0,C;输出结果SJMP $2、写一个软件延时1S和1min的子程序。设fosc=6MHz,则1个机器周期=2s。解:(1)1s=2s5105 5105=2502000=25020052ORG 0000H DELAY1S:MOV R5,#5DEL1: MOV R6,#200DEL2
9、: MOV R7,#250DEL3: DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1RET (3)1min=60S,调用上面1s子程序60次ORG 0100H DELAY1M:MOV R0,#60LOOP: LCALL DELAY1S DJNZ R0,LOOP RET3、编一子程序,从串行接口接受一个字符解: START: MOV TMOD,#20H ;定时器T1工作于模式2 MOV TH1,#0E6H ;设置波特率为1 200b/s MOV TL1,#0E6H SETB TR1 ;启动T1 MOV SCON,#50H ;串行接口工作于方式1,允许接收 L1: J
10、NB RI,L1 ;等待接收数据,末接收到数据,继续等待 CLR RI ;接收到数据,清RI MOV A,SBUF ;接收到数据送A RET五、设计题(任选1题,20分,评分标准硬件设计、程序设计各10分)1、利用89C51的P0口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔1s交替发光一次,周而复始。设计出硬件电路图,编写程序。解:(1)程序设计(设fosc=12MHz)ORG 0100H MOV A,#0FH ABC: MOV P0,A ACALL DELAY1S SWAP A SJMP ABC DELAY1S:MOV R5,#04DEL1:MOV R6,#250DEL2:
11、MOV R7,#250DEL3:NOP NOP DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1RET;END(2)硬件电路图如图:2、现有一蜂鸣器,用89C51设计一系统,使蜂鸣器周而复始地响20ms,停20ms,编程。解:设fosc=12MHz,电路图如下: 定时时间:应用公式t =(2X)foscX=216-t(fosc /12) =216-20000=45536=B1E0H程序清单:ORG 0000HLJMP STARTORG 0040H START:MOV TMOD,#01HMOV TL0,#OB1HMOV THO,#OE0HSETB TR0LOOP: J
12、NB TFO,DONECLR TF0DONE: MOV TL0,#OB1HMOV THO,#OE0HCPL P1.0SJMP LOOP2008年7月单片机原理及接口技术期末班级: 姓名: 学号: 成绩: 一、填空题(20分,每小题2分)1、十进制数47用8位二进制补码表示为 11010001B 。2、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。3、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为2073H。4、一个机器周期= 12时钟周期,一个时钟周期=2个振荡周期,一个振荡周期=1个节拍。5、用串口扩展并行口时,串行接口工
13、作方式应选为方式0。6、A/D转换器的三个最重要指标是转换速度、分辨率、转换精度。7、当89C51的RST引脚上保持2 个 机器周期以上的低电平,8051即发生复位。8、MCS-51中,外部中断请求标志位是IE0和IE1。9、假定(SP)=60H,(ACC)=30H,(B)=70H。执行下列指令: PUSH ACC PUSH B 后,SP的内容为 62H ,61H单元的内容为 30H ,62H单元的 内容为 70H。10、在直接寻址方式中,以 8 位二进制数作为直接地址,因此其寻址对象只限于 片内RAM 。二、选择题(10分,每小题2分)1、MCS-51在响应中断时,下列哪种操作不会发生 (A
14、) (A)保存累加器A (B)保护PC (C)找到中断入口 (D)保护PC转入中断入口2、MCS-51上电复位后,SP的内容是 (B) (A)00H (B)07H (C)60H (D)70H3、PC中存放的是 (A) (A)下一条指令的地址 (B)当前正在执行的指令 (C)当前正在执行的指令的地址 (D)下一条要执行的指令4、当8031外扩程序存储器8KB时,需使用EPROM 2716 (C) (A)2片 (B)3片 (C)4片 (D)5片5、可以为访问程序存储器提供或构成地址的有 (C) (A)只有程序计数器PC (B)只有PC和累加器A (C)只有PC、A和数据指针DPTR (D)PC、A
15、、DPTR和SP6、对程序存储器的读操作,只能使用 (D) (A)MOV指令 (B)PUSH指令 (C)MOVX指令 (D)MOVC指令7、下面哪种设备不是输入设备 (C) (A)A/D转换器 (B)键盘 (C)打印机 (D)扫描仪8、要访问MCS-51的特殊功能寄存器应使用的寻址方式是 (A) (A)直接寻址 (B)寄存器间接寻址 (C)变址寻址 (D)相对寻址9、执行MOVX A,DPTR指令时,MCS-51产生的控制信号 (C) (A)/PSEN (B)ALE (C)/RD (D)/WR10、下面哪种指令将MCS-51的工作寄存器置成3区 (B) (A)MOV PSW,#13H (B)M
16、OV PSW,#18H (C)SETB PSW.4 CLR PSW.3 (D)SETB PSW.3 CLR PSW.4三、简答分析题(30分,评分标准:每小题各10分)1、89C51单片机片内设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成?作定时器时,定时时间与哪些因数有关?作计数器时,对外界计数频率有何限制?答: 8051单片机片内设有2个定时器/计数器:定时器/计数器1和定时器/计数器0,由THO、TLO、TH1、TL1、TMOD、TCON特殊功能寄存器组成。作定时器时,定时时间与定时器的工作模式、定时器的计数初值以及单片机的晶振频率有关。作计数器时,对外界计数频率不能高于振荡频率
17、的1/24。2、简述程序状态字寄存器PSW中各位的含义。并说出选择工作寄存器组位的编码。答: 程序状态字寄存器PSW:程序状态字寄存器PSW:是一个8位寄存器,用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。定义格式如下。其中,CY:进借位标志;AC:辅助进借位标志; F0:软件标志;OV:溢出标志;F1:用户标志位;P:奇偶校验标志; RS1、RS0:工作寄存器组选择(如表所示)。表 工作寄存器组选择控制表RS1 RS0寄存器组对应RAM地址0 0000H07H0 1108 H0FH1 0210 H17H1 1318 H1FH3、阅读下列程序,并要求:(1) 说明程
18、序功能;(2) 写出涉及的寄存器及片内RAM单元的最后结果 MOV R0,#40HMOV A,R0INC R0ADD A,R0INC R0MOV R0,ACLR AADDC A,#0INC R0MOV R0,A 答:(1) 功能:将40H,41H单元中的内容相加结果放在42H单元,进位放在43H, (2) (R0)=43H; (A)=1; (40H)=98H,(41H)=AFH;(42H)=47H,(43H)=01H。四、编程题(任选2题,20分,评分标准:每小题各10分)1、将以7000H为首址的连续100个单元清零。解: MAIN:MOV DPTR,#7000H MOV R0,#100 C
19、LR A NEXT:MOVX DPTR, AINC DPTRDJNZ R0,NEXTRET2、在AT89S51片内RAM20H3FH单元中有32B数据,若采用方式1进行串行通讯,波特率为1200波特,fOSC=12MHz,编写发送/接收程序对。解:(1)T1工作于方式2作为波特率发生器,取SMOD=0,T1的计数如下: 波特率=1200=得: X=230=E6H (2)发送程序:(采用查询方式编程) ORG 0000H LJMP START ORG 0030H START:MOV TMOD,#20H MOV TH1,#0E6H MOV TL1,#0E6H SETB TR1 MOV SCON,#
20、40H MOV R0,#20H MOV R7,#32 LOOP:MOV SBUF,R0 JNB TI,$ CLR TI INC R0 DJNZ R7,LOOP SJMP $ (3)接收程序 ORG 0000H LJMP START ORG 0030H START:MOV TMOD,#20H MOV TH1,#0E6H MOV TL1,#0E6H Loop1: SETB TR1 MOV SCON,#50H MOV R0,#20H MOV R7,#32 LOOP:JNB RI,$ CLR RI MOV R0,SBUF INC R0 DJNZ R7,LOOP1 SJMP $3、设单片机采用89C51
21、,未扩展片外ROM,片外RAM采用一片6116,编程将其片内ROM从0100H单元开始的10B得内容依次外接到片外RAM从100H单元开始的10B中去。解: MOV R2,#00H ;源数据缓冲器地址偏移量00HMOV R3,#0AH ;字节长度R3MOV DPTR,#0100H ;源数据缓冲区首地址DPTRMOV A,R2 ;源地址偏移量 AL1: MOVC A,A+DPTR ;传送一个数据MOVX DPTR,AINC DPTR ;源地址(目的地址)加1DJNZ R3,L1 ;数据全部传送完?没传送完,转L1继续传送SJMP $ ;结束五、设计题(20分)设计89C51和ADC0809接口,
22、采集2通道10个数据,存入内部RAM的50H59H单元,画出电路图,编出程序,IN2的地址。解:硬件电路设计如图:(评分标准:10分)IN2的地址为7FFAH,P1.0查询转换结束信号。(评分标准:2分)程序设计如下:(评分标准:8分) ORG 0100H MOV R7,#0AH MOV R0,#50H MOV DPTR,#7FFAH NEXT: MOVX DPTR,A JB P1.0.$ MOVX A,DPTR MOV R0,A INC R0DJNZ R7, NEXT SJMP $2007年7月单片机原理及接口技术期末班级: 姓名: 学号: 成绩: 一、填空题(20分,评分标准:每小题各2)
23、1、十进制数29的8位补码表示为 11100011B 。2、MCS-51有 7 种寻址方式,特殊功能寄存器只能采用 直接寻址方式。3、MCS-51串行接口有 4 种工作方式,这可在初始化程序中用软件填写特殊功能寄存器 SCON 加以选择。4、MCS-51有 5个中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择。5、假定(A)=56H,(R5)=67H。执行指令: ADD A,R5 DA A后,累加器A的内容为 23H ,CY的内容为 1 。6、假定标号qaz的地址为0100H,标号qwe值为0123H(即跳转的目标地址为0123H)。执行指令: qaz:SJMP q
24、we 该指令的相对偏移量为 0123H0102H=21H 。7、MCS-51单片机访问片外存储器时,利用 ALE信号锁存来自 P0口的低8位地址信号。8、MCS-51单片机片内RAM的工作寄存器区共有 32个单元,分为 4 组寄存器,每组 8个单元,以 R0R7 作为寄存器名。9、MCS-51单片机中 P0 口作地址/数据总线,传送地址码的 低8 位; P2 口作地址总线,传送地址码的 高8 位。二、选择题(20分,评分标准:每小题各2分)1、在中断服务程序中,至少应有一条 (D) (A)传送指令 (B)转移指令 (C)加法指令 (D)中断返回指令2、ORG 2000H LCALL 3000H
25、 0RG 3000H RET 左边程序执行完RET指令后,PC= (C)(A)2000H (B)3000H (C)2003H (D)3003H3、要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是 (A) (A)98H (B)84H (C)42H (D)22H4、若某存储器芯片地址线为12根,那么它的存储容量为 (C) (A)1KB (B)2KB (C)4KB (D)8KB5、下面哪种外设是输出设备 (A) (A)打印机 (B)纸带读出机 (C)键盘 (D)A/D转换器6、下面哪一个部件不是CPU的指令部件 (C) (A)PC (B)IR (C)PSW (D
26、)ID7、以下运算中对溢出标志OV没有影响或不受OV影响的运算是 (A) (A)逻辑运算(B)符号数加减法运算(C)乘法运算(D)除法运算8、以下指令中,属于单纯读引脚的指令是 (C) (A)MOV P1,A (B)ORL P1,#0FH (C)MOV C,P1.5 (D)DJNZ P1,short-lable9、在异步通讯接口,其帧格式由1个起始位(0)、7个数据位、1个偶校验和1个停止位“1”组成。当该接口每分钟传送1800个字符时,传送波特率为 (D) (A)1800b/s (B)10b/s (C)3000b/s (D)300b/s10、各中断源发出的中断请求信号,都会标记在MCS-51
27、系统的 (B) (A)TMOD (B)TCON/SCON (C)IE (D)IP三、判断题(10分,评分标准:每小题各1分)1、MCS-51的程序存储器只是用来存放程序的。 ()2、当MCS-51上电复位时,堆栈指针(SP)=00H。 ()3、判断以下指令段的正误。 () MOV P2,#30H MOV R2,#57H MOVX A,R2 4、0070H 80 FE HERE:SJMP HERE 执行该指令后,程序将原地踏步。 ()5、51单片机内部有两片寄存器,既是工作寄存器和专用寄存器,因在同片内RAM,则它们是统一编址。 ()6、要进行多机通讯,MCS-51串行接口的工作方式应选方式1。
28、 ()7、定时器工作于方式2,若GATE=1、TR0=1、INT0=1就可启动定时/计数器。 ()8、使用89C51且/EA=1时,仍可外扩64KB的程序存储器。 ()9、MCS-51的相对转移指令最大负跳距是127B。 ()10、PC存放的是当前正在执行的指令。 ()四、简答分析编程题(任选3题,30分,评分标准:每小题各10分) 1、89C51单片机片内设有几个定时器/计数器?它们是由哪些SFR组成?定时器/计数器作定时和计数时,其计数脉冲分别由谁提供?答:89C51单片机片内设有2个定时器/计数器:定时器/计数器0和定时器/计数器1。由TH0、TL0、TH1、TL1、TMOD、TCON特
29、殊功能寄存器组成。 作定时器时,计数脉冲来自单片机内部,其频率为振荡频率的1/12;作计数器时,计数脉冲来自单片机外部,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。2、简述89C51单片机的中断响应过程。答:单片机如查询到某个中断标志为1,将按优先级进行中断处理。中断得到响应后 ,对于有些中断源,CPU在响应中断后会自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。3、编程实现多字节无
30、符号数加法解:编程说明:多字节运算一般是按从低字节到高字节的顺序依次进行的入口:(R0)=被加数低位地址指针(R1)=加数低位地址指针(R2)=字节数出口:(R0)=和数低位地址指针程序清单如下: ADDBIN:CLR C LOOP1:MOV A,R0ADDC A,R1MOV R0,AINC R0INC R1DJNZ R2,LOOP1JNC LOOP2MOV R0,#01HRET LOOP2:DEC R0RET4、将定时器/计数器做脉冲信号发生器。编程利用定时器T0定时,在P1.0端输出周期性方波信号,方波周期为2ms,已知晶振频率为6MHz。答: 1)T0工作模式的设定: 选择模式1(16位方式)(最大定时131ms) 2)定时初值的设定: X=216-(1ms6106/12 )=65036=FE0CH,即:TH0应装0FEH,TL0应装0CH。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1