.
A.2MHz B.1MHz C.500KHz D.250KHz
8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为(A )。
A.06H B.F9H C.30H D.CFH
9.下列数据字定义的数表中,(C )是错误的。 A.DW“AA” B.DW“A” C.DW“OABC” D.DWOABCH
10.串行口的控制寄存器SCON中,REN的作用是( C )。 A.接收中断请求标志位 B.发送中断请求标志位 C.串行口允许接收位 D.地址/数据位 三、简答题(每小题4分,共20分)
1.简述堆栈。
(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。 (2)用MOV SP,#STK指令建立堆栈。 (3)存放数据按“后进先出”原则进行。
(4)利用PUSH、POP指令即可进行进栈、出栈操作。 2.简述变址寻址方式并举例说明。
(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。
(2)变址寻址只能对移定存储器寻址,其指令只有三条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR
前二条为查表指令,后一条为无条件转移指令
..
.
3.简述中断响应的主要内容。
由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为: (1)将程序计数器PC的内容(断点)压栈
(2)将中断入口地址装入PC,转去执行中断服务程序
4.简述汇编语言中的标号有什么规定
(1)标号由1—8字符组成,头一个字符必须是字母。 (2)不能使用汇编语言已定义的符号。 (3)标号后必须跟冒号:
(4)同一标号在一个程序中只能定义一次。
5.A/D转换器转换数据的传送有几种方式 四、读程序(每小题4分,共20分) (1)定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。 (2)查询方式:A/D启动后,查询EOC(转换结束信号),转换一完成即可读取转换数据。 (3)中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。
四、读程序
1.执行下列程序段中第一条指令后,(1)(P1.7)= 0 (P1.3)= 0 (P1.2)= 0 ;执行第二条指令后,(2)(P1.5)= 1 ,(P1.4)= 1 ,(P1.3)= 1 ANL P1,#73H ORL P1,#38H
2.下列程序段执行后,(A)= 0DH ,(B)= 11H . MOV A,#0FBH MOV B,#12H DIV AB
3.下列程序段执行后,(R0)= EH ,(7EH)= FFH ,(7FH)= 3FH . MOV R0,#7FH MOV 7EH,#0
..
.
MOV DEC DEC DEC 7FH,#40H @R0 R0 @R0
4.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)= 0BH ,内部RAM(0AH)= 67H ,(0BH)= 45H PUSH DPL PUSH DPH
5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间 MOV R3,#100;1 LOOP:NOP ;1 NOP NOP
DJNZ R3,LOOP ;2 RET ; 2
一个机器周期为2μs
执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms 五、编程题(每小题4分,共20分)
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0 先进行与操作,再进行或操作程序如下:
MOV C,ACC.1 ANL C,P2,0 MOV 12H,C
MOV,C,A CC.2 ANL C,P2.7 ORL C,12H MOV P1.5,C RET
2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1. MOV R2,#10
MOV DPRT,#TABLE
LOOP: MOV X A,@DPRT;取一数 ORL A,#80H;最高位置1
..
.
MOV X @DPTR,A;写回原地址 1NC DPTR;处理下一单元 DJNZ R2,LOOP RET
3.已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。 MOV R0,#30H
MOV R1,#00H MOV R2,#20H
LOOP: MOV A,@R0;取数 MOV X @R1,A;存数 1NC R0 1NC R1 DJNZ R2,LOOP RET
4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。
利用移位指令作除8操作,程序如下: MOV R2,#3 LOOP:CLR C MOV A,R3
RRC A ;高字节除以2,末位移入C,高位补0 MOV R3,A ;暂存高字节 MOV A,R4
RRC A ;低字节除以2,高字节末位移入低字节高位 MOV R3,A DJNZ R2,LOOP RET
5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H单元。 有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等 MOV R0,#42H MOV R1,#52H
LOOP:MOV A,@R0
CLR C ;不相等,FFH→40H SUBB A,@R1
JNZ LOOP1 ;相等时,比较下一字节 INC R0 INC R1
..
.
DJNZ 41H,LOOP
MOV 40H,#0 ;所有字符均相等,则两字串相等。 RET
LOOP1:MOV 40H,#0FFH RET
六、综合应用题(每小题10分,共20分)
1.用8031单片机,并采用一片2716(2KB)和一片6116(2KB)组成一个既有程序存储器又有数据存储器的扩展系统,请: (1)画出逻辑电路图 (2)说明其存储空间
芯片 P2.2 P2.1 P2.0 P0.7 …… P0.0 地址范围 2716 0 0 0 0 … 0 0000H …
1 1 1 1 … 1 07FFH
6116 0 0 0 0 … 0 0000H
1 1 1 1 … 1 07FFH (四)
一、填空题
1、当P1口做输入口输入数据时,必须先向该端口的锁存器写入(FF ),否则输入数据可能出错。
2、中断源的优先级别被分为高级和低级两大级别,各中断源的中断请求是属于什么级别是由(IP )寄存器的内容决确定的。
3、寄存器PSW中的RS1和RS0的作用是( 选择工作寄存器组 )。 4、LED数码显示有( 静态显示 )和( 动态显示 )两种显示形式。 5、当单片机CPU响应中断后,程序将自动转移到该中断源所对应的入口地址处,并从该地址开始继续执行程序,通常在该地址处存放转移指令以便转移到中断服务程序。其中INT1 的入口地址为( 0013H ),串行口 入口地址为(0023H ),T0 的 入口地址为( 000BH )。
6、用汇编语言编写的程序称为( 源 )程序,通过汇编后得到的用机器码表示的程序称为( 机器 )程序。
7、堆栈的地址由 SP 的内容确定,其操作规律是“ 先 进 后 出”。 8、扩展并行I/O口时,常采用( 8255 )和( 8155 )可编程芯片。 9、编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,保护现场用( PUSH )指令,恢复现场用( POP )指令。
..
单片机原理与接口技术试题及答案
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)