CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件;中断服务处理完该事件以后,再回到原来被中止的地方,继续往下执行原来的程序。实现这种功能的部件称为中断系统,产生中断请示的原因和设备称为中断源。
四、简答题
1、简述80C51单片机的I/O口的功能和特点; 答:P0:地址总线低8位/数据总线和一般I/O口 P1:一般I/O口
P2:地址总线高8位和一般I/O口 P3:第二功能和一般I/O口
4个口作为一般I/O时均为准双向口。 2、简述80C51单片机的中断系统功能;
中断控制、中断响应时间、中断受阻条件等……。 3、简述80C51单片机定时/计数器的功能;
答:2个16位定时/计数器。T0有4种工作方式,T1有4种工作方式。 4、简述80C51单片机串行口的功能;
答:全双工。由SBUF和PCON完成控制,波特率由T1产生。收、发中断用一个中断向量,中断标志RI、TI由软件清除。4种工作方式……。 5、简述80C51单片机指令系统的特点及寻址方式。
答:111条指令,大多为单、双周期指令,速度快。指令字节多为单、双字节,省空间。寻址方式多(7种),操作灵活。有布尔指令集,控制应用方便。7种寻址方式为……。 6、简述堆栈。
答:(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设
立的RAM区。
(2)用MOV SP,#STK指令建立堆栈。 (3)存放数据按“后进先出”原则进行。
(4)利用PUSH、POP指令即可进行进栈、出栈操作。 7、简述变址寻址方式并举例说明。
答:(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者
内容相加形式的16位地址作为操作数地址。
(2)变址寻址只能对移定存储器寻址,其指令只有三条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR
前二条为查表指令,后一条为无条件转移指令 8、简述中断响应的主要内容。
答:由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为: (1)将程序计数器PC的内容(断点)压栈
(2)将中断入口地址装入PC,转去执行中断服务程序
6
9、简述汇编语言中的标号有什么规定?
答:(1)标号由1—8字符组成,头一个字符必须是字母。 (2)不能使用汇编语言已定义的符号。 (3)标号后必须跟冒号:
(4)同一标号在一个程序中只能定义一次。 10、A/D转换器转换数据的传送有几种方式?
答:(1)定时传送方式:A/D启动后,调用延时时间大于转换时间的延时程序后
即可读取。
(2)查询方式:A/D启动后,查询EOC(转换结束信号),转换一完成即可读
取转换数据。
(3)中断方式:将EOC作为外中断请求信号,转换一结束,即引起中断,
读取转换数据。 11、在MCS-51中,能决定程序执行顺序的寄存器是哪一个?它有几位二进制组
成?是不是特殊功能寄存器?
答:程序计数器PC;16位;它是SFR中的一个。
12、什么叫堆栈?MCS-51堆栈的最大容量是多少?堆栈指示器SP有多少位?
作用是什么?单片机初始化后SP中内容是什么? 答:堆栈―――符合“先进后出”或“后进先出”的RAM区 容量―――128字节(8031/8051) SP位数――8位二进制
作用―――存放栈顶/栈底地址
13、8051单片机主要由那几部分组成?各有什么特点? 答:8051的主要组成部分:
1)CPU结构 ALU――算术/逻辑运算 定时控制部件――OSC和IR
专用寄存器组――PC、A、B、PSW、SP和DPTR等 2)存储器结构 片内ROM――0000H-0FFFH(4KB)
片外ROM――0000H-FFFFH(最多64KB) 片内RAM――00H-7FH(128B) 片外RAM――0000H-FFFFH(64KB) SFR――21个
3)I/O端口 并行口――P0、P1、P2和P3 串行口――串行发送/接收
4)定时/计数器:T0/T1有定时和计数两种模式 5)中断系统(5级):T0、T1、INT0、INT1和串口中断
五、读程序
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(或13)_____,(B)=_11H(或17)_______。
7
MOV A,#0FBH MOV B,#12H DIV AB
3.下列程序段执行后,(R0)=_7EH___,(7EH)=__FFH__,(7FH)=___3FH___。 MOV R0,#7FH MOV 7EH,#0 MOV 7FH,#40H DEC @R0 DEC R0 DEC @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 6.试阅读下面的程序,指出该程序结束后累加器ACC和寄存器TH0的值,并说明该程序完成了怎样的功能。 ORG 0000H MOV SP,#60H MOV A,#10H MOV TH0,#20H PUSH ACC PUSH TH0 POP ACC POP TH0 END
答:利用堆栈交换了ACC和TH0的内容,(A)=20H,(TH0)=10H 7.程序段如下,试说明其功能。 MOV R0,#50H MOV R1,#60H MOV A,@R0 ADD A,@R1 MOV @R0,A INC R0 INC R1
8
MOV A,@R0 ADDC A,@R1 MOV @R0,A MOV 00H,C
答:双字节无符号数加法。被加数存放在内部RAM的51H、50H单元,加数存放在内部RAM的61H、60H单元,相加的结果存放在内部RAM的51H、50H单元,进位存放在位寻址区的00H位中。
8、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少? 答: OV:0、CY:1、AC:1、P:1 A:-95
9、试问下列程序执行后累加器A和PSW中内容是什么? MOV A, #92H ADD A, #0A4H 答:A=36H ; PSW=84H
六、编程序
1.请使用位操作指令,实现下列逻辑操作: P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1。
3.已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。
4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。
5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。若相等,则把数字00H送40H单元,否则把0FFH送40H单元。
6.请编一能求20H和21H单元内两数差的绝对值,并把它保留在内部RAM的30H单元的程序。 编程题参考答案
1.先进行与操作,再进行或操作程序如下: MOV C,ACC.1 ANL C,P2,0 MOV 12H,C MOV,C,A CC.2 ANL C,P2.7 ORL C,12H
9
MOV P1.5,C RET
2. MOV R2,#10
MOV DPRT,#TABLE
LOOP: MOVX A,@DPRT;取一数 ORL A,#80H;最高位置1 MOVX @DPTR,A;写回原地址 1NC DPTR;处理下一单元 DJNZ R2,LOOP RET
3. MOV R0,#30H MOV R1,#00H MOV R2,#20H LOOP: MOV A,@R0;取数 MOVX @R1,A;存数 1NC R0 1NC R1
DJNZ R2,LOOP RET
4.利用移位指令作除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.有一个字节不等,整个字符串不相等,所有字节相等,两字串才相等 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
6 ORG 1200H
CLR C ;Cy清零 MOV A,20H
SUBB A,21H ;两数差送A
JNB ACC.7,NEXT ;若正,则NEXT CPL A ;若负,则求补 INC A
NEXT:MOV 30H,A ;送回绝对值
SJMP $ END
七、综合应用题
1、设计一个80C31单片机最小系统。配备:时钟电路、上电及复位电路、8K EPROM、8K RAM。要求:画出电路图、标明必须的信号名称、芯片型号及其连接。(答略)
2、利用8155构建4×8键盘接口。画出与按键相关部分连接示意图,详细解释键扫描的过程。(答略) 3、设80C51单片机晶振频率为6MHz,定时器T0工作于方式1。要求80C51以中断方式工作并在P1.0引脚输出周期为500微秒的方波。试:计算初值、编写含有初始化功能的主程序和完成方波输出的中断服务程序。 答:机器周期为2微秒。定时时间250微秒。需要计数N=125
初值为65536-125=65411=FF83H,所以(TH0)=FFH,(TL0)=83H 工作方式设置:0000 0001B,即(TMOD)=01H 主程序: 中断服务程序: (整体结构!) MOV TMOD,#01H MOV TH0,#0FFH MOV TH0,0FFH MOV TL0,#83H MOV TL0,#83H CPL P1.0 SETB EA RETI SETB ET0 SETB TR0 SJMP $
11
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《单片机原理》复习资料2(2)在线全文阅读。
相关推荐: