51单片机知识点总结_第1页
51单片机知识点总结_第2页
51单片机知识点总结_第3页
51单片机知识点总结_第4页
51单片机知识点总结_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 32 51单片机知识点总结 51单片机知识点总结 第二章: 存储器空间组成,各区间特点及访问方式,工作寄存器区的设定,程序状态字的位结构及其功能,堆栈的操作, P0-P3各端口的功能,特点,使用方法,单片机复位信号的产生及复位之后的状态,振荡周期、状态周期、机器周期及指令周期的关系及计算方法。 第三章: 寻址方式,各类指令,简单程序的编写 与识读,包括简单 C语言程序的识读。 第四章: 中断系统:包括中断源有哪些,如何进行中断允许控制,中断优先级控制,各自的中断入口地址是多少,中断得到 CPU2 / 32 服务的基本条件,中断响应延迟的原因。 定时器:定时器的各种工作方式及其使用方法,定时器的初始化,如何使用定时器实现周期信号的输出。以及相应的简单编程。 串行口:串行口的各工作方式及其使用,接收如何使能,多机通信 第五章: 三总线结构及其实现,片外扩展芯片的编址方式及其特点,片外程序及数据存储器的扩展实现并分析其地址区间,片外IO扩展的实现及其器件编址,简单编程。 第六章: 键盘,主要是行列式编码键盘的实现方法,识别方法,扫描法的工作原理,按键去抖动。 LED 段码实现方法 ,动态 LED显示与静态 LED显示的比较。 51单片机初学知识点总结 3 / 32 经过这半个月的学习,我对于单片机的定时器、对 I/O口的随意操作、输入检测、中断、串口通信等几大学 习模块有了一定了解和掌握。 1. 软件。我主要是在 keil uvision3 实现用 C 语言进行编程和调试。使用 keil 时,新建或者打开已有文件,按步骤一步步来,漏掉哪一步都会影响最后程序是否能顺利写入单片机中。其中应注意保存 C文档、添加文件到工程中和建立hex文档这几个关键步骤。 2. 发光二极管和数码管的显示。发光二极管的静态显示是学习单片机的入门路标。分析相关模块的电路图,弄清楚引脚连接情况,根据电路图直接控制 LED引脚电位的高低就能实现对相应 LED亮灭的控制。了解后完成走马灯或更多其他规则的 LED显示。数码管的显示较 LED稍微复杂一点点,它分位选和段选,位选控制整个数码管的亮灭,段选控制各数码管以何种形式亮或灭。数码管的显示分三步: .全部数码管显示一样的字符; .选定的数码管以规定的形式亮; .数码管的动态显示。其中利用定时器或者延时程序控制数码管动态显示的频率,以调节其显示亮度和视觉 稳定度。 4 / 32 用延时函数完成动态扫描: while(1) D1=nn/100; D2=nn%100/10; D3=nn%10; P1=0x01; P0=tabD1; delay(10); P1=0x02; P0=tabD2; delay(10); P1=0x04; P0=tabD3; delay(10); 延时子程序: void delay(x) / 延时 1ms子程序 unsigned char y; while(x-) for(y=110;y0;y-); 3. ? ? 5 / 32 GATEGATE=1,用软件使 TR0 或 TR1 为 1,同事外部中断引脚也为高,启动。我们一般置 GATE=0。 C/T=0,位定时器; C/T=1,位计数器。 ? 对于定时时间的计算: t?计数值 N?机器周期T?N?12? 1 focs 或:要定时时间 t=*(12/晶振频率 ) ? 定时 /计数器初始化步骤: 根据上面的信息,对 TMOD赋初值,确定 T0、 T1的工作方式。 计算初值,将其写入 TH0、 TL0 或 TH1、 TL1。 为中断方式时,对 IE 赋值,开放中断。 使 TR0 或 TR1 置高,启动定时 /计数器。 例: TMOD=0x01;/T0 处于工作方式 1,为十六位定时 /计数器 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1; 6 / 32 TR0=1; /T0 初始化完毕 定时子程序: void timer0() interrupt 1 / 定 时 子 程 序 TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa+; if(aa=10) aa=0; ? 4. 键盘。单片机键盘分独立键盘和矩 阵键盘两类,矩阵键盘涉及键盘扫描程序。而与键盘按下有关的程序就要注意到消除抖动和松手检测两个重要的细节。松手检测原理是,当键按下时, key2 为低,! key2=1,此时程序一直在 while 语句里面循环,无法跳出来,一旦松手, key2 为高,程序即可跳出 while循环,执行下面接下来的语句。 7 / 32 if(key2=0) delay(5);/延时 5ms if(key2=0) /确定 key2键的确按下,消抖 while(!key2);/松手检测 ? 5. 串口通信。串行通信的传输速率用波特率表示。波特率定义为:每秒发送二进制数码的位数,单位为 “bps” 。波特率的计算公式: 方式 0的波特率 = SMOD 方式 1的波特率 = ) ?fosc ) SMOD2方式 3的波特率 =51 单片机串行口 工作方式0 实质是并行的工作方式,为同步的移位输出和输入,但要实现工作方式 0必须要借助外接移位寄存芯片,实际应用中常用作并行 I/O口得扩展。 8 / 32 它的波特率固定,且数据传送是以 8 位数为一帧,没有起始和停止位。 我主要研究学习了串行口工作方式 1,它的数据格式是:一个起始位, 8 个数据位和一个停止位。设 fosc=,波特率为9600,则根据上面的公式, SMOD=0 时, TH1=TL1=0xfd; SMOD=1时, TH1=TL1=0xfa。 工作方式 2和 3的帧格式一样,与工作方式 1的类似,只是在原基础上多加了一位内容由用户决定的数据位。工作方式2 的波特率与 PCON 个 SMOD位有关。 SMOD=1时,波特率为 fosc , SMOD=0 时,波特率为 fosc 。 ? 9 / 32 SMOD 为波特率倍增位。 SMOD=1 时,波特率增加一倍;复 位时, SMOD=0。 ? REN 是允许接收控制位: REN=1时允许接收数据;REN=0时禁止接收数据。 TI是发送中断标志位:当发送完一帧数据后,该位由单片机自动置 1,向 CPU 发送中断请求信号。在中断服务程序中,必须用软件将其清 0. RI 是接收中断标志位:与 TI 类似,接收完一帧后自动被置1,需由软件置 0. 6. 液晶显示。常见的单片液晶显示屏分16引脚和 20引脚两种,我使用的是 16引脚的 YJD1602A-2。安装 LCD 时按如下三步走:关闭开发板电源。下载一个关闭数码管个流水灯的程序进单片机。顺时针旋转相应电位器以调节 LCD 的对比度,知道看到 5*7 这四种功能里面,读状态与读数据实用性不大,我们学习单片机时主要联系写指令和写数据,所以我们对 RW置高,给 E高脉冲, 5 引脚直接接地。 ? 关于数据指针: 10 / 32 显示开关及光标: 00001DCB 清屏:指令代码 0x01。执行此指令, HD44780将 DDRAM的数据全部写入 “ 空白 ” 的代码,清除所显示的内容,同事光标移到左上角。 光 标归位:指令代码 0x02 或 0x03。 AC 的值被清 “0” ,但是 DDRAM 的逐句不变,光标移到左上角。 移动光标: 写指令函数: void write_com(uchar com) rs=0; lcden=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; 写数据函数: 11 / 32 void write_date(uchar date) 单片机考点总结 1. 单片机由 CPU、存储器及各种 I/O接口三部分组成。 2. 单片机即单片微型 计算机,又可称为微控制器和嵌入式控制器。 3. MCS-51系列单片机为 8 位单片机,共 40个引脚, MCS-51基本类型有 8031、 8051 和 8751. I/O 引脚 8031、 8051 和 8751 的区别 : 8031片内无程序存储器、 8051片内有 4KB程序存 储器 ROM、 8751片内有 4KB程序存储器 EPROM。 4. MCS-51 单片机共有 16 位地址总线, P2 口作为高 8 位地址输出口, P0口可分时复用 12 / 32 为低 8位地址输出口和数据口。 MCS-51单片机片外可扩展存储最大容量为 216=64KB,地址范围为 0000H FFFFH。 5. MCS-51片内有 128字节数据存储器, 21个特殊功能寄存器。 MCS-51 片内有 128 字节数据存储器,字节地址为00H 7FH; 00H 1FH: 工作寄存器区; 00H 1FH: 可位寻址区; 00H 1FH: 用户 RAM区。 21个特殊功能寄存器 ; 当 MCS-51上电复位后,片内各寄存器的状态,见 34页表 2-6。 PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H, TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H, TL1=00H, SCON=00H, P0 P3=FFH 6. 程序计数器 PC:存放着下一条要执行指令在程序存储器中的地址,即当前 PC 值或现行值。程序计数器 PC 是 16 位寄存器,没有地址,不是 SFR. 7. PC 与 DPTR的区别: PC和 DPTR 都用于提供地址,其中 PC13 / 32 为访问程序存储 器提供地址,而 DPTR 为访问数据存储器提供地址。 8. MCS-51内部有 2 个 16位定时 /计数器 T0、 T1, 1 个 16位数据指针寄存器 DPTR,其中 MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针 DPTR。 定时 /计数器 T0 和 T1 各由 2 个独立的 8 位寄存 器组成,共有 4 个独立寄存器: TH1、 TL1、 TH0、 TL0,可以分别对对这 4个寄存器进行字节寻址,但不能吧 T0 或 T1 当作 1 个 16 位寄存器来寻址。即: MOV T0, #data16 ; MOV T1, #data16 都是错的, MOV TH0, #data; MOV TL0, #data 是正确的。 9.程序状态字寄存器 PSW PSW 的格式: PSW D7 D6 D5 D4 D3 D2 D1 D0 D0H PSW寄存器中各位的含义; Cy:进位标志位,也可以写为 C。 Ac:辅助进位标志位。 RS1、 RS0:4组工作寄存区选择控制位。 P 为奇偶标志 位:该标志位用来表示累加器 A 中为 1 的位数14 / 32 的奇偶数 P=1, A 中 1 的个数为奇数; P=0, A 中 1 的个数为偶数。 另:使用加法指令时,累加器 A中的运算结果对各个标志位的影响: 如果位 7 有进位,则置 1 进位标志位 Cy,否则清0 Cy; 如果位 3 有进位,置 1 辅助进位标志位 Ac,否则清0 Ac; 如果位 6 有进位,而位 7 没有进位,或者位 7有进位,而位6 没有,则溢出标志位 OV置 1,否则清 0 OV。即只要位 7 和位 6 中有一个进位,而另一个没进位, OV就置 1. 10. MCS-51指令系统的七种寻址方式 ,熟练掌握各寻址方式。 11.访问 MCS-51单片机中:访问片内 RAM 应使用 MOV 指令; 访问片外 RAM 应使用 MOVX 指令; 访问程序存储器应使用MOVC指令。 12. MCS-51 有 5 个中断源, 2 级中断优先级。 5 个中断源名称及其中断入口地址分别是什么?哪些中断源的中断请求标志位在响应中断时由硬件自动清除?那些中断源的中断请标志位必须使用软件清除?记住各个中断请求标志位,优先级标志位,触发方式标志位。 (102 页 108 页 ) 15 / 32 前面 4 种都是硬件自动清 0,串行中断必须使用软件清除,因为串行接收和发送共享串行中断,在中断处理中必须使用T1和 R1判断串行接收还是发送中断。 第一部分 硬件基础 1、单片机的组成; 2、单片机的并行 I/O口在使用时,有哪些注意的地方? 3、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区; 4、时钟及机器周期; 5、单片机的控制总线、地址总线及数据总线等。 例: 一、填空 1 MCS-51 单 片 机 有 4 个 存 储 空 间 , 它 们 分 别是: 、 、 、 。 2、 MCS-51单片机的一个机器周期包括 个状态周期, 个振荡周期。设外接 12MHz 晶振,则一个机器周期为 16 / 32 s 。 3程序 状态字 PSW 由 位组成。 4在 MCS-51单片机内部,其 RAM 高端 128 个字节的地址空间称为 区,但其中仅有 个字节有实际意义。 5. MCS-51 系列单片机为 位单片机,其数据总线为 位,地址总线为 位,可扩展的地址范围为 。 6. MCS-51 单片机的 4 个并行 I/O 口若作为普通 I/O 口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1” 的操作是 。 7. MCS-51 单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么 IE 为 , TMOD 为 。 8通常 MCS-51单片机上电复位时 PC= H、 SP= H、通用寄存器采用第 组,这一组寄存器的地址范围是 H。 9 MCS-51 单片机堆栈遵循 的数据存储原则。 17 / 32 10在 MCS-51单片机中,使用 P2、 P0口传送 信号,且使用 P0 口来传送 信号,这里采用的是 技术。 11 MCS-51 单片机位地址区的起始字节地址为 。 12对于并行口在读取端口引脚信号时,必须先对端口写 。 13 PC的内容是 。 14、 MCS-51 单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过 个时钟周期的高电平。 15、具有 4KBytes 储存容量之存储器,其至少需具有 根地址线。 二、问答 1.简述 MCS-51 单片机的 P0、 P1、 P2 和 P3 口的功能。 2 MCS-51单片机的三总线是由哪些口线构成的。 3 MCS-51 单片机的位寻址区的字节地址范围是多少?位地址范围是多少? 4. MCS-51单片机存储器在结构上有什么特点?在物理上和逻辑上各有那几个地址空间? 18 / 32 5简述 MCS-51单片机 00H-7FH片内 RAM 的功能划分,写出它们的名称以及所占用的地址空间,并说明它们的控制方法和应用特性。 6请写出 MCS-51 单片机的五个中断源的入口地址。 第二部分 C51 程序设计 1、 C51 的指令规则; C51 编程语句及规则; 2、 C51 表达式和运算符; 3、顺序程序、分支程序及循环程序设计; 4、 C51 的函数; 5、中断函数。 例: 1程序的基本结构有 。 2 C51 的存储器模式有 3 C51 中 int 型变量的长度为; unsigned char型变量的长度为位,其值域为。 4 C51 中 关 键 字 sfr 的作用 sbit 的作用 。 19 / 32 5函数定义由和两部分组成。 6 C51 的表达式由组成。 C51 表达式语句由表达式和 组成。 7若局部变量未初始化,其初值为。 8 C51 中 “ ! ” 运算符的作用是;运算符 ” 的作用 是 。 9若函数无返回值,用关键字指定。 10. 在 C51中,语句while(1)循环体语句 的含义是 11. C51中,用于定义变量片内数据存储器类型的关键字是 1 2 第三部分 中断系统 20 / 32 1、中断的定义; 2、中断源及其优先级; 3、中断过程及中断应用编程。 例: 一、填空题 1 MCS-51单片机有 个中断源。上电复位时,同级中断的自然优先级从高至低依次为 ,若IP=00010100B,优先级别最高者为 、最低者为 。 2外部中断请求有 触发和 触发两种触发方式。 3 MCS-51 单片机 5 个中断源的中断入口地址为: 。 4中断向量是中断服务程序的 。 5.当定时器 /计数器 1 申请中断时, TF1 为 ,当中断响应后, TF1为 。当串口完成一帧字符接收时, RI为 ,当中断响应后, RI 为 ,需 要 清零。 6在 MCS-51 单片机的中断系统中,中断优先级共分为 21 / 32 级。 7. MCS-51 单片机定时器 T0 的中断类型号是 。 二、 简答题 单片机有几个中断源?各中断标志是如何产生的?如何撤销的?各中 断源的中断矢量分别是什么? 2.简述 MCS-51中断过程。 3. MCS-51 单片机有哪几个中断源?它们的中断类型号分别是什么?自然优先级由高到低依次是什么? 三、程序设计题 1、没有外部中断时,七段数码管显示 8,当有外部中断时,七段数码管上显示的 8 连续闪烁 8 次,然后继 续显示 8。要求编写程序实现上述功能。 2、没有中断发生时,发光二极管闪烁,有中断发生时,发光二极管变为流水灯。要求编写程序 51 系列单片机内部有哪些主要的逻辑部件?答案:一个 8 位的 CPU、一个布尔处理机、一个片内振荡器、 128B 的片内 RAM、 21个特殊功能寄存器、 4 个 8 位并行 I/O 接口、一个全双工 的串行口、 2 个22 / 32 16位的定时器 /计数器、 5 个中断源、 2个中断优先级。 机器周期是指: 完成 MCS-51一个典型的指令花费的振荡周期称为一个机器周期 ;一个机器周期由 六 个状态组成,包含有 12个 振荡周期; 当外部中断采用低电平触发方式时 ,为了避免在中断返回后再次响应该中断,要求外部中断源在执行的中断程序返回前撤销中断请求信号 ; 程序计数器 PC是用来存放 下一条将要执行的 指令地址,共 16 位。单片机上电复位后, PC = 0000H ; 当单片机的 P1 口做为一般的 I/O 口使用时,为 8 位准双向口的意思是指: 当输入信号时,需先向 P1口锁存器写 1,以保证读引脚的正确性 ; 何谓堆栈?它设置在哪个存储区?在实际编程中,它有何应用价值? 答:堆栈是一个后进先出的特殊的数据缓冲区,并由栈指针SP指示堆栈中的数据深度。 23 / 32 在 MCS-51 系列单片机中,堆栈设置在内部 RAM 数据存储区内。在实际编程中,可用于数据的传递,数据的交换、 保存CPU现场等作用 简述 MCS?51 单片机程序存储器的几个特殊入口地址的含义。 0000H:复位入口地址 0003H:外部中断 0 中断服务程序入口地址 000BH:定时器 /计数器 0 溢出中断服务程序入口地址 0013H:外部中断 1 中断服务程序入口地址 001BH:定时器 /计数器 1 溢出中断服务程序入口地址 0023H:串行口中断服务程序入口地址 何谓静态显示?何谓动态显示?两种显示方式有何优缺点? 24 / 32 所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。 LED 动态显示是将所有位的段选线并接在一个 I/O 接口上,称为段口,共阴极端或共阳极端分别由相应的 I/O 接口线控制,称为位口。 静态显示显示稳定,但软件简单;动态显示硬件简单,但软件需要不断地刷新。 编程将片内 RAM 30H 39H单元中的内容送到以 3000H 为首的存储区中。 MOV MOV MOV R0, #30H DPTR,#3000H R7, #10 L1: MOV MOVX INC 25 / 32 INC DJNZ RET A,R0 DPTR,A R0 DPTR R7, L1 片内 RAM 60H 开始存放 20 个数据,试统计正数、负数及为零的数据个数,并将结果分别存在 50H、 51H、 52H 单元中。 MOV 50H,#0 MOV 51H,#0 MOV 52H,#0 MOV R7,#20 MOV R0, #60H L3: MOV A,R0 JZ L1 JB ,L2 INC 50H SJMP LEND L2: INC 51H SJMP LEND L1: INC 52H LEND: INC R0 DJNZ R7,L3 RET 从片外 RAM 2000H 单元开始存有 20 个有符号数,要求把它们传送到片外 RAM 3000H开始的单元,但负数不传送,试编写程序。 L1: L2: L3: MOV DPTR,#2000H MOV 26 / 32 R0,#20H MOV R7,#20 MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R7,L1 MOV DPTR,#3000H MOV R0,#20H MOV R7,#20 MOV A,R0 JB ,L3 MOVX DPTR,A INC DPTR INC R0 DJNZ R7,L2 RET 在片外 RAM 2000H、 2001H 和 3000H、 3001H中分别存放两个字数据,试比较两个数的大小,把大数存放在 4000H、 4001H单元中。 MOV DPTR,#2000H L1: L2: MOVX MOV INC MOVX MOV MOV MOVX MOV INC MOVX MOV CLR MOV SUBB MOV SUBB JNC MOV MOV SJMP MOV MOV MOV MOVX INC MOV MOVX RET A,DPTR 20H,A DPTR A,DPTR 21H,A DPTR,#3000H A,DPTR 30H,A DPTR A,DPTR 31H,A C A,21H A,31H A,20H A,30H L1 A,20H B,21H L2 A,30H B,31H DPTR,#4000H DPTR,A DPTR A,B DPTR,A 试编写一段对中断系统初始化的程序,允许外部中断 0、外部中断 1、定时器 /计数器 T0 溢出中断、串行口中断,且使定时器 /计数器 T0溢出中断为高优先级中断。 27 / 32 SETB EA SETB EX0 SETB EX1 SETB ET0 SETB ES SETB PT0 D6 _ D5 _ D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0 D7 IE EA 。 ORG 0000H LJMP MAIN ORG 000BH LJMP T0INT ORG 0030H MAIN: MOV SP, #60H MOV R7, #0 MOV TMOD, #01H MOV TH0, #0FDH MOV TL0, #66H SETB EA SETB ET0 SETB TR0 L1: SJMP L1;中断服务程序 T0INT: MOV TH0, #0FDH MOV TL0, #66H INC R7 CJNE R7, #1, LL1 CLR SJMP LLEND LL1: CJNE R7,28 / 32 #3, LLEND SETB MOV R7, #00H LLEND: RETI ;初始化 ;定时 666微妙 ;重载初始值 如果 MCS?51单片机系统的晶振频率为 12MHz,分别指出定时器 /计数器方式 1 和方式 2的最长定时时间。 方式 1:65536us; 方式 2:256

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论