一、单选题 (每题2分,共20分)
- 在80C51中,指令
ANL
P1, #0FH 执行时,读取P1口数据的来源是? A. P1端口的物理引脚 B. P1端口的输出锁存器 C. 累加器A D. 程序状态字PSW
- 若80C51单片机在执行一条双周期指令(如
LJMP
)的第一个周期时,一个高优先级的外部中断请求有效,CPU会在何时响应中断? A. 立即暂停当前指令,响应中断 B. 执行完当前指令的第一个周期后响应中断 C. 执行完整个LJMP
指令后响应中断 D. 忽略该中断请求
- 在Cortex-M处理器中,读取程序计数器PC的值,得到的是
当前指令地址 + 4
,这是由什么原因造成的? A. 内存地址对齐的要求 B. 编译器的优化 C. 处理器的三级流水线结构 D. 为了兼容旧的ARM指令集
- Cortex-M处理器中,
MOV R0, R1
和MOVS R0, R1
指令的主要区别在于? A.MOVS
只能用于16位指令 B.MOVS
执行速度更快 C.MOVS
会根据传送的数据更新APSR中的N和Z标志位 D.MOVS
可以操作特殊功能寄存器
- 80C51单片机响应中断后,硬件会自动完成一系列操作,但不包括以下哪一项? A. 将PC内容压入堆栈 B. 根据中断源跳转到对应的中断向量地址 C. 将当前PSW内容压入堆栈 D. 封锁同级和低级中断
- Cortex-M处理器支持非对齐内存访问,但这通常会导致什么后果? A. 无法访问数据 B. 产生一个硬件错误(HardFault) C. 处理器需要执行多次总线操作,降低了访问效率 D. 必须在特殊模式下才能工作
- 要将Cortex-M处理器的一个GPIO引脚(如PA5)设置为通用推挽输出模式,需要配置哪个寄存器?
A.
GPIOA->MODER
B.GPIOA->OTYPER
C.GPIOA->PUPDR
D.GPIOA->BSRR
- 80C51的定时器工作在方式3时,定时器0(T0)被拆分为两个独立的8位定时器。此时,如果TH0溢出,它将置位哪个中断标志位? A. TF0 B. TF1 C. 它不置位任何标志位 D. 同时置位TF0和TF1
- 在Cortex-M的NVIC中,若两个中断的抢占优先级相同,但响应优先级不同,当它们同时触发时,系统会如何处理? A. 响应中断向量地址较小的中断 B. 响应响应优先级较高的(即数值较小的)中断 C. 随机响应一个 D. 产生一个总线错误(BusFault)
- 80C51的
CJNE A, direct, rel
指令执行后,若A
的内容小于direct
单元的内容,进位标志CY的状态是? A. CY = 1 B. CY = 0 C. CY状态不变 D. CY被随机置位
二、判断题 (每题2分,共20分)
- 80C51单片机的P0-P3端口在复位后都处于高电平状态,可以直接用作输入口读取外部电平。( )
- 在Cortex-M中,执行
PUSH {R0, R1}
指令后,主堆栈指针MSP的值会减8,并且地址较低的内存单元存放的是R0的内容。( )
- 80C51的变址寻址指令
MOVC A, @A+PC
,其基址寄存器PC的值是该MOVC
指令的下一条指令的地址。( )
- Cortex-M处理器从地址0x00000000处获取MSP的初始值,从0x00000004处获取复位向量,该向量地址的最低位(bit0)必须为1。( )
- 80C51串行口工作在方式1,要实现2400的波特率,若SMOD=1,其效果等同于晶振频率加倍后SMOD=0时的设置。( )
- Cortex-M的堆栈模型是“向下生长的满栈”,意味着SP总是指向栈顶最后一个有效数据单元。( )
- 80C51执行
ACALL
指令与响应中断时,都需要将断点地址压栈,这两个断点地址的含义是完全相同的。( )
- 在STM32中,通过访问位段别名区的一个字地址,可以实现对位段区中一个特定比特位的“原子”读写操作。( )
- 80C51中,指令
XCH A, @R0
和XCHD A, @R0
都实现了累加器A和R0所指向的RAM单元之间的数据交换。( )
- Cortex-M的链接寄存器LR(R14)只在发生函数调用(如BL指令)时才会被自动更新。( )
三、填空题 (每空2分,共20分)
- 在Cortex-M处理器中,一个32位的字变量,如果其起始地址是
0x20000006
,则这种访问称为 ________ 访问,处理器需要执行两次总线操作来读取它。
- 在80C51中,若要实现对片内RAM高128字节(地址80H-FFH)的访问,必须采用 ________ 寻址方式。
- Cortex-M的通用寄存器中,________ 到 ________ 被称为低寄存器,可以被所有的16位Thumb指令访问。
- 80C51的定时器T1用作串行口波特率发生器时,最常用的工作方式是方式2,即________模式。
- 在Cortex-M处理器的Thumb-2指令集中,
MOVW
指令用于加载一个16位数到寄存器的________,而MOVT
指令用于加载一个16位数到寄存器的________。
- 80C51的P3口是准双向I/O口,当它被用作输入时,必须先向其端口锁存器写入 ________ ,以关断上拉的P-MOS管。
- Cortex-M处理器响应一个中断时,硬件会自动压栈,保存包括R0-R3、R12、________、PC和xPSR在内的8个寄存器。
- 80C51的PCON寄存器中的 ________ 位可以使串行通信的波特率加倍。
四、51单片机程序填空题 (每空1分,共30分)
1. 查表求平方
2. 外部中断计数
3. 数据块清零
4. 串行口发送单个字符'Y'
5. 寻找数据块最大值
6. 软件延时