单片机期末复习知识点
一、单片机的硬件组成
1、程序存储器(ROM)和数据存储器(RAM)
(1)8031需要扩展外部程序存储器;EA 管脚接地。 (2)内部数据存储器256个字节,4个区名称。
(3)工作寄存器区单元数,分组,如何命名,如何设置当前工作寄存器组。 (4)位寻址区地址,位地址与字节地址的对应关系。 (5)特殊功能寄存器:
PSW各位功能;堆栈指针SP;程序计数器PC;数据指针寄存器DPTR。 2、8051单片机40个引脚及功能 40条引脚双列直插式封装 引脚可分为三个部分 1、电源及时钟引脚
(1)Vcc:接芯片工作电源; (2)GND:接地;
(3)XTAL1、XTAL2:时钟引脚,接时钟电路。 2、控制引脚
(1)RST:复位信号输入端。 (2) ALE/PROG:
(3) PSEN:读外部程序存储器的选通信号。 (4) EA/VPP :EA为内外程序存储器选择控制 EA=1,访问片内程序存储器,
EA=0,单片机只访问外部程序存储器。 3、I/O口引脚
(1) P0口:双向8位三态I/O口;
(2) P1口、P2口、P3口:8位准双向I/O口。 P3口引脚的第二功能 (1)P3.0(RXD):串行数据接收端 (2)P3.1(TXD):串行数据发送端 (3)P3.2(INT0):外部中断0请求端; (4)P3.3(INT1):外部中断1请求端; (5)P3.4(T0):计数器0外部信号输入端; (6)P3.5(T1):计数器1外部信号输入端; (7)P3.6(WR):外部数据存储器“写选通控制”端; (8)P3.7(RD):外部数据存储器“读选通控制”端。 P口的功能及注意点;
1、单片机复位后各寄存器、P口的状态; 2、实时温度测量系统
(1)温度传感器18B20的使用方法;
(2)能绘制实时温度测量电路图中的时钟电路、复位电路、温度采样电路,显示电路,指示灯电路;
(3)分析各部分功能。
二、单片机的指令系统
1、MCS-51单片机寻址方式:7种 立即寻址: MOV A,#30H 直接寻址: MOV A,30H 寄存器寻址: MOV R2,A
寄存器间接寻址: MOV A,@R1 变址寻址: MOVC A,@DPTR+A 相对寻址: SJMP MAIN 位寻址: MOV C,20H 2、数据传送类指令:
内部:16+1条。MOV <目的操作数>,<源操作数> 外部:4条。MOVX <目的操作数>,<源操作数>
三、中断、定时/计数、串行传输
1、MCS-51单片机中断系统的基本概念,各寄存器的作用及设置情况 (1)5个中断源名称、入口地址、优先级顺序
(2)TCON(定时器控制寄存器)中4个中断标志位、中断发出方式控制位
中断响应后,下降沿触发的,硬件自动将该位清零;低电平触发的,软件清零。 (3)SCON(串行控制寄存器)中的2个串行口中断标志位 (4)IE(中断允许寄存器)中各位表示的中断源 (5)IP(中断优先级寄存器)
2、定时器/计数器的TMOD、TCON各个位含义及设置情况;四种工作模式的编程方法 (1)定时器/计数器的定时、计数的含义
(2)TCON(定时器控制寄存器)主要用于定时器/计数器的启动和停止; 中断标志位:TF1、TF0、IE1、IE0
CPU响应中断,硬件对TF0(或TF1)自动清零;
禁止中断,通过查询方式动作的,则需由软件对TF0(或TF1)清零。
(3)TMOD(工作方式寄存器)主要用于控制和确定定时器/计数器的功能和工作方式。 4种工作方式,设置初值,放置初值寄存器
(4)工作方式0、工作方式1、工作方式2的编程方法,尤其是中断编程方法 3、串行接口寄存器SCON、 PCON的设置情况,串行通信的编程方法 (1)串行口数据缓冲器SBUF作用
(2)SCON(串行口控制寄存器)各位意义 (3)PCON中SMOD位的设置及其意义
四、单片机的外部扩展及A/D、D/A转换 1、程序存储器和数据存储器的扩展
(1)P0、P1、P2、P3口在扩展电路中的分工 (2)74LS373作用
2、A/D转换芯片、D/A转换芯片的使用 (1)A/D转换过程,启动A/D转换的语句
(2)D/A转换的3种连接方式。
当多路D/A信号要求同步输出时的连接方式。 一、分析程序
1、已知(R0)=30H,(20H)= 48H,(30H)=80H,(40H)=20H, 请写出执行以下程序段后,(30H)= ,(A)= ,( R0)= 。 MOV 30H, 40H MOV A, @R0 MOV R0, #35H
答案:
(40H)= 20H (30H)= 20H (A)= 20H (R0)= 35H
二、问答题
1、8051单片机的当前工作寄存器组如何选择?当单片机复位后,当前的工作寄存器组为哪一组?
2、简述8051单片机40个引脚的主要功能
3、若80C51的晶振频率为12MHz,试计算延时子程序的延时时间。 解:(1)一个机器周期的时间数: 1us
(2)写出各语句执行一次的机器周期数: DELAY: MOV R4,#0E6H ; 1 个机器周期 LP: MOV R3,#0FBH ; 1 个机器周期 DJNZ R3,$ ; 2 个机器周期 DJNZ R4,LP ; 2 个机器周期 RET ; 2 个机器周期
(3)计算执行该延时子程序总共需要的机器周期数: 2X(15X16+11)+1+2 ]X(14X16+6)+1+2=116153(个)
(4)计算执行该延时子程序总共需要的时间: 1X116153 = 116153(μs)= 116.2(ms)
4、画出MCS-51单片机实现实时温度测量电路图,并标出元器件相应的符号及参数。 5、分析实时温度测量电路图各部分的功能。
三、编程题
1、将从30H开始的20H个数据传送到片内数据存储器中以60H为首地址的20H个存储单元中。 ORG 0000H SJMP MAIN ORG 0030H
MAIN: MOV R0,#30H ;片内数据存储区的首地址赋给R0 MOV R1,#60H ;目标数据存储区的首地址赋给R1 MOV R2,#20H ;数据块的长度赋给R2 LOOP1:MOV A,@R0 ;读出要移动数据 MOV @R1,A ;存储到目标目标地址 INC R0 ;地址加1 INC R1 DEC R2 ;数据块长度减1 CJNE R2,#00H,LOOP1 ;数据块是否移动完成 SJMP $ END
2、已知两个十进制数分别在内部RAM40H单元和50H单元开始存放(低位在前),其字节长度存放在内部RAM30H单元中.编程实现两个十进制数求和,并把求和结果存放在40H开始的单元中。 ORG 0000H SJMP MAIN ORG 0030H MAIN: CLR C ;清Cy MOV R0,#40H ;第1个加数的首地址赋给R0 MOV R1,#50H ;第2个加数的首地址赋给R1 LP: MOV A,@R0 ;读出第1个加数的n位 ADDC A,@R1 ;与第2个加数的n位相加 DA A ;十进制调整 MOV @R0,A ;和存入单元 INC R0 ;地址加1 INC R1 DJNE 30H,LP ;数据块是否移动完成 END