完整word版51单片机的基本端口操作.docx
- 文档编号:3882022
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:12
- 大小:44.93KB
完整word版51单片机的基本端口操作.docx
《完整word版51单片机的基本端口操作.docx》由会员分享,可在线阅读,更多相关《完整word版51单片机的基本端口操作.docx(12页珍藏版)》请在冰豆网上搜索。
完整word版51单片机的基本端口操作
第一章51单片机的基本端口操作
主要对单片机最简系统在实际应用中的使用方法,从简单到复杂地实现单片机最简系统的基本功能.
“点亮最简单的单片机系统”从单片机原理上介绍单片机的基本组成和最简单系统的典型电路,以及有关单片机C51编程方法和例程.
“更加明亮的小灯”从功能上介绍如何使LED发光稳定,从原理上介绍单片机I/O口的电气特性和使用方法。
“定时亮灭的小灯”介绍如何使LED灯定时亮、灭,从单片机原理上介绍定时器的使用和编程方法。
“小灯亮灭的人工控制”从功能上介绍如何通过按键控制LED灯的亮灭,从单片机原理上介绍单片机中断的使用和编程方法。
先复习下Keil51的操作。
1.1点亮最简单的单片机系统
常用MCS-51系列单片机引脚功能说明
引脚定义
引脚功能
功能说明
Vcc
+5V电源
电源电压
Vss
地
电路接地端
P0。
0-P0。
7
通道0
8位漏极开路的双向I/O通道
P1。
0-P1.7
通道1
8位拟双向I/O通道
P2。
0—P2.7
通道2
8位拟双向I/O通道
P3。
0
RXD
串行输入口
P3.1
TXD
串行输出口
P3。
2
INT0
外部中断0输入口
P3。
3
INT1
外部中断1输入口
P3.4
T0
定时器/计数器0外部时间脉冲输入端
P3.5
T1
定时器/计数器1外部时间脉冲输入端
P3。
6
WR
外部数据存储器写脉冲
P3.7
RD
外部数据存储器读脉冲
RST/VPD
复位输入信号
该引脚上有2个机器周期的高电平可以实现复位操作,在掉电情况下将只给片内RAM供电
ALE/PROG
地址锁存有效信号
主要作用是提供一个适当的定时信号
PSEN
程序选通有效信号
低电平时,指令寄存器的内容读到数据总线上
EA/Vpp
片选使能
当保持TTL高电平时,8051执行内部ROM的指令;当使TTL为低电平时,从外部程序存储器取出所有指令
XTAL1
晶振输入端
内部振荡器外接晶振的一个输入端
XTAL2
晶振输入端
内部振荡器外接晶振的另一个输入端
提问:
什么是单片机系统、
提问:
单片机中晶振有什么作用?
回答:
单片机访问一次存储器的时间,称之为一个及其周期,是一个时间基准。
一个机器周期包括12个时钟周期。
如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12X(1/12us),也就是1us.
若是12MHz的晶振,当单片机中定时/计数器的数值加1时,实际经过的时间就是1us。
提示:
晶振电路,复位电路
基本电路图:
发光二极管导通压降通常为1。
7V—1。
9V;
为什么要接电阻?
电路原理及器件选择?
89C51:
单片机,控制发光二极管亮灭
OSC:
晶振,在本例中选择12MHz的立式晶振
C3,C2:
晶振电路的起振电容,容值为22pF
L1:
发光二极管
R1:
限流电阻,阻值为1k欧
地址分配和连接?
P1。
0:
与发光二极管电路相连,控制LED发光二极管阴极的电平高低
RESET:
复位引脚
X1,X2:
单片机的晶振引脚
程序设计:
延时程序:
我们先不使用单片机的定时器,而是直接采用软件的延时程序定时控制发光二极管的亮灭。
在12M晶振时,一个指令周期为1us,那么1M次就是1s。
程序代码:
#include h> sbitgate=P1^0;//位定义 voidmain(void) { unsignedinti,j; while (1) { for(i=1000;i〉0;i--)//双重循环,延时约1s for(j=1000;j〉0;j-—); gate=! gate;//对P10取反,控制小灯 } } 补充: 结合第五代开发板电路图可以看到… 1.2更加明亮的小灯 外加与非门做驱动电路,增大电流,当然也有相应的电子驱动芯片。 1.3定时亮灭的小灯 下面我们进入单片机最重要的内容之一,定时和中断。 1.什么是单片机的定时器? MSC—51单片机一般有两个内部的16位定时器/计数器,分别成为T0和T1。 分别有两个8位的RAM单元组成,即每个计数器都是16位的计数器,最大计数量为2的16次方等于65536. 而定时和计数的关系是什么呢? 找个同学告诉我吧。 定时器每完成一个时间的定时,计数器就加1. 2.一定要计满65536个数吗? 3。 如何使用MCS-51单片机的定时器呢? 定时器有两个特定的寄存器TMOD和TCON,就象定时器的操作界面。 首先介绍定时器/计数器的方式寄存器TMOD。 TMOD的控制字 TMOD。 7 TMOD.6 TMOD.5 TMOD。 4 TMOD。 3 TMOD。 2 TMOD。 1 TMOD.0 GATE C/T M1 M0 GATE C/T M1 M0 可以看到,高四位和第四位分别代表两个定时器/计数器,所以我们可以以TMOD第四位来说明各位的定义与功能。 GATE: 分为两种情况,GATE=0时,定时器的起停和INT1无关,在这种情况下,定时器的起停只取决与TR0。 GATE=1时,在此种情况下定时器/计数器的开关不仅要由TR0来控制,而且还要受到INT1引脚的控制,只有TR1为1时,且INT1引脚也是高电平,定时器才能开始工作。 C/T: 定时/计数器功能选择.如果C/T为0就做定时器,如果C/T为1就做计数器。 当然只能二选一。 M1,M0: 用M1,M0来控制定时器/计数器4种工作方式的选择. 工作方式0: M1=0,M0=0。 13位定时.计数方式。 它由TL(1/0)的低五位和TH(0/1)的8位构成13位的计数器,此时TL(1/0)的高3位未用。 工作方式1: M1=0,M0=1.是16位定时/计数方式,其他特性与工作方式0相同。 工作方式2: M1=1,M0=0。 自动重装初值的8位定时/计数器。 初值放在T(0/1)的高8位.在工作方式2,只有低8位参与计算,而高8位不参与计算,用作预置数存放,技术范围256.每当计数溢出,就会打开T(0/1)的高、低8位之间的开关,计预置数进入低8位.这是由硬件自动完成的。 通常这种方式用于波特率发生器(我们将在串行接口中讲解) 工作方式3: M1=1,M0=1.这种工作方式下,定时/计数器被拆成2个独立的定时/计数器来用。 其中,TL0可以构成8位的定时器或计数器的工作方式,儿TH0则只能作为定时器来用。 只有在T1以工作方式2运行时,才让T0以工作方式3运行。 然后,我们介绍控制寄存器TCON TCON控制寄存器 TCON.7 TCON.6 TCON。 5 TCON.4 TCON.3 TCON.2 TCON。 1 TCON.0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TR0: T0的运行控制位.启动定时器T0没有专门的指令,而是通过TR0进行控制。 当GATE=0时,T0的运行只取决于TR0的0和1;当门控位GATE=1时,仅当TR0=1,并且外中断0引脚上的输入值为高电平时,T0才开始计数,这两个条件缺一不可 TF0: T0的溢出和中断申请标志位。 当T0溢出时,硬件置位TF0,表示提出了中断申请。 该标志位可以通过软件查询,也可以用软件清零和置位,在单片机响应中断申请后,硬件自动清零。 TR1: TF1: 接下来我们来看一个典型的定时器程序。 要求: 定时10ms,P1.0反相。 //定义头文件和位定义 #include h〉 #include sbitP00=P0^0; sbitP13=P1^3; voidmain(void) { //初始化端口 P0=0xFF; P13=0; //初始化定时器 TMOD=0x01; TH0=0xD8; TL0=0xF0; //启动定时器,开中断 TR0=1; ET0=1; EA=1; //等待循环 while (1); } //定时器0中断服务子程序 voidtimer0_ISR(void)interrupt1using1 { //定时器初始重载 TH0=0xD8; TL0=0xF0; //操作 P00=! P00; } 到这里,大家肯定就会有疑惑,什么叫做中断服务子程序,什么又叫做中断.我们稍后解释。 这里需要提醒大家的是单片机定时/计数器各种工作方式下的最大计数量。 工作方式0: 13位,2的13次方等于8192次; 工作方式1: 16位,2的16次方等于65536次; 工作方式2和3: 都是8位的,2的8次方等于256次 那么就出现了一个问题,如果我想定时1s的话,该怎么做呢? 大家思考一下,然后我请个同学来回答。 下面我们一起来看看如何实现1s的定时亮灭。 #include #include〈stdio.h> #defineunitunsignedint #defineucharunsignedchar sbitP00=P0^0; sbitP13=P1^3; uintoverflow_count=0; voidmain(void) { P0=0xFF; P13=0; TMOD=0x01; TH0=0xD8; TL0=0xF0; TR0=1; ET0=1; EA=1; while (1) { If(overflow_count==100) {P00=! P00; Overflow_count=0; }; } voidtimer0_ISR(void)interrupt1using1 { TH0=0xD8; TL0=0xF0; Overflow_count++; } 完成了小灯定时亮灭,我们就基本学会了如何使用单片机定时器/计数器的使用方法。 下面,就让我们来看看前面留下的问题—-——“中断”. 定义: 中断属于一种对事件的实时处理过程,中断源可能随时停止CPU当前的工作,转而去处理中断服务程序,待中断服务程序完成后,再返回原来工作的断点处,继续原来的工作. 再者,我们需要知道,单片机内部有多个中断,分别是 定时/计数器0中断-———T0中断 定时/计数器1中断————T1中断 外中断0-——-INT0中断 外中断1—--—INT1中断 串口中断---—串口中断 那么,当不同的中断同时发出终端申请,自然就会有一个中断优先级的问题.优先级的问题不仅仅发生在两个中断同时产生的情况,也发生在一个中断已经产生而未结束,又有一个中断产生的情况。 最后,就是中断的响应过程。 具体来说可以分为以下几个步骤。 保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈; 寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址; 执行中断服务程序,用中断服务程序处理需要改变的变量或者事件; 中断返回,执行完中断服务程序后,从中断断点处返回主程序,继续执行主程序。 上面分什么是中断,中断优先级,中断的响应三个部分简单介绍了中断,下面我们来看看单片机中断系统有何作用.简单的说,单片机在自动控制中所起到的作用就两个,一个是定时/计数,另一个就是中断的使用.中断的作用如下: 第一、实现高速CPU和低速外设之间的配合,利用中断方式进行I/O口操作,在宏观上可以看成CPU和外设的并行工作; 第二、可以实现实时控制。 实时处理是控制系统对单片机提出的要求,各个设备可以随时向CPU发出中断申请,而CPU也必须做出快速响应和及时处理。 第三、实现故障的紧急处理。 当外设发生故障时,可以利用中断系统请求CPU及时处理这些故障。 第四、便于人机联系。 操作人员可以利用键盘等实现中断,完成人工介入。 接下来我们学习中断的使用! 中断系统主要包括5个中断请求源和4个控制寄存器IE,IP,TCON和SCON来控制中断申请,中断开关和中断优先级。 1.中断方式和标志位TCON TCON的低四位用于外部中断的控制,高4位用于T0,T1的控制。 TCON中的控制字 TCON.7 TCON。 6 TCON。 5 TCON。 4 TCON。 3 TCON.2 TCON。 1 TCON。 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 外部中断请求源 IT0: INT0触发方式控制位,可由软件进行置位和复位。 IT0=0,INT0为低电平触发方式;IT0=1,INT0为负跳变触发方式。 IE0: INT0中断请求标志位.当有外部中断的请求时,这位就会置1;在CPU响应中断后,IE0置0; IT1: IE1: 2.中断允许寄存器IE 中断允许寄存器IE IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE。 1 IE。 0 EA X X ES ET1 EX1 ET0 EX0 其中: EA: 总开关,如果它等于0,则所有中断都不允许 ES: 串行口中断允许 ET1: 定时器1中断允许 EX1: 外中断1中断允许 ET0: 定时器0中断允许 EX0: 外中断0中断允许 5个中断的自然优先级为: 外中断0----INT0中断----EX0 定时器0—-—-T0中断-———ET0 外中断1———-INT1中断-—-—EX1 定时器1———-T1中断-——-ET1 串口中断—--—串口中断——-—ES 中断优先级寄存器 — — — IP。 4 IP。 3 IP.2 IP。 1 IP.0 EA X X PS PT1 PX1 PT0 PX0 其中某位为1,那么就为高优先级。 了解了中断的控制,最后我们回到开始程序中的中断服务子程序。 函数格式为 返回值函数名称(【参数】)【模式】【重入】interruptn【usingn】 其中interruptn对应的是中断源的编号,而usingn决定了使用寄存器的组号。 而51系统中有四个寄存器组,取决与PSW的两位RS0和RS1的设置。 为了方便大家理解,我们给出不同中断服务程序的C51写法如下: 外中断INT0 voidintsvr0(void)interrupt0using1 定时/计数器T0 voidtimer0(void)interrupt1using1 外中断INT1 voidintsvr1(void)interrupt2using1 定时/计数器T1 voidtimer1(void)interrupt3using1 串口中断 voidserial0(void)interrupt4using1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 51 单片机 基本 端口 操作