第0章
考试需掌握:
(1)二进制,十进制,十六进制数之间的转换
(2)数的加减运算(题目要求用补码运算的必须用补码运算)
(3)通过数的运算,判断CY和OV的值
作业如下:
0.3 求二进制28、-28、100、-130、250、-347、928、-928的原码和补码(要
求用十进制表示)。 |
解题方法:正数的补码和原码相同,负数的补码为原码取反(取反的时候符号
位不变)再加一
如:-28的原码为10011100B=9CH
反码为11100011B
补码为11100011B+1=11100100B=E4H
0.5 用补码运算完成下列算式,并指出溢出OV和进位CY。
(1)33H+5AH(2)-29H-5DH(3)65H-3EH(4)4CH-68H
步骤:先把题目所给的数化成补码的形式,接着列式计算(注意补码的运算是
相加的过程)
如:(2)-29H-5DH
(-29H)补=11010111B
(-5DH) 补=10100011B
补码运算:(-29H)补+(-5DH) 补=11010111B+10100011B=(1)01111010B=7AH
所以OV=1 CY=1
第1章
考试需掌握:
1.单片机的组成部件:P16
2. 程序计数器PC是一个自动加1的16位寄存器,作用是指向下一指令地址
3. 我们课本学的微型计算机的存储器地址空间的结构形式为哈佛结构
(选择题考)
6. DPTR 为16 位寄存器
7. P24表1-4要背
8. P23会计算4种周期
作业如下:
1.6 在单片机内部RAM中,哪些字节有位寻址,哪些没有位寻址?特殊功能 寄存器SFR中哪些可以位寻址?位寻址有什么好处?P19到P201.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的内容是否相同,说明理由。
(1)MOVC A,@A+DPTR
(2)MOVX A,@DPTR
答:当A=0时,两条指令的地址虽然相同,但操作码不同,MOVC是寻址程序存储器,MOVX是寻址外部数据存储器,送人A的是两个不同存储空间的内容。
2.4指出下列指令中操作数的寻址方式:
指令 | 目的操作数寻址方式 | 源操作数寻址方式 |
ADD A,40H | 寄存器寻址 | 直接寻址 |
PUSH ACC | SP 间接寻址 | 直接寻址 |
MOV B,20H | 直接寻址 | 直接寻址 |
ANL P1,#35H | 直接寻址 | 立即寻址 |
MOV @R1,PSW | 寄存器间址 | 直接寻址 |
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.7,CPLL ;如为负数转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=OC9H,B=8DH,CY=1,执行指令“ADDCA,B”后结果A=?
CY=?OV=?AC=?P=?
(2)若执行指令“SUBB A,B”后结果有如何?
解:具体计算过程自己写
(1)A=01010111B=57H | CY=1 OV=1 AC=1 P=1 |
|
(2)A=00111011B=3BH CY=0 OV=1 AC=1 P=1
注意:判断有无溢出的时候要看最高位与次高位是否同时有进位或借位,若同时有或没有,则没有溢出,若不同时有或没有,则有溢出
第5章
考试需掌握:
4个并行口P0-P4的功能P88
这章没有作业
第6章
考试需掌握:
1. 5个中断源及它们的中断入口地址
2. 中断控制的有关寄存器P102,P103
外部中断1 (4)定时器1中断
3. 中断优先顺序P103,(1)外部中断0 (2)定时器0中断(3)
4. 中断程序设计的格式:
ORG 中断入口地址
LJMP INT
MAIN:主程序
INT:中断服务程序
作业如下:
1. 若允许片内2个定时器/计数器中断,禁止其他中断源的中断请求,分别用 位操作指令和字节操作指令编写设置IE的相应程序段。
这道题很简单,只需要知道中断控制寄存器IE的格式即可P102(1)位操作解:
指令 | ; 禁止串行口中断 |
|
CLR ES | ||
|
CLR EX1 ; 禁止外部中断0中断
CLR EX0 ; 禁止外部中断1中断
SETB ET1 ;允许定时器/计数器T1中断
SETB ET0 ;允许定时器/计数器T1中断
SETB EA ;CPU开中断
(2)字节指令
MOV IE ,#8AH
6.6用8XX51的P1口接8个LED发光二极管,由INT0接一消抖开关,开始P1.0 的LED亮,以后每中断一次,下一个LED亮,顺序下移,且每次只一个LED 亮,周而复始。画出电路图,并编制程序。
注:采用中断时常用的主程序结构如下(考试考到中断的编程的时候可 以套用):
LJMP MAIN ORG 0000H
MAIN: 主程序
INT:中断服务程序
注:要记住51单片机的5 个中断源的入口地址
ORG 0000H
AJMP MAIN
ORG 0003H
RL A
MOV P1,A
RETI
MAIN:MOV A,#0FEH
MOV P1,A
SETB EA
SETB EX0
SETB IT0
SJMP $
变反6.7 在题6.6电路的基础上,要求8个LED同时亮或同时灭,
每中断一次, 一次,编出程序。
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,TCONP112,P113
3.定时/计数器的初始化编程步骤:P115
①根据定时时间要求或计数要求计算计数器初值
②将工作方式控制字写入TMOD寄存器
③将计数初值写入THx和TLx寄存器
④启动定时器(或计数器),即将TRx置位
作业如下:
7.5 利用8XX51的T0计数,每计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 |
|
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
AB1:JBC TF0,EXT
SJMP AB1
EXT: SETB P1.2
MOV TH0,#0E7H
MOV TL0,#0E7H
AB2:JBC TF0,NEXT SJMP AB2
第8章
考试需掌握:
1.计算波特率
2.串行口的控制寄存器SCON的设置
3.串行口的编程(发送与接收数据)例8-1
(这种题型一定要会)8.5 设甲、乙两机采用方式1通信,波特率为4800,甲机发送0,1,2···,1FH,乙机接收存放在内部RAM以20H为首址的单元,试用查询方式编写甲、乙两机的程序(两机的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 T1,ADD1
SJMP TES
ADD1:INC 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 @R0,SBUF
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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务