单片机复习总结
O、计算机的基本原理
计算机数值表示(原码、反码、补码) 中断
存储器(堆栈)
一、绪论
要求:熟悉,不作为考试内容
二、MCS-51单片机系统结构
1、硬件结构 了解
2、引脚功能 熟悉,掌握在外部功能扩展中的应用
3、中央处理器 熟悉各个寄存器的基本功能
掌握振荡周期、机器周期及指令周期的概念 时钟,复位的定义
三、存储器结构
1、四个物理空间:内、外程序存储器,内、外数据存储器
三个逻辑空间:程序存储器,内、外数据存储器
2、程序存储器地址空间
重点掌握:低地址段的保留单元
3、数据存储器地址空间
重点掌握:内部数据存储器,地址范围,特点,SFR 外部数据存储器,寻址范围及寻址方式
4、位处理器
熟悉位处理器组成及位存储器地址范围
四、指令系统
1、指令的寻址方式(掌握)
7种寻址方式,名称、格式、寻址范围
2、指令系统(五大类)
要求:指令的格式 ,寻址方式 ,执行操作,对标志位影响,程序段编写。
五、定时/ 计数器
要求:初始化程序,中断或非中断情况下的应用编程
定时计数器特点:16位加1计数器,计数初值为计数长度的补码;可程控为4种不同工作方式。
初始化程序:
1、计数常数的计算
2、置工作方式字
3、置THX,TLX
4、置TRX启动计数
5、置EA、ETX开中断
六、中断系统
1、中断的概念
2、与中断有关的寄存器
3、中断源:外部及内部中断源,中断触发方式,如何设置
4、MCS-51中断优先级的处理原则,同级中断申请的查询次序。
5、中断处理过程(了解),各个中断源对应中断矢量(掌握),中断响应条件(掌握)。
6、中断程序编写的步骤
七、串行通讯口
1、串行通讯概述(熟悉,了解) 重点:异步串行通讯的帧格式
2、MCS-51的串行通讯口
SCON串行控制寄存器,PCON(SMOD位作用)
串行通讯工作方式(熟悉了解),掌握不同工作方式的特点及帧格式,如何启动发送及接收。
串行通讯波特率,常用波特率的获得(掌握)。
串行通讯编程,初始化程序、简单应用程序
八、功能扩展
1、A/D、D/A转换的原理,逐次比较式AD转换的原理
给出接口芯片,画接口电路图;
根据接口电路图,写转换程序
2、键盘(行扫描法、反转扫描法)以及LED显示(静态显示、动态显示)的工作原理 习题示例:
请将(1)~(5)的词汇和A~J的说明联系起来 (1) CPU ——( ) (2) PC ——( ) (3) SP ——( ) (4) 指令 ——( ) (5) 堆栈 ——( )
(A) 总线接口单元,负责与存储器、I/O接口传送信息 (B) 存放下一条要执行的指令的地址
(C) 保存各个逻辑段的起始地址的寄存器 (D) 保存当前栈顶即堆栈指针的寄存器
(E) 微型计算机的核心,包括运算器、控制器和寄存器3个主要部分 (F) 以后进先出方式工作的存储空间
(G) 告诉CPU要执行什么操作,在程序运行时执行 (H) 执行单元,功能是执行指令
(6) 断电后存储的资料会丢失的存储器是( )
A.RAM B.ROM C.CD-ROM D.
(7) 若内存容量为64KB,则访问内存所需地址线( ) A.16 B.20 C.18 D.19 (8) .不需要访问内存的寻址方式是( )
A.立即寻址 B.直接寻址 C.间接寻址 D.变址寻址
读程序
ORG 2000H MOV SP, #50H MOV A, #50H LCALL 2500H ADD A, #10H MOV B, A L1: SJMP L1 ORG 2500H
MOV DPTR, #200AH PUSH DPL
PUSH DPH
RET
上述程序执行后,SP= _________ A= _________ B=_________
ORG 0000h MOV DPTR,#2100H MOVX A,@DPTR ANL A,#0FH
SWAP A MOV B,A
INC DPTRMOVX A,@DPTR ANL A,#0FH ORL A,B INC DPTR MOVX @DPTR,A LOOP: SJMP LOOP
END
已知2100H,2101H单元中的数均为0FH,则程序执行后2102H中的数为______________ A=_________ B=_________
MOV DPTR,#2314H ……__________ MOV R0,DPH … … … …__________ MOV 14H,#22H … … …__________ MOV R1,DPL … … … …__________ MOV 23H,#56H … … …__________ MOV A,@R0 … … … … __________ XCH A,DPH … … … … __________
执行以上指令后A=_______ DPTR= _______
请写出下图中Y6,Y7引脚所对应的地址
汇编语言程序编写:
双字节与单字节无符号数相乘,设被乘数存于41H,40H单元中,乘数存于R4单元中,乘积存于52H、51H、50H单元中(前者为高字节,后者为低字节)。请编写此乘法程序段 •MOV •MOV •MUL •MOV •MOV • MOV •MOV •MUL •MOV •MOV •MOV •CLR •ADD •MOV •MOV •ADDC •MOV •
B, 40H A R4 AB 50H, A 40H, B B, 41H A R4 AB 51H, A 52H, B A, 40H C A, 51H 51H,A A, 52H A, #0 52H,A 试计算片内RAM区40H~47H八个单元中数的算术平均值,结果存放在4AH中 •MOV R0, #40H •
MOV 4AH,#0 •
MOV 4BH,#0 •LOOP: CLR C •
MOV A, @R0 •
ADD A, 4AH •
MOV 4AH,A •
MOV A, 4BH •
ADDC A, #0H •
MOV 4BH,A •
INC R0 •
CJNZ R0, #48H,LOOP •
MOV R2,#3
;右移三次,相当于除8 •
ACALL RR_LOOP •
RET •; 双字节(4BH,4AH)右移子程序
• ;右移的次数在R2中 • • RR_LOOP: CLR C •
MOV A, 4BH •
RRC A •
MOV 4BH,A •
MOV A, 4AH •
RRC A •
MOV 4AH,A •
DJNZ R2, RR_LOOP •
RET
•试编写计算1234H+0FE7的程序,将和的高8位存入41H单元中,低8位存入40H单元中。 •MOV A, #34H •ADD A, #0E7H •MOV 40H, A •MOV A, #12H •ADDC A, #0FH •MOV 41H, A
•试编写程序,将内部RAM的20H、21H、22H、23H、和24H连续5个单元的内容一次存入2FH、2EH、2DH、2CH、2BH单元 MOV R7, #05H
MOV R0, #20H
MOV R1, #2FH LOOP: MOV A, @R0
MOV @R1, A
INC R0
DEC R1
DJNZ R7, LOOP