51概述
alldatasheet.com 数据手册查询网址
上拉电阻:就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流的作用,下拉同理,也就是将不确定的信号通过一个电阻钳位在低电平
当P0口作为输入/输出口时,上电复位后处于开漏模式p0口内无上拉电阻,所以做I/O口必须外接10k-4.7k的上拉电阻
中断系统:
什么是中断系统: 计算机执行某程序时发生可紧急事件或有特殊请求,CPU暂停某程序的执行,转而去处理上述事件或请求,处理完毕后再重新执行某程序的过程叫做中断。
中断系统在单片机系统中的作用: 如何使用中断系统: 数据的输入、输出方式:
无条件传送方式:一方对另一方来说总是准备好的
查询传送方式(look up):传送前一方先查询另一方的状态,若已经准备好就传送,否则就继续查询/等待。
中断传送方式(IQR):一方通过申请中断的方式与另一方进行数据的传送
直接存储器存取的方式(DMA):双方直接通过总线传输数据,不经过cpu中转。适用于数据量大高速通讯的设备,不占用cpu时间
中断传输方式特点:
数据传送的双方平时各自做自己的工作一旦甲方要求与乙方进行数据的传输,就主动发出信号提出申请,乙方接受到申请后若同意传送,安排好当前的工作没在响应与甲方发生数据传送,完事后回去继续做打断的工作
中断功能强弱是计算机性能优劣的重要标志:(提高CPU效率,解速度矛盾,实行并行工作,应付突发事件)
单片机中断系统内部结构图:
如何使用单片机中断系统
中断优先级处理原则:
对同时发生多个中断申请是:
不同优先级的中断同时申请(很难遇到)–先高后低
对于优先级的中断同时申请:(很难遇到)–按序执行
正处理低优先级中断又接到高级别中断 --高打断低
正处理高优先级中断又接到低级别中断 --高不理低
51子系列允许5个中断源
在p34、p35引脚也属于中断系统芯片手册里面的 描述方式不同 (计时器1/2的外部输入)相当于计时器0/1中断,因为该中断方式是由T0/T1回零溢出引起的
T1/RI (则几个内部的中断源的控制为分别锁存在特殊功能寄存器TCON和SCON中)
51单片机中断系统内部结构图
中断系统的产生时特殊功能 寄存器tcom产生的在其内部配置不同的高低电平产生不同的响应(上升沿、下降沿)
使用中断的配置
1. 配置允许中断
使用中断配置时先配置IE先将EA(CPU总中断允许位)置于高电位(相当于中断总开关)在打开外部中断允许位EX1/EX0
2.配置中断方式
定时计数器
16位是指定时间/计数器内部分别有16位的计数寄存器
该单片机在定时模式下最高单次定时时间为65535*1.085us
当工作在计数器模式时,T0(P3.4脚),T1(P3.5引脚),每来一个脉冲计数寄存器加一;
使用51定时/计数器步骤:
-
启动定时/计数器(通过TCON控制器) -
设置定时/计数器工作模式(通过TMOD控制器) -
查询定时/计数器是否溢出(读TCON内TF位)
控制器/计数器控制寄存器TCON
计数器自身实现了位寻址功能直接操作位
单片机中断系统内部结构图指明:中断系统中存在(TCON、IE、IP、硬件查询)这几个部分
TCON为定时器/计数器T0/T1的控制寄存器同时也锁存T0\T1溢出中断源和外部请求中断源。
TMOD:不可位寻址
I2C总线:
常用的串行总线协议:
组成及工作原理:
IIC总线可以悬挂多个器件,每一个器件都有唯一的地址,这样可以标识通信目标。
在多主机系统中可能存在几个主机企图启动总线传输数据,为了避免混乱,IIC总线要通过总线仲裁,以决定那一台主机控制总线,在80c51单片机中的串行总线扩展中,以单片机为主机,其他接口为从机的单主机情况。
iIC总线通过上拉电阻接正电源,在总线空闲时两根线均为高电平。连到总线上的任一器件输出的低电平,都将使中线的信号变低即各器件与SDA及SCL都是“与”关系
具有IIC接口的器件是一个漏极开路的电路
场效应管:(漏极D、源极S、栅极G)
使用定时计数器步骤:
- 启动定时/计数器()通过tcon控制器
- 设置定时/计数器工作模式(通过tmod控制器)
- 查询定时/计数器是否溢出(读取tcon内tf位)
- 所定时间是以um为单位,定时时间起始是65535-机器周期*定时时间
串口中断配置
1.设置t1的工作方式(编程tmod寄存器) 2.计算t1的初值,装载th1、tl1 3.启动t1(编程tcon寄存器) 4.确定串行口控制(编程scon寄存器) 5.如需串行口在中断方式工作时,要进行中断设置编程IE寄存
IIC总线使用步骤:
1.开始信号与终止条件:
2.发送一个字节:
2.1接受一个字节:
3.发送与接收应答:
4.发送一帧数据:
5.先发送再发送一帧数据:
AT24C02数据帧:
LCD1602:
RS:数据指令选择(1为数据,0为指令) RW:读写选择(1为读,0为写) E:使能(1为数据有效,下降沿执行命令) LCD1602内部结构框图:
LCD1602操作流程:
LCD1602内部存储结构
LCD1602时序结构
LCD1602内部存储结构
LCD1602时序结构
指令集:
|