1、1A1武汉理工大学试卷(闭卷 A)课程名称 单片机原理与应用 专业年级 电子信息工程 07 级题号 一 二 三 四 五 六 七 八 九 十 总分题分 15 15101 20 30 20 备注:答题一律写在答题纸上并连同试卷一起上交。一填空题 (每空 1 分, 共 15 分)1. 1 个机器周期由( )个状态周期及( )个振荡周期组成。2MCS-51 单片机的外部数据存储器和外部 I/O 口实行( )编址,并使用相同的选通控制信号,均使用( )指令访问。3. 51 系列单片机内部数据存储器地址范围为 007FH。地址的前( )个单元称为寄存器区。可用作( ) ;R0 与 R1 可作( )使用。4
2、. 8XX51 单片机的堆栈设在内部 RAM 区,深度不大于( ) ,初始化时 SP 指向( ) 。5对于串行口中断,CPU 响应中断后,没有用硬件清除( )标志 TI、RI,必须用( )清除。6. 中断处理的过程分为 4 个阶段:( ) 、 ( ) 、 ( )和( ) 。二简答题(每小题 3 分,共 15 分)1. 在 51 系列单片机的汇编指令集中,有哪些寻址方式? 2. 8051 单片机的 PSEN、RD、WR 信号分别是什么功能?可由哪些指令产生?3. 若 51 系列单片机进行了系统扩展,其 P0,P2 还能作为 I/O 口用吗?它们在系统扩展后的功能是什么?4. 定时/计数器的启动与
3、 GATE 控制位有何关系?请作简单说明。5. MXX51 系列单片机的中断系统共分几类优先级?如何设定?三、程序设计(每小题 10 分,共 20 分)1. 双字节的被加数、加数分别存放在 R1R0、R7R6 中,请编写程序,实现双字节加法运算,要求 R1R0+R7R6(32H)(31H)(30H),其中,R0、R6、(30H) 分别表示被加数、加数以及和的最低位。2. 片内 RAM 地址为 50H-5FH 的单元中存放着 16 个无符号数,请按从小到大的顺序依次排列它们。A22四接口应用与扩展(每小题 15 分,共 30 分)1. 用 8XX51 的 P1 口接 8 个 LED 发光二极管,
4、由 接一消抖开关产生INT1中断请求信号,开始 P1.0 的 LED 亮,以后每中断一次,下一个 LED 亮,顺序下移,且每次只一个 LED 亮,周而复始。试画出电路图,并编制程序。2. 在 8XX51 单片机上扩展 1 片 EPROM27128(16KB8) ,1 片 RAM6264(8KB8)和 1 片 8255,采用线选法,画出扩展原理图,并写出各芯片的地址范围。五综合题(20 分)设 8XX51 采用的晶振为 6MHz。设计 8XX51 和 DAC0832 接口,要求访问DAC0832 的接口地址为 F7FFH,满量程输出电压为 5V,采用单缓冲工作方式。试完成下述工作:1. 画出满足
5、题设要求功能的电路图。 (5 分)2. 编程使其输出具有幅值为 3V,周期为任意的三角波。 (4 分)3. 编程使其输出具有幅度为 4V,周期为 2ms 的方波,且方波周期的时间由定时器 T0 实现。 (5 分)4. 周期为 6ms 的阶梯波,如图所示,阶梯的电压幅度分别为 0V,1V,2V,3V,4V,5V,每一阶梯为 1ms,且每一阶梯的宽度所需的时间由定时器 T1实现。 (6 分)第五题 4 小题图5 V0 VtV1 m s 1 m s 1 m s3武 汉 理 工 大 学 教 务 处试题标准答案及评分标准用纸课程名称 单片机原理及应用 ( A 卷)一 填空题 (每空 1 分, 共 15
6、分)1. 6,122统一,MOVX 3. 32,通用寄存器,间址寄存器4. 128 字节,07H5中断请求,软件6. 中断请求、中断响应、中断处理、中断返回二 简答题(每小题 3 分,共 15 分)1. 答:有立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。2. 答:PSEN 为读片外 ROM 存储器信号、RD 为读片外 RAM 存储器或 I/O 空间地址信号、WR 为写片外 RAM 存储器或 I/O 空间地址信号。PSEN 信号由 MOVC A,DPTR+A 指令或取指令时产生,RD 信号由MOVX A,DPTR 指令产生, WR 信号由 MOVX DPTR,A
7、 指令产生.3. 答: 51 单片机片若进行了系统扩展,则 P2 用作 16 位地址总线中的高 8 位,P0 用作 16 位地址总线中的低 8 位和 8 位数据总线。由于随时要对总线上设备进行访问,故 P2、P0 不能用作一般的I/O 口。4. GATE=0 时,定时/计数器的运行只受 TCON 中运行控制位 TR0/TR1 的控制。当 TRX=1 时,即可启动定时器/计数器工作。GATE=1 时,定时/计数器的运行同时受 TR0/TR1 和外中断输入信号的双重控制。当 TRX=1,且 =1 时,可启动定时器/计数器工作。INTx5. MXX51 中断系统共分 2 类优先级。其中断源的优先级由
8、 IP 寄存器管理,一个中断源对应一位,如果对应的位置“1” ,该中断源优先级别高,如果对应的位置“0” ,该中断源优先级别低。当某几个中断源在 IP 寄存器相应位同为“1”或同为“0”时,由内部查询确定优先级,优先响应先查询的中断请求。CPU 查询的顺序是: 、T0、 、T1 、TI/RIIT0IN1三、程序设计(20 分)1. 双字节的被加数、加数分别存放在 R1R0、R7R6 中,请编写程序,实现双字节加法运算,要求R1R0+R7R6(32H)(31H)(30H),其中,R0、R6 、(30H)分别表示被加数、加数以及和的最低位。(10 分)解: 注意两高字节相加应加低字节相加时的进位,
9、同时,要考虑最高为的进位。ORG 0000HMOV A, R0ADD A,R6 (2 分)MOV 30H, AMOV A, R7ADDC A, R1MOV 31H, A (4 分)MOV A, #0ADDC A, #0MOV 32H, A (2 分)SJMP $END (2 分)42. 片内 RAM 地址为 50H-5FH 的单元中存放着 16 个无符号数,请按从小到大的顺序依次排列它们。(10 分)ORG 0000HSTART: CLR 00HCLR CMOV R7, #10HMOV R0, #50HMOV A,R0 (2 分)LOOP: INC R0MOV R2, ASUBB A,R0MO
10、V A, R2JC NEXTSETB 00HXCH A,R0DEC R0XCH A,R0 INC R0 (6 分)NEXT:MOV A,R0DJNZ R7,LOOPJB 00H,START SJMP $END (2 分)四接口应用与扩展(每小题 15 分,共 30 分)1. 用 8XX51 的 P1 口接 8 个 LED 发光二极管,由 接一消抖开关产生中断请求信号,开始 P1.0INT1的 LED 亮,以后每中断一次,下一个 LED 亮,顺序下移,且每次只一个 LED 亮,周而复始。试画出电路图,并编制程序。(15 分)E AP1 . 0P1 . 78I N T18 9 C 5 1+ 5 V
11、k1题四(1)图 (5 分)ORG 0000HAJMP MAINORG 0013HRL A ;中断程序MOV P1,ARETI (5 分)MAIN:MOV A,#0FEHMOV P1, A ;第一灯亮SETB EASETB EX1SETB IT1SJMP $END (5 分)2. 在 8XX51 单片机上扩展 1 片 EPROM27128(16KB8 ) ,1 片 RAM6264(8KB8)和1 片 8255,采用线选法,画出扩展原理图,并写出各芯片的地址范围。56 2 6 4P2 . 0P2 . 58 X X 5 1P0A L EW RR DP2 . 6P2 . 7E AP S E N7 4
12、 L S3 7 3O EG2 7 1 2 8A0A7A8A1 3O EC SD0D7W RA0A7A8A1 2O E C SD0D78 2 5 5R DW RA0A1P AD0D7C EP B P C题四图(2) (5 分)P2.7 P2.6 A15 A14 A13 A12 0 0 0000H3FFFH (27128) (3 分)1 0 1 8000HBFFFH (6264) (4 分)0 1 1 1 1 1 1 1,1 1 1 1,1 1 7FFCH7FFFH (8255) (3 分)五综合题(20 分)设 8XX51 采用的晶振为 6MHz。设计 8XX51 和 DAC0832 接口,要求
13、访问 DAC0832 的接口地址为 F7FFH,满量程输出电压为 5V,采用单缓冲工作方式。试完成下述工作:1. 画出满足题设要求功能的电路图。 (5 分)2. 编程使其输出具有幅值为 3V,周期为任意的三角波。 (4 分)3. 编程使其输出具有幅度为 4V,周期为 2ms 的方波,且方波周期的时间由定时器 T0 实现。 (5 分)4. 周期为 6ms 的阶梯波,如图所示,阶梯的电压幅度分别为 0V,1V,2V,3V,4V ,5V,每一阶梯为 1ms,且每一阶梯的宽度所需的时间由定时器 T1 实现。 (6 分)解:1. 单缓冲工作方式的电路图如下:W RP0P2 . 38 X X 5 1D0D
14、7X F E RC SW R1W R2RF BIO U T 1IO U T 2A G N DD G N DV0RW+ 5 V- 5 VD A C 0 8 3 2VC CVR E FI L E题五图 (5 分)3V 模拟量对应的数字量为: 5V/3V = 255/X, X=153=99H。6同理:1V 时,X=33H;2V 时, X=66H;4V 时,X=CCH2. 三角波 (4 分)ORG 0000HMAIN:MOV DPTR,#0F7FFHNEXT1:MOV A,#0NEXT:MOVX DPTR,ANOPNOPINC ACJNZ A,#99H,NEXT (2 分)NEXTA:MOVX DPT
15、R,ANOPNOPDEC ACJNE A,#0,NEXTA SJMP NEXT1 (2 分)END3. 方波 (5 分)4V 对应的数字量为 CCH机器周期 MC = 12/fosc = 2us应计脉冲的个数:2ms/2us = 1000 =3E8H采用方式 1 时,16 位定时计数(1000)补 = (65536-1000 )= FC18H (FCH 18H) ,TMOD = 01H采用方式 0 时,13 位定时计数(1000)补 = (8192-1000)= 1C18H = 0001 110 0 000 1 1000 (E0H 18H) ,TMOD = 01HORG 0000HAJMP M
16、AIN000BHAJMP INVTORG 0030HMAIN:MOV TMOD,#01H;T0 定时方式 1MOV TH0,#0FCHMOV TL0,#18H SET ET0SET EASETB TR0MOV DPTR, #0F7FFH MOV A,#0MOVX DPTR,A (3 分)SJMP $INTV:MOV TH0,#0FCHMOV TL0,#18HXRL A,#0CCHMOVX DPTR,A (2 分)RETI4. 阶梯波 (6 分)4V 对应的数字量为 CCH机器周期 MC = 12/fosc = 2us应计脉冲的个数:1ms/2us = 500 采用方式 1 时,16 位定时计数
17、(500)补 = (65536-500 )= FE0CH (FEH 0CH) ,TMOD = 10H采用方式 0 时,13 位定时计数(500)补 = (8192-500)= 1E0CH = 0001 111 0 000 0 1100 (F0H 0CH ) ,TMOD = 10HORG 0000H7AJMP MAIN001BHAJMP INVTORG 0030HMAIN:MOV TMOD,#10H;T1 定时方式 1MOV TH1,#0FEHMOV TL1,#0CHSET ET1SET EASETB TR1MOV DPTR, #0F7FFHNEC:MOV A,#0MOVX DPTR,ASJMP $ ( 2 分)INTV:MOV TH1,#0FEHMOV TL1,#0CHCJNE A,#0FFH,NEXTAMOV A,#0SJMP NEXTBNEXTA:ADD A,#33HNEXTB:MOVX DPTR,ARETI (4 分)END