试题 8 一、填空 1.执行 MOVX @R1,A 指令时,伴随着( )控制信号有效。 2.AT89S51 单片机复位时,PC 指针的内容为( ),4 个端口寄存器 P0~ P3 中的内容 为( )。 3.PSW 寄存器中的 AC 标志位,称为( ) 标志位,是用于( )运算时, 用作( )。 4.AT89S51 单片机采用外部时钟电路时,( )引脚应悬空。外部振荡器输出的时钟 信号接( )引脚。 5.设计一个以 AT89S51 单片机应用系统,如果仅使用其内部 4KB 闪存作为程序存储器, 则其( )引脚应该接( )。 6.当 AT89S51 单片机复位后,中断优先级最高的中断源是( )。 7.已知8段共阳极LED数码管要显示字符“5”(a段为最低位),此时的段码为( )。 8.在 R7 初值为 FF 时,DJNZ R7,rel 指令将循环执行( )次。 9.某数据存储器 62128 芯片的地址线为( )条,那么它的存储容量为( )。 假设 62128 的起始地址为 6000H,它的末地址为( )。 10.当时钟频率为 12MHz 时,定时器 T0 方式 2 下的最大定时时间为( )。 11. 若 ( ) 中的内容为 68H ,那么 P 标 志 位 为 ( ) 。 12.( )单片机片内有 8K 字节的闪烁存储器,有( )字节的片内 RAM 单元。 13.以 AT89S51 为核心的单片机最小系统,除了要有单片机外,还要有( )电路和 ( )电路。 14.当 AT89S51 执行 MOVC A,@A+DPTR 指令时,伴随着( )控制信号有效。 15.AT89S51 单片机跳转指令 LJMP 的跳转范围是( ),AJMP 的跳转范围是( )。 16.AT89S51 单片机与慢速外设进行数据传输时,最佳的数传方式是采用( )。 17.单片机从调用的子程序返回时,必须执行的返回指令是( )。 18.AT89S51单片机控制LCD显示英文字符或数字字符时,要把欲显示字符的( )码 送给LCD控制模块。 19.如果定时器的启动和停止要由两个信号TRx(x=0,1)和 INT x (x=0,1)来共同控制, 此时寄存器TMOD中的GATEx(x=0,1)位必须为( )。 20.串行口方式 3 接收数据时,( )寄存器的( )位必须为 1,接收到的第 9 位
数据进入到该寄存器的( )位中。 21.D/A 转换器的两个最重要的技术指标为( )和( )。 22.某 10 位 A/D 转换器的转换电压范围为 0∼10V,其分辨率为( )mV。 23.AT89S51 单片机访问片外数据存储器的寻址方式是( )。 24.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为( )MHz。 二、判断,在后面的括号中填入“√”或“×” 1.单片机扩展 I/O 接口芯片,要占用片外数据存储器的地址资源。( ) 2.单片机的功能侧重于测量和控制,DSP 侧重于高速、复杂运算。( ) 3.AT89S51 单片机进行串行通讯时,定时器方式 2 能产生比方式 1 更低的波特率。 ( ) 4.同为高中断优先级,外部中断 0 能打断正在执行的外部中断 1 的中断服务程序。 ( ) 5.在 AT89S51 单片机的汇编语言中,操作码是唯一不能空缺的部分。( ) 6.软件延时程序比定时器的定时更精确。( ) 7.中断服务子程序可以直接调用。( ) 8.特殊功能寄存器 TCON,仅与定时器/计数器的控制相关。( ) 9.LED 数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。( ) 10.数据指针 DPTR 只用于访问数据存储器。( ) 11.如果只有一路模拟量输出,DAC0832 可以采用单缓冲方式,如果有多路模拟量输 出,DAC0832 则必须采用双缓冲方式。( ) 12.AT89S51 单片机的 P1 口如果作为输入端口使用时,必须先向 P1 口写入 FFH。 ( ) 13.并行接口芯片 82C55 的方式 0 是无条件的输入输出方式。( ) 14.指令中直接给出的操作数称为直接寻址。( ) 15.AT89S51 片内 RAM 的位寻址区,只能进行位寻址,不能进行字节寻址。( ) 16.“INC A”和“DEC A”指令不影响程序状态字 PSW 中的任何标志。( ) 三、简答 1. 在中断服务程序中为什么需要保护现场和恢复现场?
2.AT89S51单片机定时器T0的方式2是多少位的定时/计数器?简述其工作过程。 四、AT89S51 单片机与 3 位 8 段共阳极 LED 相接,静态显示。 1.分别写出显示字符“1.”、“2”、“3”的段码,注:段码的最低位为“a”段,段码的最 高位为“dp”段; 2.已知 82C55 的 PA 口、PB 口和 PC 口的地址分别为 FF7CH、FF7DH、FF7EH,且 82C55 的 这 3 个端口均已被编写完毕的初始化程序初始化为方式 0 输出,请编写出使 3 位 LED 共 阳极显示器从左至右显示“1.23”的程序段。 a b c d e f g ● dp 82C55 PA PB PC 来自 AT89S51 · · · +5V º
五、AT89S51 单片机通过 ADC0809 进行模数转换,采用中断控制方式,请回答: 1.标出图中①、②、③所对应的引脚符号; 2.填写程序或注释中的空白部分 a~f ; 3.程序中的“#addr”为模拟输入的端口地址,当单片机分别对“IN0”、“IN3”和“IN7” 进行模数转换时,写出对应的“#addr”的取值(注意:地址线未用到的位为 1)。 ORG 0000H AJMP MAIN ORG 0013H ; a 的中断入口地址 b ;读 A/D 转换结果 RETI ORG 0100H MAIN: SETB IT1 ; c 触发方式选择 SETB d ;总中断允许 SETB e ;允许中断 MOV DPTR,#addr ;指向某一模拟输入通道 f ;启动 A/D 转换 SJMP $ ;等待中断 六、请回答: 1.下图中单片机外部扩展的程序存储器和数据存储器容量各是多少? 2.三片存储器芯 片的地址范围分别是多少?(地址线未用到的位为 1)
3.请编写程序,将内部 RAM 40H~4FH 中的内容送入 1# 6264 的前 16 个单元中;