您好,欢迎来到UU财经。
搜索
您的当前位置:首页单片机原理及接口技术考试作业总结武汉理工

单片机原理及接口技术考试作业总结武汉理工

来源:UU财经




0

考试需掌握:

1)二进制,十进制,十六进制数之间的转换

2)数的加减运算(题目要求用补码运算的必须用补码运算)

3)通过数的运算,判断CYOV的值

作业如下:

0.3 求二进制28-28100-130250-347928-928的原码和补码(要

求用十进制表示)。


解题方法:正数的补码和原码相同,负数的补码为原码取反(取反的时候符号

位不变)再加一

如:-28的原码为10011100B=9CH

反码为11100011B

补码为11100011B+1=11100100B=E4H

0.5 用补码运算完成下列算式,并指出溢出OV和进位CY

133H+5AH2-29H-5DH365H-3EH44CH-68H

步骤:先把题目所给的数化成补码的形式,接着列式计算(注意补码的运算是

相加的过程)



如:(2-29H-5DH
-29H)补=11010111B
(-5DH) =10100011B
补码运算:(-29H)补+(-5DH) =11010111B+10100011B=101111010B=7AH
所以OV=1 CY=1

1
考试需掌握:
1.单片机的组成部件:P16
2. 程序计数器PC是一个自动加116位寄存器,作用是指向下一指令地址

3. 我们课本学的微型计算机的存储器地址空间的结构形式为哈佛结构
(选择题考)

6. DPTR 16 位寄存器

7. P241-4要背
8. P23会计算4种周期
作业如下:
1.6 在单片机内部RAM中,哪些字节有位寻址,哪些没有位寻址?特殊功能 寄存器SFR中哪些可以位寻址?位寻址有什么好处?P19P201.10 若单片机使用频率为6MHz的晶振,那么振荡周期,状态周期,机器周 期和指令周期分别是多少?

P23 振荡周期=1/fosc=1/6=0.1667?s

状态周期=2/fosc=2/6=0.333?s机器周期=12/fosc=12/6=2?s





指令周期=(1-4机器周期)=2-4?s

1.11 复位时,A= 00H

PSW= 00H SP= 07H

P0~P3=FFH

2(非常重要)
考试需掌握:

全章的知识都要熟

作业如下:
1. 试编程将片外RAM40H单元中内容与R1的内容互换 MOV R0 ,#40H

XCH R1 ,A MOVX A ,@R0

2.3 A=0,执行下列两条指令后,A的内容是否相同,说明理由。

1MOVC A,@A+DPTR
2MOVX A,@DPTR
答:A=0时,两条指令的地址虽然相同,但操作码不同,MOVC是寻址程序存储器,MOVX是寻址外部数据存储器,送人A的是两个不同存储空间的内容。

2.4指出下列指令中操作数的寻址方式:

指令

目的操作数寻址方式

源操作数寻址方式

ADD A,40H

寄存器寻址

直接寻址

PUSH ACC

SP 间接寻址

直接寻址




MOV B,20H

直接寻址

直接寻址

ANL P1#35H

直接寻址

立即寻址

MOV @R1PSW

寄存器间址

直接寻址

MOVC A,@A+DPTR

寄存器寻址

变址

MOVX @DPTR,A

寄存器间址

寄存器寻址

补充:寄存器A写作ACC时为直接寻址,写作A时为寄存器寻址;B仅在乘法指令中为寄存器寻址,在其他指令中为直接寻址;除了,DPTR,R0-R7为寄存器寻址

2.8 SP=60H,内部RAM的(30H=24H,31H=10H,在下列程序段

PUSH 30H SP=24H)注释的括号中填执行结果。

POP DPH ; SP=60H),(SP=24H
MOV A,#00H
MOVX @DPTR,A
注意:PUSH dir 完成的操作为先修改指针,再入栈
POP dir 完成的操作为先出栈,再修改指针
3
考试需掌握:
1. 简单的编程
作业如下:
1. 8031使用6MHz 晶振,试设计延迟100ms的延时程序。(与课本P53



例题几乎一样,只需要改一下次数)

2. 编一子程序,求出20H中有符号数的二进制补码再送回20H

分析:先判断20H中的数是正数还是负数,若是正数,直接送回,若是负

数,要求补码再送回。

MOV A,20H

JB ACC.7CPLL ;如为负数转CPLL

SJMP $ ;为正数,补码=原码

CPLL: CPL A ;取反

ADDA,#1 ;加1得补码

MOV 20H,A ;再送回21H单元

SJMP $

元中。
3. 编程试判断A中的正负,若为正数,存入20H单元,若为负数存入21H

MOV B,A


MOV 21H,B

SJMP $

ABC: MOV 20H,B

SJMP $

4. 1)已知:A=OC9HB=8DHCY=1,执行指令“ADDCA,B后结果A=

CY=OV=AC=P=

2)若执行指令“SUBB AB后结果有如何?

解:具体计算过程自己写



1A=01010111B=57H

CY=1 OV=1 AC=1 P=1







2A=00111011B=3BH CY=0 OV=1 AC=1 P=1
注意:判断有无溢出的时候要看最高位与次高位是否同时有进位或借位,若同时有或没有,则没有溢出,若不同时有或没有,则有溢出

5
考试需掌握:

4个并行口P0-P4的功能P88
这章没有作业

6
考试需掌握:

1. 5个中断源及它们的中断入口地址
2. 中断控制的有关寄存器P102P103

外部中断1 4)定时器1中断
3. 中断优先顺序P103,(1)外部中断0 2)定时器0中断(3

4. 中断程序设计的格式:
ORG 中断入口地址

LJMP INT
MAIN:主程序
INT:中断服务程序
作业如下:
1. 若允许片内2个定时器/计数器中断,禁止其他中断源的中断请求,分别用 位操作指令和字节操作指令编写设置IE的相应程序段。

这道题很简单,只需要知道中断控制寄存器IE的格式即可P1021)位操作解:

指令

; 禁止串行口中断


CLR ES





CLR EX1 ; 禁止外部中断0中断
CLR EX0 ; 禁止外部中断1中断
SETB ET1 ;允许定时器/计数器T1中断
SETB ET0 ;允许定时器/计数器T1中断
SETB EA CPU开中断
2)字节指令
MOV IE ,#8AH
6.68XX51P1口接8LED发光二极管,由INT0接一消抖开关,开始P1.0 LED亮,以后每中断一次,下一个LED亮,顺序下移,且每次只一个LED 亮,周而复始。画出电路图,并编制程序。

注:采用中断时常用的主程序结构如下(考试考到中断的编程的时候可 以套用):

LJMP MAIN ORG 0000H

MAIN: 主程序
INT:中断服务程序
注:要记住51单片机的5 个中断源的入口地址
ORG 0000H
AJMP MAIN
ORG 0003H
RL A
MOV P1A
RETI
MAINMOV A#0FEH



MOV P1A
SETB EA
SETB EX0
SETB IT0
SJMP $
变反6.7 在题6.6电路的基础上,要求8LED同时亮或同时灭,
每中断一次, 一次,编出程序。

ORG 0000H
AJMP MAIN
ORG 0003H
AJMPLED

MAIN: MOV IE,#81H ORG 0030H

SJMP $
LED: CLR A
MOV A ,P1
CPL
A MOV P1,A
CLR IE0
RETI

7
考试需掌握:





1.定时由晶振决定,计数与外部引脚有关
2.熟悉寄存器TMOD,TCONP112P113
3.定时/计数器的初始化编程步骤:P115
根据定时时间要求或计数要求计算计数器初值

将工作方式控制字写入TMOD寄存器
将计数初值写入THxTLx寄存器
启动定时器(或计数器),即将TRx置位
作业如下:

7.5 利用8XX51T0计数,每计10个脉冲,P1.0变反一次,用查询和中断两 种方式编程。

分析:要先计算计数初值参照P115的例7-1的解题步骤

ORG 0000H 查询方式:

MOV TL0#0F6H

SETB TR0
ABC: JNB TF0$

CLR TF0

CPL P1.0

SJMP $
中断方式:

ORG 0000H

AJMP MAIN
ORG 000BH






CPL P1.0
RETI
MAIN:MOV TMOD,#06H
MOV TH0#0F6H
MOV TL0#0F6H
SETB EA
SETB ET0
SETB TR0
SJMP $

7.7 已知8XX51单片机系统时钟频率为6MHz,利用定时器T0使P1.2每隔350?s

ORG 0000H 输出一个50?s脉宽的正脉冲。

MOV TL0#51H

CLR P1.2
SETB TR0
AB1JBC TF0EXT
SJMP AB1
EXT: SETB P1.2
MOV TH0#0E7H
MOV TL0#0E7H

AB2JBC TF0NEXT SJMP AB2





8
考试需掌握:

1.计算波特率
2.串行口的控制寄存器SCON的设置
3.串行口的编程(发送与接收数据)8-1
(这种题型一定要会)8.5 设甲、乙两机采用方式1通信,波特率为4800,甲机发送012···1FH,乙机接收存放在内部RAM20H为首址的单元,试用查询方式编写甲、乙两机的程序(两机的fosc=6MHz
解题思路:

可以按照例题的格式写出相应的值:

设置TMOD的值

设置SCON 的值
发送查询方式
ORG 0000H
MOV TL1#0B2H T1时间常数

SETB TR1 ;启动T1

MOV SCON,#40H ;串行方式1
MOV A,#0

NEXT:MOV SBUF,A ;发送数据

TES:JBC T1ADD1
SJMP TES
ADD1INC A

CJNE

A,#20H,NEXT

;数据块未发完继续



SJMP $




END
接受查询方式

ORG 0000H

MOV TMOD,#20H
MOV TH1#0B2H
MOV TL1#0B2H
TEC:JBC RI,REC
SJMP TES
REC:MOV @R0SBUF
INC R0

SETB TR1

MOV R0#20H
MOV SCON,#50H;(注意有一点与发送不同的是SCON中的REN 为为1

SJMP $ END
第九章看一下P1561【例9-2



Copyright © 2019- uude.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务