一、选择题

@DPTR是16位的,所以寻址范围是64KB

R1是8位的,只能寻址256
访问内部ROM只能用MOVC指令

一个指令周期是时钟周期的1/12
12个时钟周期是一个机器周期
单指令周期是指一个机器周期
T = 1 / f
12MHz ~ 1us

- 13位计数
- 16位计数
- 8位自动重装载
- 双8位计数器

内部RAM可以位寻址的一共16个字节

工作寄存器一共32个字节

中断优先级的优先级一样时,有默认查询顺序

方式2→3位自动重装载
6MHz ~ 2us
200us / 2us → 100 → 64H

51单片机有5个中断

51单片机高电平复位,所以正常工作时应该是低电平
二、简答题
三、指出下列指令中源操作数的寻址方式及指令实现的功能

四、如果系统时钟为12MHz,计算下面的程序段的执行时间

双周期指令执行一次 2us
$表示R6要减到0,循环才会结束,继续往下执行
R6的初始值即为学号
五、编写实现下列功能的程序

ROM没有内部外部之分
外部ROM → A → 外部RAM
MOVC A @A+DPTR(或PC)因为此处的地址已知,所以最好使用DPTR(外部ROM → A)
MOVX和DPTR(A → 外部RAM)
因为@A+DPTR,A和DPTR的值共同决定2000H这个地址,所以A需要赋初值

RR是单字节位移
先将70HD额内容备份到A中,再将71H的内容放入70H中,然后将72H的内容放入71H中,以此类推,最终将A的数据存入75H中。
DIV AB //AB相除
用R0建址
六、阅读程序,写出程序执行的最终结果
ORL 或运算
RR循环移位
ANL 与运算

x是学号的十位 y是学号的个位

RS0 和 RS1 均置零,决定要用0组的工作寄存器 R0~R7
CJNE 不等的时候跳转 相等的时候不跳转继续按顺序执行
七、画出单片机AT89C51能够正常工作的最小系统图

八、根据程序功能,画出P1口每个引脚输出的波形,每小格代表500ms
第一个数是18H,第二个数是42H,倒着的
DJNZ不等于0循环